From 824185c639ffdca745878606125fe476c4434af2 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 17 May 2018 17:03:14 -0700 Subject: [PATCH 01/60] Initial commit of merged branches and cleanup --- .babelrc | 8 +- .eslintrc | 4 + .gitignore | 7 +- .npmignore | 3 + .storybook/config.js | 7 + .storybook/webpack.config.js | 18 + README.md | 7 + examples/common/data.js | 20 +- examples/css-layout/app.js | 4 +- examples/custom-draw-es6/app.js | 95 + examples/custom-draw-es6/index.html | 17 + examples/custom-draw/app.js | 94 + examples/custom-draw/index.html | 17 + examples/gradient/app.js | 14 +- examples/listview/app.js | 3 + examples/listview/components/Item.js | 9 +- examples/timeline/app.js | 5 +- examples/timeline/components/Page.js | 3 +- gulpfile.js | 38 - index.js | 2 + lib/Easing.js | 36 - lib/EventTypes.js | 13 - lib/ReactCanvas.js | 17 - lib/__tests__/clamp-test.js | 17 - package-lock.json | 1926 ++++++ package.json | 58 +- {lib => src}/Canvas.js | 2 +- {lib => src}/CanvasUtils.js | 14 +- {lib => src}/ContainerMixin.js | 9 +- {lib => src}/DrawingUtils.js | 90 +- src/Easing.js | 40 + src/EventTypes.js | 21 + {lib => src}/FontFace.js | 2 +- {lib => src}/FontUtils.js | 14 +- {lib => src}/FrameUtils.js | 16 +- {lib => src}/Gradient.js | 10 +- {lib => src}/Group.js | 10 +- {lib => src}/Image.js | 77 +- {lib => src}/ImageCache.js | 6 +- {lib => src}/Layer.js | 8 +- {lib => src}/LayerMixin.js | 9 +- {lib => src}/Layout.js | 4 +- {lib => src}/ListView.js | 111 +- {lib => src}/RenderLayer.js | 12 +- {lib => src}/Surface.js | 67 +- {lib => src}/Text.js | 6 +- {lib => src}/clamp.js | 2 +- src/createCanvasComponent.js | 42 + {lib => src}/createComponent.js | 9 +- {lib => src}/hitTest.js | 16 +- src/index.js | 29 + {lib => src}/layoutNode.js | 4 +- {lib => src}/measureText.js | 11 +- stories/canvasStory.js | 50 + stories/customDrawStory.js | 103 + stories/foo.js | 14 + stories/heatmapStory.js | 119 + stories/index.js | 4 + stories/listviewStory.js | 180 + tools/rollup_build.js | 98 + webpack.config.babel.js | 34 + webpack.config.js | 32 - yarn.lock | 9064 ++++++++++++++++++++++++++ 63 files changed, 12319 insertions(+), 462 deletions(-) create mode 100644 .eslintrc create mode 100644 .npmignore create mode 100644 .storybook/config.js create mode 100644 .storybook/webpack.config.js create mode 100644 examples/custom-draw-es6/app.js create mode 100644 examples/custom-draw-es6/index.html create mode 100644 examples/custom-draw/app.js create mode 100644 examples/custom-draw/index.html delete mode 100644 gulpfile.js create mode 100644 index.js delete mode 100644 lib/Easing.js delete mode 100755 lib/EventTypes.js delete mode 100644 lib/ReactCanvas.js delete mode 100644 lib/__tests__/clamp-test.js create mode 100644 package-lock.json rename {lib => src}/Canvas.js (97%) rename {lib => src}/CanvasUtils.js (96%) rename {lib => src}/ContainerMixin.js (95%) rename {lib => src}/DrawingUtils.js (85%) create mode 100644 src/Easing.js create mode 100755 src/EventTypes.js rename {lib => src}/FontFace.js (97%) rename {lib => src}/FontUtils.js (95%) rename {lib => src}/FrameUtils.js (94%) rename {lib => src}/Gradient.js (78%) rename {lib => src}/Group.js (80%) rename {lib => src}/Image.js (73%) rename {lib => src}/ImageCache.js (97%) rename {lib => src}/Layer.js (76%) rename {lib => src}/LayerMixin.js (89%) rename {lib => src}/Layout.js (99%) rename {lib => src}/ListView.js (73%) rename {lib => src}/RenderLayer.js (94%) rename {lib => src}/Surface.js (79%) rename {lib => src}/Text.js (91%) rename {lib => src}/clamp.js (82%) create mode 100644 src/createCanvasComponent.js rename {lib => src}/createComponent.js (83%) rename {lib => src}/hitTest.js (84%) create mode 100644 src/index.js rename {lib => src}/layoutNode.js (93%) rename {lib => src}/measureText.js (87%) create mode 100644 stories/canvasStory.js create mode 100644 stories/customDrawStory.js create mode 100644 stories/foo.js create mode 100644 stories/heatmapStory.js create mode 100644 stories/index.js create mode 100644 stories/listviewStory.js create mode 100644 tools/rollup_build.js create mode 100644 webpack.config.babel.js delete mode 100644 webpack.config.js create mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc index 1515f32..5922d86 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,7 @@ { - "presets": ["react"] -} \ No newline at end of file + "presets": [ + "es2015", + "react", + "stage-2" + ] +} diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..0445966 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,4 @@ +{ + "parser": "babel-eslint", + "extends": "eslint:recommended" +} diff --git a/.gitignore b/.gitignore index 4a5946c..a0ad9eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -build node_modules -yarn.lock -npm-debug.log \ No newline at end of file +npm-debug.log +dist/ +.idea +storybook-static diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..30a2948 --- /dev/null +++ b/.npmignore @@ -0,0 +1,3 @@ +build +.idea +node_modules diff --git a/.storybook/config.js b/.storybook/config.js new file mode 100644 index 0000000..9154670 --- /dev/null +++ b/.storybook/config.js @@ -0,0 +1,7 @@ +import { configure } from '@storybook/react'; + +function loadStories() { + require('../stories'); +} + +configure(loadStories, module); diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js new file mode 100644 index 0000000..17cc9b3 --- /dev/null +++ b/.storybook/webpack.config.js @@ -0,0 +1,18 @@ +// you can use this file to add your custom webpack plugins, loaders and anything you like. +// This is just the basic way to add additional webpack configurations. +// For more information refer the docs: https://storybook.js.org/configurations/custom-webpack-config + +// IMPORTANT +// When you add this file, we won't add the default configurations which is similar +// to "React Create App". This only has babel loader to load JavaScript. + +module.exports = { + plugins: [ + // your custom plugins + ], + module: { + loaders: [ + // add your custom loaders. + ], + }, +}; diff --git a/README.md b/README.md index 6030aff..91a4c97 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ # react-canvas +This is a fork of [Flipboard/react-canvas](https://github.com/Flipboard/react-canvas) which: +- Fixes all deprecation warnings from [React v15.5](https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#new-deprecation-warnings) in preparation for React v16 +- Converts to ES modules with a [Rollup](https://github.com/rollup/rollup) build process to create CommonJS and ES modules versions of this package. +- Removes the need to use [brfs](https://github.com/substack/brfs) and `transform-loader` when using webpack. + +# Original repo's README + [Introductory blog post](http://engineering.flipboard.com/2015/02/mobile-web) React Canvas adds the ability for React components to render to `` rather than DOM. diff --git a/examples/common/data.js b/examples/common/data.js index 541e365..b86730c 100644 --- a/examples/common/data.js +++ b/examples/common/data.js @@ -2,51 +2,51 @@ module.exports = [ { title: '10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous', excerpt: 'With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.', - imageUrl: 'https://placekitten.com/360/420' + imageUrl: 'http://lorempixel.com/360/420/cats/1/' }, { title: 'Will Batman Save Leaf Blowing?', excerpt: 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', - imageUrl: 'https://placekitten.com/361/421' + imageUrl: 'http://lorempixel.com/360/420/cats/2/' }, { title: '8 Scary Things Your Professor Is Using Against You', excerpt: 'For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.', - imageUrl: 'https://placekitten.com/362/422' + imageUrl: 'http://lorempixel.com/360/420/cats/3/' }, { title: 'Kanye West\'s Top 10 Scandalous Microsoft Excel Secrets', excerpt: 'My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.', - imageUrl: 'https://placekitten.com/363/423' + imageUrl: 'http://lorempixel.com/360/420/cats/4/' }, { title: 'The Embarassing Secrets Of Julia Roberts', excerpt: 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', - imageUrl: 'https://placekitten.com/364/424' + imageUrl: 'http://lorempixel.com/360/420/cats/5/' }, { title: '20 Unbelievable Things Girlfriends Won\'t Tell Their Friends', excerpt: 'On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell\'s departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.', - imageUrl: 'https://placekitten.com/365/425' + imageUrl: 'http://lorempixel.com/360/420/cats/6/' }, { title: 'Can Vladimir Putin Save Beard Care?', excerpt: 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', - imageUrl: 'https://placekitten.com/366/426' + imageUrl: 'http://lorempixel.com/360/420/cats/7/' }, { title: '15 Truths That Will Make Your Psychiatrist Feel Ashamed', excerpt: 'Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.', - imageUrl: 'https://placekitten.com/367/427' + imageUrl: 'http://lorempixel.com/360/420/cats/8/' }, { title: '6 Terrible Facts That Make Boyfriends Stronger', excerpt: 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', - imageUrl: 'https://placekitten.com/368/428' + imageUrl: 'http://lorempixel.com/360/420/cats/9/' }, { title: '5 Surprising Dental Care Tips From Robert De Niro', excerpt: 'At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o\'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.', - imageUrl: 'https://placekitten.com/369/429' + imageUrl: 'http://lorempixel.com/360/420/cats/10/' }, ]; diff --git a/examples/css-layout/app.js b/examples/css-layout/app.js index 495513c..3c12b15 100644 --- a/examples/css-layout/app.js +++ b/examples/css-layout/app.js @@ -1,3 +1,5 @@ +/** @jsx React.DOM */ + var React = require('react'); var ReactDOM = require('react-dom'); var ReactCanvas = require('react-canvas'); @@ -23,7 +25,7 @@ var App = React.createClass({ Professor PuddinPop - + With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land. diff --git a/examples/custom-draw-es6/app.js b/examples/custom-draw-es6/app.js new file mode 100644 index 0000000..f1df6be --- /dev/null +++ b/examples/custom-draw-es6/app.js @@ -0,0 +1,95 @@ +/** @jsx React.DOM */ + +'use strict'; + +var React = require('react'); +var ReactDom = require('react-dom'); + + + +import ReactCanvas from '../../lib/ReactCanvas'; +const {registerLayerType, Surface } = ReactCanvas; + +registerLayerType('circle', function (ctx, layer) { + var x = layer.frame.x; + var y = layer.frame.y; + var width = layer.frame.width; + var height = layer.frame.height; + var centerX = x + width / 2; + var centerY = y + height / 2; + + var fillColor = layer.backgroundColor || '#FFF'; + var strokeColor = layer.borderColor || '#FFF'; + var strokeWidth = layer.borderWidth || 0; + + var shadowColor = layer.shadowColor || 0; + var shadowOffsetX = layer.shadowOffsetX || 0; + var shadowOffsetY = layer.shadowOffsetY || 0; + var shadowBlur = layer.shadowBlur || 0; + + var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); + + + + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); + if (shadowOffsetX || shadowOffsetY) { + ctx.shadowColor = shadowColor; + ctx.shadowBlur = shadowBlur; + ctx.shadowOffsetX = shadowOffsetX; + ctx.shadowOffsetY = shadowOffsetY; + } + + ctx.fillStyle = fillColor; + ctx.fill(); + if (strokeWidth > 0) { + ctx.lineWidth = strokeWidth; + ctx.strokeStyle = strokeColor; + ctx.stroke(); + } +}); + +var Circle = ReactCanvas.createCanvasComponent({ + displayName: 'Circle', + layerType: 'circle', + + applyCustomProps: function (prevProps, props) { + var style = props.style || {}; + var layer = this.node; + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; + } +}); + + + +var App = React.createClass({ + + render: function () { + return ( + + + + ); + }, + +}); + +ReactDom.render(, document.getElementById('main')); diff --git a/examples/custom-draw-es6/index.html b/examples/custom-draw-es6/index.html new file mode 100644 index 0000000..b2ab84c --- /dev/null +++ b/examples/custom-draw-es6/index.html @@ -0,0 +1,17 @@ + + + + + + ReactCanvas: ListView + + + + + +
+ + + diff --git a/examples/custom-draw/app.js b/examples/custom-draw/app.js new file mode 100644 index 0000000..e9c6001 --- /dev/null +++ b/examples/custom-draw/app.js @@ -0,0 +1,94 @@ +/** @jsx React.DOM */ + +'use strict'; + +var React = require('react'); +var ReactDom = require('react-dom'); + + +import ReactCanvas from '../../lib/ReactCanvas'; +const {registerLayerType, Surface, Group} = ReactCanvas; + +registerLayerType('circle', function (ctx, layer) { + var x = layer.frame.x; + var y = layer.frame.y; + var width = layer.frame.width; + var height = layer.frame.height; + var centerX = x + width / 2; + var centerY = y + height / 2; + + var fillColor = layer.backgroundColor || '#FFF'; + var strokeColor = layer.borderColor || '#FFF'; + var strokeWidth = layer.borderWidth || 0; + + var shadowColor = layer.shadowColor || 0; + var shadowOffsetX = layer.shadowOffsetX || 0; + var shadowOffsetY = layer.shadowOffsetY || 0; + var shadowBlur = layer.shadowBlur || 0; + + var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); + + + + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); + if (shadowOffsetX || shadowOffsetY) { + ctx.shadowColor = shadowColor; + ctx.shadowBlur = shadowBlur; + ctx.shadowOffsetX = shadowOffsetX; + ctx.shadowOffsetY = shadowOffsetY; + } + + ctx.fillStyle = fillColor; + ctx.fill(); + if (strokeWidth > 0) { + ctx.lineWidth = strokeWidth; + ctx.strokeStyle = strokeColor; + ctx.stroke(); + } +}); + +var Circle = ReactCanvas.createCanvasComponent({ + displayName: 'Circle', + layerType: 'circle', + + applyCustomProps: function (prevProps, props) { + var style = props.style || {}; + var layer = this.node; + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; + } +}); + + + +var App = React.createClass({ + + render: function () { + return ( + + + + ); + }, + +}); + +ReactDom.render(, document.getElementById('main')); diff --git a/examples/custom-draw/index.html b/examples/custom-draw/index.html new file mode 100644 index 0000000..71b6817 --- /dev/null +++ b/examples/custom-draw/index.html @@ -0,0 +1,17 @@ + + + + + + ReactCanvas: ListView + + + + + +
+ + + diff --git a/examples/gradient/app.js b/examples/gradient/app.js index 8af9fd2..a8138be 100644 --- a/examples/gradient/app.js +++ b/examples/gradient/app.js @@ -1,11 +1,6 @@ -'use strict'; +import React from 'react'; +import {Gradient, Surface} from 'react-canvas'; -var React = require('react'); -var ReactDOM = require('react-dom'); -var ReactCanvas = require('react-canvas'); - -var Gradient = ReactCanvas.Gradient; -var Surface = ReactCanvas.Surface; var App = React.createClass({ @@ -37,9 +32,10 @@ var App = React.createClass({ }, getSize: function () { - return document.getElementById('main').getBoundingClientRect(); + return {top: 0, right: 80, bottom: 80, left: 0, width: 80, height: 80} } }); -ReactDOM.render(, document.getElementById('main')); +export default App; + diff --git a/examples/listview/app.js b/examples/listview/app.js index d80d616..7459fb4 100644 --- a/examples/listview/app.js +++ b/examples/listview/app.js @@ -1,3 +1,5 @@ +/** @jsx React.DOM */ + 'use strict'; var React = require('react'); @@ -9,6 +11,7 @@ var articles = require('../common/data'); var Surface = ReactCanvas.Surface; var ListView = ReactCanvas.ListView; + var App = React.createClass({ render: function () { diff --git a/examples/listview/components/Item.js b/examples/listview/components/Item.js index 2dc6333..e8abfc2 100644 --- a/examples/listview/components/Item.js +++ b/examples/listview/components/Item.js @@ -1,13 +1,10 @@ -'use strict'; +import React from 'react'; -var React = require('react'); var ReactCanvas = require('react-canvas'); -var Group = ReactCanvas.Group; -var Image = ReactCanvas.Image; -var Text = ReactCanvas.Text; +const { Group, Image, Text } = ReactCanvas; -var Item = React.createClass({ +const Item = React.createClass({ propTypes: { width: React.PropTypes.number.isRequired, diff --git a/examples/timeline/app.js b/examples/timeline/app.js index aa469e5..d1e9e03 100644 --- a/examples/timeline/app.js +++ b/examples/timeline/app.js @@ -1,3 +1,5 @@ +/** @jsx React.DOM */ + 'use strict'; var React = require('react'); @@ -54,7 +56,8 @@ var App = React.createClass({ top: 0, left: 0, width: size.width, - height: size.height + height: size.height, + backgroundColor: "#320000" }; }, diff --git a/examples/timeline/components/Page.js b/examples/timeline/components/Page.js index 7984f23..e181f3b 100644 --- a/examples/timeline/components/Page.js +++ b/examples/timeline/components/Page.js @@ -1,6 +1,5 @@ -'use strict'; +import React from 'react'; -var React = require('react'); var ReactCanvas = require('react-canvas'); var Group = ReactCanvas.Group; diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 0abeeb5..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,38 +0,0 @@ -var gulp = require('gulp'); -var del = require('del'); -var connect = require('gulp-connect'); -var webpack = require('webpack-stream'); -var webpackConfig = require('./webpack.config.js'); - -var port = process.env.PORT || 8080; -var reloadPort = process.env.RELOAD_PORT || 35729; - -gulp.task('clean', function () { - del(['build']); -}); - -gulp.task('build', function () { - return gulp.src(webpackConfig.entry.timeline[0]) - .pipe(webpack(webpackConfig)) - .pipe(gulp.dest('build/')); -}); - -gulp.task('serve', function () { - connect.server({ - port: port, - livereload: { - port: reloadPort - } - }); -}); - -gulp.task('reload-js', function () { - return gulp.src('./build/*.js') - .pipe(connect.reload()); -}); - -gulp.task('watch', function () { - gulp.watch(['./build/*.js'], ['reload-js']); -}); - -gulp.task('default', ['clean', 'build', 'serve', 'watch']); diff --git a/index.js b/index.js new file mode 100644 index 0000000..dda6cc9 --- /dev/null +++ b/index.js @@ -0,0 +1,2 @@ +import ReactCanvas from './src/index' +export default ReactCanvas; diff --git a/lib/Easing.js b/lib/Easing.js deleted file mode 100644 index aeba3ba..0000000 --- a/lib/Easing.js +++ /dev/null @@ -1,36 +0,0 @@ -// Penner easing equations -// https://gist.github.com/gre/1650294 - -var Easing = { - - linear: function (t) { - return t; - }, - - easeInQuad: function (t) { - return Math.pow(t, 2); - }, - - easeOutQuad: function (t) { - return t * (2-t); - }, - - easeInOutQuad: function (t) { - return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t; - }, - - easeInCubic: function (t) { - return t * t * t; - }, - - easeOutCubic: function (t) { - return (--t) * t * t + 1; - }, - - easeInOutCubic: function (t) { - return t < .5 ? 4 * t * t * t : (t-1) * (2*t - 2) * (2*t - 2) + 1; - } - -}; - -module.exports = Easing; diff --git a/lib/EventTypes.js b/lib/EventTypes.js deleted file mode 100755 index f8bc1cc..0000000 --- a/lib/EventTypes.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -// Supported events that RenderLayer's can subscribe to. - -module.exports = { - onTouchStart: 'touchstart', - onTouchMove: 'touchmove', - onTouchEnd: 'touchend', - onTouchCancel: 'touchcancel', - onClick: 'click', - onContextMenu: 'contextmenu', - onDoubleClick: 'dblclick' -}; diff --git a/lib/ReactCanvas.js b/lib/ReactCanvas.js deleted file mode 100644 index 419ee01..0000000 --- a/lib/ReactCanvas.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var ReactCanvas = { - Surface: require('./Surface'), - - Layer: require('./Layer'), - Group: require('./Group'), - Image: require('./Image'), - Text: require('./Text'), - ListView: require('./ListView'), - Gradient: require('./Gradient'), - - FontFace: require('./FontFace'), - measureText: require('./measureText') -}; - -module.exports = ReactCanvas; diff --git a/lib/__tests__/clamp-test.js b/lib/__tests__/clamp-test.js deleted file mode 100644 index bd7b291..0000000 --- a/lib/__tests__/clamp-test.js +++ /dev/null @@ -1,17 +0,0 @@ -jest.dontMock('../clamp.js'); - -var clamp = require('../clamp'); - -describe('clamp', function() { - it('returns the min if n is less than min', function() { - expect(clamp(-1, 0, 1)).toBe(0); - }); - - it('returns the max if n is greater than max', function() { - expect(clamp(2, 0, 1)).toBe(1); - }); - - it('returns n if n is between min and max', function() { - expect(clamp(0.5, 0, 1)).toBe(0.5); - }); -}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3b6dbb6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1926 @@ +{ + "name": "@craigmorton/react-canvas", + "version": "1.4.0", + "lockfileVersion": 1, + "dependencies": { + "@comandeer/babel-plugin-banner": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@comandeer/babel-plugin-banner/-/babel-plugin-banner-1.0.0.tgz", + "integrity": "sha1-QLzOC77ghLWwJUWjNjXQU8JINW8=", + "dev": true + }, + "@craigmorton/linebreak": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@craigmorton/linebreak/-/linebreak-0.4.5.tgz", + "integrity": "sha1-s6l4eES8WtlU7tI8d4ulZ2nnjS8=" + }, + "abstract-leveldown": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz", + "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=", + "dev": true, + "dependencies": { + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true + }, + "arr-flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz", + "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "asap": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", + "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=" + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "dev": true + }, + "atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true + }, + "babel-core": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", + "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "dev": true + }, + "babel-generator": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", + "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "dev": true + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true + }, + "babel-helper-define-map": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", + "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", + "dev": true + }, + "babel-helper-evaluate-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.1.0.tgz", + "integrity": "sha1-ldmMTqNhUEg9sufT7J4ZVKcmKcs=", + "dev": true + }, + "babel-helper-flip-expressions": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.1.2.tgz", + "integrity": "sha1-d/ZlL53pxCQB2Ce9RuvSEJ4+8Yo=", + "dev": true + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true + }, + "babel-helper-is-nodes-equiv": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", + "dev": true + }, + "babel-helper-is-void-0": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.1.1.tgz", + "integrity": "sha1-cvIaOrugvvODf5F0/KcxrtmgKIg=", + "dev": true + }, + "babel-helper-mark-eval-scopes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.1.1.tgz", + "integrity": "sha1-RVQ0Xt+fJUlCe9IJjlMCU/ivKZI=", + "dev": true + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true + }, + "babel-helper-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", + "dev": true + }, + "babel-helper-remove-or-void": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.1.1.tgz", + "integrity": "sha1-nX4YVtxvr8tBsoOkFnMNwYRPZtc=", + "dev": true + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true + }, + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.1.1.tgz", + "integrity": "sha1-XxuDKznkrPlU6RN/AlE5XHEZazU=", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true + }, + "babel-plugin-external-helpers": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", + "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "dev": true + }, + "babel-plugin-minify-builtins": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.1.3.tgz", + "integrity": "sha1-TyGn3LUfkaBOpx1H/w6OOwX+wCE=", + "dev": true + }, + "babel-plugin-minify-constant-folding": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.1.3.tgz", + "integrity": "sha1-V70XKt+LjXStfJlhLrlQQU6+o8o=", + "dev": true + }, + "babel-plugin-minify-dead-code-elimination": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.7.tgz", + "integrity": "sha1-d09TbzR7mDk6J7qnF4cpaIE8NCw=", + "dev": true + }, + "babel-plugin-minify-flip-comparisons": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.1.2.tgz", + "integrity": "sha1-4oa0C3WZsY3+oZUHHkJ5Rlz8GIQ=", + "dev": true + }, + "babel-plugin-minify-guarded-expressions": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.1.2.tgz", + "integrity": "sha1-38PUc7A2LZYF084KweIjKMYNEAc=", + "dev": true + }, + "babel-plugin-minify-infinity": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.1.2.tgz", + "integrity": "sha1-Xxz2fd7cuhPIoA2oMlQt8AkaHNQ=", + "dev": true + }, + "babel-plugin-minify-mangle-names": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.1.3.tgz", + "integrity": "sha1-v6JGYaZ5T7A4M1h+VYKLZUSeBv4=", + "dev": true + }, + "babel-plugin-minify-numeric-literals": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.1.1.tgz", + "integrity": "sha1-1LiwySX4dHFO4z7ksmZ4WD185/s=", + "dev": true + }, + "babel-plugin-minify-replace": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.1.2.tgz", + "integrity": "sha1-uQuecatNOzYyVimpG+q+E7CxasE=", + "dev": true + }, + "babel-plugin-minify-simplify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.1.2.tgz", + "integrity": "sha1-qWjxZY/esvx1noH+Mx2Jgp3w9rk=", + "dev": true + }, + "babel-plugin-minify-type-constructors": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.1.2.tgz", + "integrity": "sha1-21PFt2y44vzUXYYvFxBMeHYTN+4=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", + "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", + "dev": true + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", + "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.1.2.tgz", + "integrity": "sha1-VELp8cGceKeJn4pN7m/UgfYQAfU=", + "dev": true + }, + "babel-plugin-transform-member-expression-literals": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.4.tgz", + "integrity": "sha1-BWebxAWWuRKTQBlZqhYgqxsr5Dc=", + "dev": true + }, + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.5.tgz", + "integrity": "sha1-A6vfEHxhJBkT6yaN3t5tW8VBhiw=", + "dev": true + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.2.tgz", + "integrity": "sha1-hFFXn3BucCweGrJ1beXI6jac8Hw=", + "dev": true + }, + "babel-plugin-transform-property-literals": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.4.tgz", + "integrity": "sha1-atMREQuAoZKlbvtd30/jym96Ydo=", + "dev": true + }, + "babel-plugin-transform-regenerator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", + "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", + "dev": true + }, + "babel-plugin-transform-regexp-constructors": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.1.1.tgz", + "integrity": "sha1-MSq3SHzIihxi7iXqG2CH6JuHeZw=", + "dev": true + }, + "babel-plugin-transform-remove-console": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.4.tgz", + "integrity": "sha1-Qf3awZpymkw91+8pZOrAewlvmo8=", + "dev": true + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.4.tgz", + "integrity": "sha1-+FcEoIrapxtV13AFtblOm53yH24=", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.1.2.tgz", + "integrity": "sha1-4ev1ERD2seBmXyg4Lvc/leUCNlI=", + "dev": true + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.4.tgz", + "integrity": "sha1-KqJKJi1mTIyz4SWjBseY16LeCNU=", + "dev": true + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.2.tgz", + "integrity": "sha1-/isdKU6wXodSTrk3JN6m4sPWb6E=", + "dev": true + }, + "babel-preset-babili": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-babili/-/babel-preset-babili-0.1.4.tgz", + "integrity": "sha1-rZ1mUQAvW8PwfKswB4EWf1RyS/I=", + "dev": true + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true + }, + "babel-register": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", + "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", + "dev": true, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "dev": true, + "dependencies": { + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "dev": true + }, + "babel-traverse": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "dev": true + }, + "babel-types": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "dev": true + }, + "babylon": { + "version": "6.17.4", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", + "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" + }, + "bl": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", + "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "bn.js": { + "version": "4.11.7", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", + "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", + "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "dev": true + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true + }, + "browserify-fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-fs/-/browserify-fs-1.0.0.tgz", + "integrity": "sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8=", + "dev": true + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true + }, + "buffer-es6": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/buffer-es6/-/buffer-es6-4.9.3.tgz", + "integrity": "sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "cipher-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", + "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", + "dev": true + }, + "clone": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz", + "integrity": "sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true + }, + "create-react-class": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", + "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=" + }, + "crypto-browserify": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", + "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "dev": true + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true + }, + "deferred-leveldown": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz", + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "estree-walker": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", + "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", + "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true + }, + "fbjs": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", + "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=" + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fwd-stream": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", + "integrity": "sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", + "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" + }, + "idb-wrapper": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.1.tgz", + "integrity": "sha1-ajJnASLhc6hOzFz6lmj6LOsiGwQ=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true + }, + "is": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/is/-/is-0.2.7.tgz", + "integrity": "sha1-OzSixI81mXLzUEKEkZOucmS2NWI=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true + }, + "is-object": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz", + "integrity": "sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbuffer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/isbuffer/-/isbuffer-0.0.0.tgz", + "integrity": "sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + }, + "level-blobs": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz", + "integrity": "sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "level-filesystem": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz", + "integrity": "sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=", + "dev": true + }, + "level-fix-range": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-1.0.2.tgz", + "integrity": "sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=", + "dev": true + }, + "level-hooks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz", + "integrity": "sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=", + "dev": true + }, + "level-js": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz", + "integrity": "sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=", + "dev": true, + "dependencies": { + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true + } + } + }, + "level-peek": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz", + "integrity": "sha1-vsUccqgu5GTTNkNMfIdsP8vM538=", + "dev": true + }, + "level-sublevel": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz", + "integrity": "sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=", + "dev": true, + "dependencies": { + "level-fix-range": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz", + "integrity": "sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=", + "dev": true + }, + "xtend": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz", + "integrity": "sha1-XqZXptukRwacLlnFihE4ywxebO4=", + "dev": true + } + } + }, + "levelup": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz", + "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" + }, + "ltgt": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.0.tgz", + "integrity": "sha1-tlul/LNJopkkyOMz98alVi8uSEI=", + "dev": true + }, + "magic-string": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz", + "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true + }, + "miller-rabin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", + "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node-fetch": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz", + "integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz", + "integrity": "sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true + }, + "octal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz", + "integrity": "sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-map": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", + "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "pbkdf2": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", + "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "private": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", + "dev": true + }, + "process-es6": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz", + "integrity": "sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" + }, + "prop-types": { + "version": "15.5.10", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", + "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=" + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true + }, + "regenerate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", + "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + }, + "regenerator-transform": { + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", + "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", + "dev": true + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true + }, + "resolve": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", + "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true + }, + "rollup": { + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.43.0.tgz", + "integrity": "sha512-XqpEPAMHCJ4VcT95ApyGQC7MncjGcG6UtcU5geONqPfN2uAROGmJDE3cOi325S19rhklbM+BXIHNX35l+1zmAg==", + "dev": true + }, + "rollup-plugin-babel": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz", + "integrity": "sha1-FlKBl7D5OKFTb0RoPHqT1XMYL1c=", + "dev": true, + "dependencies": { + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true + } + } + }, + "rollup-plugin-babili": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babili/-/rollup-plugin-babili-3.1.0.tgz", + "integrity": "sha512-P4S36bhpMwgyzkSCgcZ/UXhxDYOlsAhLfG/2oKM2wfsEqDhXvLtXXFojmARpo24857cUauWCt/ha4UL5Z5t6Mg==", + "dev": true + }, + "rollup-plugin-commonjs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.0.2.tgz", + "integrity": "sha1-mLFYm/4ypsD2d5C2DAtJmXKv7Yk=", + "dev": true + }, + "rollup-plugin-node-builtins": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz", + "integrity": "sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=", + "dev": true + }, + "rollup-plugin-node-resolve": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", + "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", + "dev": true + }, + "rollup-plugin-sourcemaps": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz", + "integrity": "sha1-YhJaqUCHqt97g+9N+vYptHMTXoc=", + "dev": true + }, + "rollup-pluginutils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", + "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "scroller": { + "version": "git://github.com/mjohnston/scroller.git#054c3349d5ff7474589eb7fbbb36708e5c48e435" + }, + "semver": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz", + "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "sha.js": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", + "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.0.tgz", + "integrity": "sha1-/K0LZLcK+ydpnkJZUMtevNQQvCA=", + "dev": true + }, + "source-map-support": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", + "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "dev": true + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true + }, + "string-range": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz", + "integrity": "sha1-qJPtNH5yKZvIO++78qaSqNI51d0=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tiny-inflate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz", + "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz", + "integrity": "sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz", + "integrity": "sha1-zZ3S+GSTs/RNvu7zeA/adMXuFL4=" + }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "vlq": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz", + "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=", + "dev": true + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", + "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=", + "dev": true + } + } +} diff --git a/package.json b/package.json index 3d8cdbf..f2e02d0 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,18 @@ { - "name": "react-canvas", - "version": "1.3.0", + "name": "@craigmorton/react-canvas", + "version": "1.4.0", "description": "High performance rendering for React components", - "main": "lib/ReactCanvas.js", + "main": "index.js", + "module": "dist/index.js", "repository": { "type": "git", - "url": "https://github.com/Flipboard/react-canvas.git" + "url": "https://github.com/CraigMorton/react-canvas.git" }, "scripts": { - "start": "./node_modules/.bin/gulp", - "test": "./node_modules/.bin/jest" + "build": "./node_modules/.bin/webpack .", + "test": "./node_modules/.bin/jest", + "storybook": "start-storybook -p 6006 -c .storybook", + "build-storybook": "build-storybook -c .storybook" }, "keywords": [ "react", @@ -17,32 +20,41 @@ ], "author": "Michael Johnston ", "license": "BSD-3-Clause", - "homepage": "https://github.com/Flipboard/react-canvas", + "homepage": "https://github.com/CraigMorton/react-canvas", "bugs": { "url": "https://github.com/Flipboard/react-canvas/issues" }, "devDependencies": { - "babel-core": "^6.22.1", - "babel-loader": "^6.2.10", - "babel-preset-react": "^6.22.0", - "brfs": "^1.4.3", - "del": "^2.2.2", - "envify": "^4.0.0", - "gulp": "^3.9.1", - "gulp-connect": "^5.0.0", - "jest": "^18.1.0", - "react": "^15.0.0", - "react-dom": "^15.0.0", - "transform-loader": "^0.2.3", - "webpack": "^1.14.0", - "webpack-stream": "^3.2.0" + "@storybook/react": "^3.4.5", + "alea": "^0.0.9", + "babel-core": "^6.26.3", + "babel-eslint": "^8.2.3", + "babel-loader": "^7.1.4", + "babel-plugin-external-helpers": "^6.22.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "d3-scale": "^1.0.6", + "del": "^3.0.0", + "eslint": "^4.1.1", + "jest": "^22.4.3", + "lodash.range": "^3.2.0", + "webpack": "^4.0.0", + "webpack-cli": "^2.1.3" }, "peerDependencies": { - "react": "^15.0.0" + "react": "^15.0.0", + "react-dom": "^15.0.0" }, "dependencies": { + "@craigmorton/linebreak": "^0.4.5", + "create-react-class": "^15.6.0", "fbjs": "^0.8.8", - "linebreak": "^0.3.0", + "object-assign": "^4.0.1", + "prop-types": "^15.5.10", + "react": "15.6", + "react-dom": "15.6", "scroller": "git://github.com/mjohnston/scroller" } } diff --git a/lib/Canvas.js b/src/Canvas.js similarity index 97% rename from lib/Canvas.js rename to src/Canvas.js index 5f21615..b0fd7c2 100644 --- a/lib/Canvas.js +++ b/src/Canvas.js @@ -36,4 +36,4 @@ Object.assign(Canvas.prototype, { // to large size images. Canvas.poolSize = 30; -module.exports = Canvas; +export default Canvas; diff --git a/lib/CanvasUtils.js b/src/CanvasUtils.js similarity index 96% rename from lib/CanvasUtils.js rename to src/CanvasUtils.js index 8b4b30d..a988174 100644 --- a/lib/CanvasUtils.js +++ b/src/CanvasUtils.js @@ -1,8 +1,7 @@ 'use strict'; -var FontFace = require('./FontFace'); -var clamp = require('./clamp'); -var measureText = require('./measureText'); +import clamp from './clamp'; +import measureText from './measureText'; /** * Draw an image into a . This operation requires that the image @@ -197,9 +196,8 @@ function drawGradient(ctx, x1, y1, x2, y2, colorStops, x, y, width, height) { ctx.restore(); } -module.exports = { - drawImage: drawImage, - drawText: drawText, - drawGradient: drawGradient, +export { + drawImage, + drawText, + drawGradient, }; - diff --git a/lib/ContainerMixin.js b/src/ContainerMixin.js similarity index 95% rename from lib/ContainerMixin.js rename to src/ContainerMixin.js index df77b78..d814027 100644 --- a/lib/ContainerMixin.js +++ b/src/ContainerMixin.js @@ -2,10 +2,9 @@ // Adapted from ReactART: // https://github.com/reactjs/react-art - -var React = require('react'); -var ReactMultiChild = require('react-dom/lib/ReactMultiChild'); -var emptyObject = require('fbjs/lib/emptyObject'); +import React from 'react'; +import ReactMultiChild from 'react-dom/lib/ReactMultiChild'; +import emptyObject from 'fbjs/lib/emptyObject'; var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { @@ -127,4 +126,4 @@ var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { }); -module.exports = ContainerMixin; +export default ContainerMixin; diff --git a/lib/DrawingUtils.js b/src/DrawingUtils.js similarity index 85% rename from lib/DrawingUtils.js rename to src/DrawingUtils.js index c977c8d..17b4b17 100644 --- a/lib/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -1,11 +1,29 @@ 'use strict'; -var ImageCache = require('./ImageCache'); -var FontUtils = require('./FontUtils'); -var FontFace = require('./FontFace'); -var FrameUtils = require('./FrameUtils'); -var CanvasUtils = require('./CanvasUtils'); -var Canvas = require('./Canvas'); +import ImageCache from './ImageCache'; +import {isFontLoaded} from './FontUtils'; +import FontFace from './FontFace'; +import { drawGradient, drawText, drawImage } from './CanvasUtils'; +import Canvas from './Canvas'; + +const layerTypesToDrawFunction = { + image: drawImageRenderLayer, + text: drawTextRenderLayer, + gradient: drawGradientRenderLayer +} + +function getDrawFunction(type) { + return layerTypesToDrawFunction.hasOwnProperty(type) ? + layerTypesToDrawFunction[type] : drawBaseRenderLayer; +} + +function registerLayerType(type, drawFunction) { + if (layerTypesToDrawFunction.hasOwnProperty(type)) { + throw new Error(`type ${type} already registered`); + } + + layerTypesToDrawFunction[type] = drawFunction; +} // Global backing store cache var _backingStores = []; @@ -147,27 +165,13 @@ function handleFontLoad (fontFace) { * @param {RenderLayer} layer */ function drawRenderLayer (ctx, layer) { - var customDrawFunc; + var drawFunction = getDrawFunction(layer.type); // Performance: avoid drawing hidden layers. if (typeof layer.alpha === 'number' && layer.alpha <= 0) { return; } - switch (layer.type) { - case 'image': - customDrawFunc = drawImageRenderLayer; - break; - - case 'text': - customDrawFunc = drawTextRenderLayer; - break; - - case 'gradient': - customDrawFunc = drawGradientRenderLayer; - break; - } - // Establish drawing context for certain properties: // - alpha // - translate @@ -191,14 +195,13 @@ function drawRenderLayer (ctx, layer) { // If the layer is bitmap-cacheable, draw in a pooled off-screen canvas. // We disable backing stores on pad since we flip there. if (layer.backingStoreId) { - drawCacheableRenderLayer(ctx, layer, customDrawFunc); + drawCacheableRenderLayer(ctx, layer, drawFunction); } else { // Draw default properties, such as background color. ctx.save(); - drawBaseRenderLayer(ctx, layer); // Draw custom properties if needed. - customDrawFunc && customDrawFunc(ctx, layer); + drawFunction && drawFunction(ctx, layer); ctx.restore(); // Draw child layers, sorted by their z-index. @@ -280,10 +283,10 @@ function drawBaseRenderLayer (ctx, layer) { * * @param {CanvasRenderingContext2d} ctx * @param {RenderLayer} layer - * @param {Function} customDrawFunc + * @param {Function} drawFunction * @private */ -function drawCacheableRenderLayer (ctx, layer, customDrawFunc) { +function drawCacheableRenderLayer (ctx, layer, drawFunction) { // See if there is a pre-drawn canvas in the pool. var backingStore = getBackingStore(layer.backingStoreId); var backingStoreScale = layer.scale || window.devicePixelRatio; @@ -318,10 +321,9 @@ function drawCacheableRenderLayer (ctx, layer, customDrawFunc) { // Draw default properties, such as background color. backingContext.save(); - drawBaseRenderLayer(backingContext, layer); // Custom drawing operations - customDrawFunc && customDrawFunc(backingContext, layer); + drawFunction && drawFunction(backingContext, layer); backingContext.restore(); // Draw child layers, sorted by their z-index. @@ -368,6 +370,8 @@ function sortByZIndexAscending (layerA, layerB) { * @private */ function drawImageRenderLayer (ctx, layer) { + drawBaseRenderLayer(ctx, layer); + if (!layer.imageUrl) { return; } @@ -378,22 +382,24 @@ function drawImageRenderLayer (ctx, layer) { return; } - CanvasUtils.drawImage(ctx, image, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); + drawImage(ctx, image, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); } /** * @private */ function drawTextRenderLayer (ctx, layer) { + drawBaseRenderLayer(ctx, layer); + // Fallback to standard font. var fontFace = layer.fontFace || FontFace.Default(); // Don't draw text until loaded - if (!FontUtils.isFontLoaded(fontFace)) { + if (!isFontLoaded(fontFace)) { return; } - CanvasUtils.drawText(ctx, layer.text, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height, fontFace, { + drawText(ctx, layer.text, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height, fontFace, { fontSize: layer.fontSize, lineHeight: layer.lineHeight, textAlign: layer.textAlign, @@ -405,20 +411,24 @@ function drawTextRenderLayer (ctx, layer) { * @private */ function drawGradientRenderLayer (ctx, layer) { + drawBaseRenderLayer(ctx, layer); + // Default to linear gradient from top to bottom. var x1 = layer.x1 || layer.frame.x; var y1 = layer.y1 || layer.frame.y; var x2 = layer.x2 || layer.frame.x; var y2 = layer.y2 || layer.frame.y + layer.frame.height; - CanvasUtils.drawGradient(ctx, x1, y1, x2, y2, layer.colorStops, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); + drawGradient(ctx, x1, y1, x2, y2, layer.colorStops, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); } -module.exports = { - drawRenderLayer: drawRenderLayer, - invalidateBackingStore: invalidateBackingStore, - invalidateAllBackingStores: invalidateAllBackingStores, - handleImageLoad: handleImageLoad, - handleFontLoad: handleFontLoad, - layerContainsImage: layerContainsImage, - layerContainsFontFace: layerContainsFontFace +export { + drawBaseRenderLayer, + drawRenderLayer, + invalidateBackingStore, + invalidateAllBackingStores, + handleImageLoad, + handleFontLoad, + layerContainsImage, + layerContainsFontFace, + registerLayerType }; diff --git a/src/Easing.js b/src/Easing.js new file mode 100644 index 0000000..d2fc9f2 --- /dev/null +++ b/src/Easing.js @@ -0,0 +1,40 @@ +// Penner easing equations +// https://gist.github.com/gre/1650294 + +function linear(t) { + return t; +} + +function easeInQuad(t) { + return Math.pow(t, 2); +} + +function easeOutQuad(t) { + return t * (2-t); +} + +function easeInOutQuad(t) { + return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t; +} + +function easeInCubic(t) { + return t * t * t; +} + +function easeOutCubic(t) { + return (--t) * t * t + 1; +} + +function easeInOutCubic(t) { + return t < .5 ? 4 * t * t * t : (t-1) * (2*t - 2) * (2*t - 2) + 1; +} + +export { + linear, + easeInQuad, + easeOutQuad, + easeInOutQuad, + easeInCubic, + easeOutCubic, + easeInOutCubic, +}; diff --git a/src/EventTypes.js b/src/EventTypes.js new file mode 100755 index 0000000..63b84ad --- /dev/null +++ b/src/EventTypes.js @@ -0,0 +1,21 @@ +'use strict'; + +// Supported events that RenderLayer's can subscribe to. + +const onTouchStart ='touchstart'; +const onTouchMove ='touchmove'; +const onTouchEnd ='touchend'; +const onTouchCancel ='touchcancel'; +const onClick ='click'; +const onContextMenu ='contextmenu'; +const onDoubleClick ='dblclick'; + +export { + onTouchStart, + onTouchMove, + onTouchEnd, + onTouchCancel, + onClick, + onContextMenu, + onDoubleClick, +}; diff --git a/lib/FontFace.js b/src/FontFace.js similarity index 97% rename from lib/FontFace.js rename to src/FontFace.js index e123f66..7745c16 100644 --- a/lib/FontFace.js +++ b/src/FontFace.js @@ -50,4 +50,4 @@ function getCacheKey (family, url, attributes) { }); } -module.exports = FontFace; +export default FontFace; diff --git a/lib/FontUtils.js b/src/FontUtils.js similarity index 95% rename from lib/FontUtils.js rename to src/FontUtils.js index 1483178..02e4da3 100644 --- a/lib/FontUtils.js +++ b/src/FontUtils.js @@ -1,7 +1,3 @@ -'use strict'; - -var FontFace = require('./FontFace'); - var _useNativeImpl = (typeof window.FontFace !== 'undefined'); var _pendingFonts = {}; var _loadedFonts = {}; @@ -24,7 +20,7 @@ function isFontLoaded (fontFace) { * @param {FontFace} fontFace The font to Load * @param {Function} callback Function executed upon font Load */ -function loadFont (fontFace, callback) { +function loadFontNormal (fontFace, callback) { var defaultNode; var testNode; var checkFont; @@ -179,7 +175,9 @@ function handleFontLoad (fontFace, timeout) { delete _pendingFonts[fontFace.id]; } -module.exports = { - isFontLoaded: isFontLoaded, - loadFont: _useNativeImpl ? loadFontNative : loadFont +const loadFont = _useNativeImpl ? loadFontNative : loadFontNormal; + +export { + isFontLoaded, + loadFont }; diff --git a/lib/FrameUtils.js b/src/FrameUtils.js similarity index 94% rename from lib/FrameUtils.js rename to src/FrameUtils.js index c243552..91999c4 100644 --- a/lib/FrameUtils.js +++ b/src/FrameUtils.js @@ -119,13 +119,13 @@ function intersects (frame, otherFrame) { otherFrame.y + otherFrame.height < frame.y); } -module.exports = { - make: make, - zero: zero, - clone: clone, - inset: inset, - intersection: intersection, - intersects: intersects, - union: union +export { + make, + zero, + clone, + inset, + intersection, + intersects, + union, }; diff --git a/lib/Gradient.js b/src/Gradient.js similarity index 78% rename from lib/Gradient.js rename to src/Gradient.js index 2528b93..9f3d8cc 100644 --- a/lib/Gradient.js +++ b/src/Gradient.js @@ -1,10 +1,10 @@ 'use strict'; -var React = require('react'); -var createComponent = require('./createComponent'); -var LayerMixin = require('./LayerMixin'); +import React from 'react'; +import createComponent from './createComponent'; +import LayerMixin from './LayerMixin'; -var Gradient = createComponent('Gradient', LayerMixin, { +const Gradient = createComponent('Gradient', LayerMixin, { applyGradientProps: function (prevProps, props) { var layer = this.node; @@ -36,4 +36,4 @@ var Gradient = createComponent('Gradient', LayerMixin, { }); -module.exports = Gradient; +export default Gradient; diff --git a/lib/Group.js b/src/Group.js similarity index 80% rename from lib/Group.js rename to src/Group.js index 773bf67..4e49b21 100644 --- a/lib/Group.js +++ b/src/Group.js @@ -1,9 +1,9 @@ 'use strict'; -var createComponent = require('./createComponent'); -var ContainerMixin = require('./ContainerMixin'); -var LayerMixin = require('./LayerMixin'); -var RenderLayer = require('./RenderLayer'); +import createComponent from './createComponent'; +import ContainerMixin from './ContainerMixin'; +import LayerMixin from './LayerMixin'; +import RenderLayer from './RenderLayer'; var Group = createComponent('Group', LayerMixin, ContainerMixin, { @@ -38,4 +38,4 @@ var Group = createComponent('Group', LayerMixin, ContainerMixin, { }); -module.exports = Group; +export default Group; diff --git a/lib/Image.js b/src/Image.js similarity index 73% rename from lib/Image.js rename to src/Image.js index c897fb4..e8085a4 100644 --- a/lib/Image.js +++ b/src/Image.js @@ -1,13 +1,14 @@ 'use strict'; -var React = require('react'); -var createComponent = require('./createComponent'); -var LayerMixin = require('./LayerMixin'); -var Layer = require('./Layer'); -var Group = require('./Group'); -var ImageCache = require('./ImageCache'); -var Easing = require('./Easing'); -var clamp = require('./clamp'); +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import createComponent from './createComponent'; +import LayerMixin from './LayerMixin'; +import Layer from './Layer'; +import Group from './Group'; +import ImageCache from './ImageCache'; +import {easeInCubic} from './Easing'; +import clamp from './clamp'; var FADE_DURATION = 200; @@ -44,51 +45,52 @@ var RawImage = createComponent('Image', LayerMixin, { }); -var Image = React.createClass({ +class Image extends Component { + static propTypes = { + src: PropTypes.string.isRequired, + style: PropTypes.object, + useBackingStore: PropTypes.bool, + fadeIn: PropTypes.bool, + fadeInDuration: PropTypes.number + }; - propTypes: { - src: React.PropTypes.string.isRequired, - style: React.PropTypes.object, - useBackingStore: React.PropTypes.bool, - fadeIn: React.PropTypes.bool, - fadeInDuration: React.PropTypes.number - }, + constructor(props) { + super(props); + var loaded = ImageCache.get(props.src).isLoaded(); - getInitialState: function () { - var loaded = ImageCache.get(this.props.src).isLoaded(); - return { + this.state = { loaded: loaded, imageAlpha: loaded ? 1 : 0 }; - }, + } - componentDidMount: function () { + componentDidMount() { ImageCache.get(this.props.src).on('load', this.handleImageLoad); - }, + } - componentWillUpdate: function(nextProps, nextState) { + componentWillUpdate(nextProps, nextState) { if(nextProps.src !== this.props.src) { ImageCache.get(this.props.src).removeListener('load', this.handleImageLoad); ImageCache.get(nextProps.src).on('load', this.handleImageLoad); var loaded = ImageCache.get(nextProps.src).isLoaded(); this.setState({loaded: loaded}); } - }, + } - componentWillUnmount: function () { + componentWillUnmount() { if (this._pendingAnimationFrame) { cancelAnimationFrame(this._pendingAnimationFrame); } ImageCache.get(this.props.src).removeListener('load', this.handleImageLoad); - }, + } - componentDidUpdate: function (prevProps, prevState) { + componentDidUpdate(prevProps, prevState) { if (this.refs.image) { this.refs.image.invalidateLayout(); } - }, + } - render: function () { + render() { var rawImage; var imageStyle = Object.assign({}, this.props.style); var style = Object.assign({}, this.props.style); @@ -109,9 +111,9 @@ var Image = React.createClass({ React.createElement(RawImage, {ref: 'image', src: this.props.src, style: imageStyle, useBackingStore: useBackingStore}) ) ); - }, + } - handleImageLoad: function () { + handleImageLoad = () => { var imageAlpha = 1; if (this.props.fadeIn) { imageAlpha = 0; @@ -119,18 +121,17 @@ var Image = React.createClass({ this._pendingAnimationFrame = requestAnimationFrame(this.stepThroughAnimation); } this.setState({ loaded: true, imageAlpha: imageAlpha }); - }, + }; - stepThroughAnimation: function () { + stepThroughAnimation = () => { var fadeInDuration = this.props.fadeInDuration || FADE_DURATION; - var alpha = Easing.easeInCubic((Date.now() - this._animationStartTime) / fadeInDuration); + var alpha = easeInCubic((Date.now() - this._animationStartTime) / fadeInDuration); alpha = clamp(alpha, 0, 1); this.setState({ imageAlpha: alpha }); if (alpha < 1) { this._pendingAnimationFrame = requestAnimationFrame(this.stepThroughAnimation); } - } - -}); + }; +} -module.exports = Image; +export default Image; diff --git a/lib/ImageCache.js b/src/ImageCache.js similarity index 97% rename from lib/ImageCache.js rename to src/ImageCache.js index a49403a..c696fe9 100644 --- a/lib/ImageCache.js +++ b/src/ImageCache.js @@ -1,6 +1,4 @@ -'use strict'; - -var EventEmitter = require('events'); +import EventEmitter from 'events'; var NOOP = function () {}; @@ -159,4 +157,4 @@ var ImageCache = { }; -module.exports = ImageCache; +export default ImageCache; diff --git a/lib/Layer.js b/src/Layer.js similarity index 76% rename from lib/Layer.js rename to src/Layer.js index 1784c54..15c603f 100644 --- a/lib/Layer.js +++ b/src/Layer.js @@ -1,9 +1,9 @@ 'use strict'; -var createComponent = require('./createComponent'); -var LayerMixin = require('./LayerMixin'); +import createComponent from './createComponent'; +import LayerMixin from './LayerMixin'; -var Layer = createComponent('Layer', LayerMixin, { +const Layer = createComponent('Layer', LayerMixin, { mountComponent: function ( transaction, @@ -27,4 +27,4 @@ var Layer = createComponent('Layer', LayerMixin, { }); -module.exports = Layer; +export default Layer; diff --git a/lib/LayerMixin.js b/src/LayerMixin.js similarity index 89% rename from lib/LayerMixin.js rename to src/LayerMixin.js index 08c7d35..88c5449 100644 --- a/lib/LayerMixin.js +++ b/src/LayerMixin.js @@ -3,9 +3,8 @@ // Adapted from ReactART: // https://github.com/reactjs/react-art -var FrameUtils = require('./FrameUtils'); -var DrawingUtils = require('./DrawingUtils'); -var EventTypes = require('./EventTypes'); +import {make} from './FrameUtils'; +import * as EventTypes from './EventTypes'; var LAYER_GUID = 0; @@ -56,7 +55,7 @@ var LayerMixin = { layer.borderWidth = style.borderWidth; layer.borderRadius = style.borderRadius; layer.clipRect = style.clipRect; - layer.frame = FrameUtils.make(style.left || 0, style.top || 0, style.width || 0, style.height || 0); + layer.frame = make(style.left || 0, style.top || 0, style.width || 0, style.height || 0); layer.scale = style.scale; layer.translateX = style.translateX; layer.translateY = style.translateY; @@ -94,4 +93,4 @@ var LayerMixin = { }; -module.exports = LayerMixin; +export default LayerMixin; diff --git a/lib/Layout.js b/src/Layout.js similarity index 99% rename from lib/Layout.js rename to src/Layout.js index 845744c..c9cde62 100644 --- a/lib/Layout.js +++ b/src/Layout.js @@ -655,6 +655,4 @@ var computeLayout = (function() { }; })(); -if (typeof module === 'object') { - module.exports = computeLayout; -} +export default computeLayout; diff --git a/lib/ListView.js b/src/ListView.js similarity index 73% rename from lib/ListView.js rename to src/ListView.js index ce8caf8..10563a6 100644 --- a/lib/ListView.js +++ b/src/ListView.js @@ -1,44 +1,40 @@ 'use strict'; -var React = require('react'); -var Scroller = require('scroller'); -var Group = require('./Group'); -var clamp = require('./clamp'); - -var ListView = React.createClass({ - - propTypes: { - style: React.PropTypes.object, - numberOfItemsGetter: React.PropTypes.func.isRequired, - itemHeightGetter: React.PropTypes.func.isRequired, - itemGetter: React.PropTypes.func.isRequired, - snapping: React.PropTypes.bool, - scrollingDeceleration: React.PropTypes.number, - scrollingPenetrationAcceleration: React.PropTypes.number, - onScroll: React.PropTypes.func - }, - - getDefaultProps: function () { - return { - style: { left: 0, top: 0, width: 0, height: 0 }, - snapping: false, - scrollingDeceleration: 0.95, - scrollingPenetrationAcceleration: 0.08 - }; - }, - - getInitialState: function () { - return { - scrollTop: 0 - }; - }, - - componentDidMount: function () { +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import Scroller from 'scroller'; +import Group from './Group'; +import clamp from './clamp'; + +class ListView extends Component { + static propTypes = { + style: PropTypes.object, + numberOfItemsGetter: PropTypes.func.isRequired, + itemHeightGetter: PropTypes.func.isRequired, + itemGetter: PropTypes.func.isRequired, + snapping: PropTypes.bool, + scrollingDeceleration: PropTypes.number, + scrollingPenetrationAcceleration: PropTypes.number, + onScroll: PropTypes.func + }; + + static defaultProps = { + style: { left: 0, top: 0, width: 0, height: 0 }, + snapping: false, + scrollingDeceleration: 0.95, + scrollingPenetrationAcceleration: 0.08 + }; + + state = { + scrollTop: 0 + }; + + componentDidMount() { this.createScroller(); this.updateScrollingDimensions(); - }, + } - render: function () { + render() { var items = this.getVisibleItemIndexes().map(this.renderItem); return ( React.createElement(Group, { @@ -50,9 +46,9 @@ var ListView = React.createClass({ items ) ); - }, + } - renderItem: function (itemIndex) { + renderItem = (itemIndex) => { var item = this.props.itemGetter(itemIndex, this.state.scrollTop); var itemHeight = this.props.itemHeightGetter(); var style = { @@ -69,44 +65,44 @@ var ListView = React.createClass({ item ) ); - }, + }; // Events // ====== - handleTouchStart: function (e) { + handleTouchStart = (e) => { if (this.scroller) { this.scroller.doTouchStart(e.touches, e.timeStamp); } - }, + }; - handleTouchMove: function (e) { + handleTouchMove = (e) => { if (this.scroller) { e.preventDefault(); this.scroller.doTouchMove(e.touches, e.timeStamp, e.scale); } - }, + }; - handleTouchEnd: function (e) { + handleTouchEnd = (e) => { if (this.scroller) { this.scroller.doTouchEnd(e.timeStamp); if (this.props.snapping) { this.updateScrollingDeceleration(); } } - }, + }; - handleScroll: function (left, top) { + handleScroll = (left, top) => { this.setState({ scrollTop: top }); if (this.props.onScroll) { this.props.onScroll(top); } - }, + }; // Scrolling // ========= - createScroller: function () { + createScroller = () => { var options = { scrollingX: false, scrollingY: true, @@ -114,17 +110,17 @@ var ListView = React.createClass({ penetrationAcceleration: this.props.scrollingPenetrationAcceleration, }; this.scroller = new Scroller(this.handleScroll, options); - }, + }; - updateScrollingDimensions: function () { + updateScrollingDimensions = () => { var width = this.props.style.width; var height = this.props.style.height; var scrollWidth = width; var scrollHeight = this.props.numberOfItemsGetter() * this.props.itemHeightGetter(); this.scroller.setDimensions(width, height, scrollWidth, scrollHeight); - }, + }; - getVisibleItemIndexes: function () { + getVisibleItemIndexes = () => { var itemIndexes = []; var itemHeight = this.props.itemHeightGetter(); var itemCount = this.props.numberOfItemsGetter(); @@ -149,9 +145,9 @@ var ListView = React.createClass({ } return itemIndexes; - }, + }; - updateScrollingDeceleration: function () { + updateScrollingDeceleration = () => { var currVelocity = this.scroller.__decelerationVelocityY; var currScrollTop = this.state.scrollTop; var targetScrollTop = 0; @@ -178,8 +174,7 @@ var ListView = React.createClass({ this.scroller.__minDecelerationScrollTop = targetScrollTop; this.scroller.__maxDecelerationScrollTop = targetScrollTop; - } - -}); + }; +} -module.exports = ListView; +export default ListView; diff --git a/lib/RenderLayer.js b/src/RenderLayer.js similarity index 94% rename from lib/RenderLayer.js rename to src/RenderLayer.js index 9d3cac4..56fc2a9 100644 --- a/lib/RenderLayer.js +++ b/src/RenderLayer.js @@ -1,12 +1,12 @@ 'use strict'; -var FrameUtils = require('./FrameUtils'); -var DrawingUtils = require('./DrawingUtils'); -var EventTypes = require('./EventTypes'); +import {zero} from './FrameUtils'; +import {invalidateBackingStore} from './DrawingUtils'; +import * as EventTypes from './EventTypes'; function RenderLayer () { this.children = []; - this.frame = FrameUtils.zero(); + this.frame = zero(); } RenderLayer.prototype = { @@ -171,7 +171,7 @@ RenderLayer.prototype = { */ invalidateBackingStore: function () { if (this.backingStoreId) { - DrawingUtils.invalidateBackingStore(this.backingStoreId); + invalidateBackingStore(this.backingStoreId); } this.invalidateLayout(); }, @@ -185,4 +185,4 @@ RenderLayer.prototype = { }; -module.exports = RenderLayer; +export default RenderLayer; diff --git a/lib/Surface.js b/src/Surface.js similarity index 79% rename from lib/Surface.js rename to src/Surface.js index 7f61343..29d483c 100755 --- a/lib/Surface.js +++ b/src/Surface.js @@ -1,33 +1,35 @@ 'use strict'; -var React = require('react'); -var ReactUpdates = require('react-dom/lib/ReactUpdates'); -var invariant = require('fbjs/lib/invariant'); -var ContainerMixin = require('./ContainerMixin'); -var RenderLayer = require('./RenderLayer'); -var FrameUtils = require('./FrameUtils'); -var DrawingUtils = require('./DrawingUtils'); -var hitTest = require('./hitTest'); -var layoutNode = require('./layoutNode'); +import React from 'react'; +import createReactClass from 'create-react-class'; +import PropTypes from 'prop-types'; +import ReactUpdates from 'react-dom/lib/ReactUpdates'; +import invariant from 'fbjs/lib/invariant'; +import ContainerMixin from './ContainerMixin'; +import RenderLayer from './RenderLayer'; +import {make} from './FrameUtils'; +import {drawRenderLayer} from './DrawingUtils'; +import hitTest from './hitTest'; +import layoutNode from './layoutNode'; /** * Surface is a standard React component and acts as the main drawing canvas. * ReactCanvas components cannot be rendered outside a Surface. */ -var Surface = React.createClass({ - +var Surface = createReactClass({ + displayName: 'Surface', mixins: [ContainerMixin], propTypes: { - className: React.PropTypes.string, - id: React.PropTypes.string, - top: React.PropTypes.number.isRequired, - left: React.PropTypes.number.isRequired, - width: React.PropTypes.number.isRequired, - height: React.PropTypes.number.isRequired, - scale: React.PropTypes.number.isRequired, - enableCSSLayout: React.PropTypes.bool + className: PropTypes.string, + id: PropTypes.string, + top: PropTypes.number.isRequired, + left: PropTypes.number.isRequired, + width: PropTypes.number.isRequired, + height: PropTypes.number.isRequired, + scale: PropTypes.number.isRequired, + enableCSSLayout: PropTypes.bool }, getDefaultProps: function () { @@ -44,7 +46,7 @@ var Surface = React.createClass({ // `this.node` is injected into child components and represents the current // render tree. this.node = new RenderLayer(); - this.node.frame = FrameUtils.make(this.props.left, this.props.top, this.props.width, this.props.height); + this.node.frame = make(this.props.left, this.props.top, this.props.width, this.props.height); this.node.draw = this.batchedTick; // This is the integration point between custom canvas components and React @@ -93,10 +95,19 @@ var Surface = React.createClass({ // Scale the drawing area to match DPI. var width = this.props.width * this.props.scale; var height = this.props.height * this.props.scale; - var style = { - width: this.props.width, - height: this.props.height - }; + var style = {}; + + if (this.props.style) { + style = Object.assign({}, this.props.style); + } + + if (typeof(this.props.width) !== "undefined") { + style.width = this.props.width; + } + + if (typeof(this.props.height) !== "undefined") { + style.height = this.props.height; + } return ( React.createElement('canvas', { @@ -120,10 +131,6 @@ var Surface = React.createClass({ // ======= getContext: function () { - ('production' !== process.env.NODE_ENV ? invariant( - this.isMounted(), - 'Tried to access drawing context on an unmounted Surface.' - ) : invariant(this.isMounted())); return this.refs.canvas.getContext('2d'); }, @@ -166,7 +173,7 @@ var Surface = React.createClass({ if (this.props.enableCSSLayout) { layout = layoutNode(this.node); } - DrawingUtils.drawRenderLayer(this.getContext(), this.node); + drawRenderLayer(this.getContext(), this.node); } }, @@ -230,4 +237,4 @@ var Surface = React.createClass({ }); -module.exports = Surface; +export default Surface; diff --git a/lib/Text.js b/src/Text.js similarity index 91% rename from lib/Text.js rename to src/Text.js index 8d1867f..6339b62 100644 --- a/lib/Text.js +++ b/src/Text.js @@ -1,7 +1,7 @@ 'use strict'; -var createComponent = require('./createComponent'); -var LayerMixin = require('./LayerMixin'); +import createComponent from './createComponent'; +import LayerMixin from './LayerMixin'; var Text = createComponent('Text', LayerMixin, { @@ -56,4 +56,4 @@ function childrenAsString(children) { return ''; } -module.exports = Text; \ No newline at end of file +export default Text; diff --git a/lib/clamp.js b/src/clamp.js similarity index 82% rename from lib/clamp.js rename to src/clamp.js index b19eb6b..c3f72a4 100644 --- a/lib/clamp.js +++ b/src/clamp.js @@ -7,6 +7,6 @@ * @param {Number} max * @return {Number} */ -module.exports = function (number, min, max) { +export default function (number, min, max) { return Math.min(Math.max(number, min), max); }; diff --git a/src/createCanvasComponent.js b/src/createCanvasComponent.js new file mode 100644 index 0000000..0235ed9 --- /dev/null +++ b/src/createCanvasComponent.js @@ -0,0 +1,42 @@ +'use strict'; + +import createComponent from './createComponent'; +import LayerMixin from './LayerMixin'; + + +/** + * Create a new component + * + * @param {{layerType: String, applyCustomProps: ?Function}} specs component specs + * @return {Function} Generated ReactCanvas component class + */ +function createCanvasComponent(specs) { + if (!specs.layerType) { + throw new Error('createCanvasComponent(...): specification should contains an unique `layerType` property'); + } + + return createComponent(specs.displayName || 'CanvasComponent', LayerMixin, { + applyCustomProps: specs.applyCustomProps, + + mountComponent: function (transaction, nativeParent, nativeContainerInfo, context) { + var props = this._currentElement.props; + var layer = this.node; + layer.type = specs.layerType; + var emptyProps = {}; + this.applyLayerProps(emptyProps, props); + this.applyCustomProps && this.applyCustomProps(emptyProps, props); + return layer; + }, + + receiveComponent: function (nextComponent, transaction, context) { + var prevProps = this._currentElement.props; + var props = nextComponent.props; + this.applyLayerProps(prevProps, props); + this.applyCustomProps && this.applyCustomProps(prevProps, props); + this._currentElement = nextComponent; + this.node.invalidateLayout(); + } + }); +} + +export default createCanvasComponent; diff --git a/lib/createComponent.js b/src/createComponent.js similarity index 83% rename from lib/createComponent.js rename to src/createComponent.js index 2906e2e..7c6d140 100644 --- a/lib/createComponent.js +++ b/src/createComponent.js @@ -3,7 +3,9 @@ // Adapted from ReactART: // https://github.com/reactjs/react-art -var RenderLayer = require('./RenderLayer'); +import RenderLayer from './RenderLayer'; + +let LAYER_GUID = 0; function createComponent (name) { var ReactCanvasComponent = function (element) { @@ -12,9 +14,10 @@ function createComponent (name) { this.listeners = null; this.node = new RenderLayer(); this._mountImage = null; - this._currentElement = element; this._renderedChildren = null; this._mostRecentlyPlacedChild = null; + this._currentElement = element; + this._layerId = LAYER_GUID++; }; ReactCanvasComponent.displayName = name; for (var i = 1, l = arguments.length; i < l; i++) { @@ -24,4 +27,4 @@ function createComponent (name) { return ReactCanvasComponent; } -module.exports = createComponent; +export default createComponent; diff --git a/lib/hitTest.js b/src/hitTest.js similarity index 84% rename from lib/hitTest.js rename to src/hitTest.js index 053d779..8fffde3 100755 --- a/lib/hitTest.js +++ b/src/hitTest.js @@ -1,7 +1,7 @@ 'use strict'; -var FrameUtils = require('./FrameUtils'); -var EventTypes = require('./EventTypes'); +import {make, clone, inset, intersects} from './FrameUtils'; +import * as EventTypes from './EventTypes'; /** * RenderLayer hit testing @@ -27,7 +27,7 @@ function hitTest (e, rootLayer, rootNode) { return getLayerAtPoint( rootLayer, e.type, - FrameUtils.make(touchX, touchY, 1, 1), + make(touchX, touchY, 1, 1), rootLayer.translateX || 0, rootLayer.translateY || 0 ); @@ -61,7 +61,7 @@ function getLayerAtPoint (root, type, point, tx, ty) { var layer = null; var hitHandle = getHitHandle(type); var sortedChildren; - var hitFrame = FrameUtils.clone(root.frame); + var hitFrame = clone(root.frame); // Early bail for non-visible layers if (typeof root.alpha === 'number' && root.alpha < 0.01) { @@ -87,7 +87,7 @@ function getLayerAtPoint (root, type, point, tx, ty) { // Check for hit outsets if (root.hitOutsets) { - hitFrame = FrameUtils.inset(FrameUtils.clone(hitFrame), + hitFrame = inset(clone(hitFrame), -root.hitOutsets[0], -root.hitOutsets[1], -root.hitOutsets[2], -root.hitOutsets[3] ); @@ -103,13 +103,13 @@ function getLayerAtPoint (root, type, point, tx, ty) { } // No child layer at the given point. Try the parent layer. - if (!layer && root[hitHandle] && FrameUtils.intersects(hitFrame, point)) { + if (!layer && root[hitHandle] && intersects(hitFrame, point)) { layer = root; } return layer; } -module.exports = hitTest; -module.exports.getHitHandle = getHitHandle; +hitTest.getHitHandle = getHitHandle; +export default hitTest; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..4908713 --- /dev/null +++ b/src/index.js @@ -0,0 +1,29 @@ +'use strict'; + +import Surface from './Surface'; +import Layer from './Layer'; +import Group from './Group'; +import Image from './Image'; +import Text from './Text'; +import ListView from './ListView'; +import Gradient from './Gradient'; +import FontFace from './FontFace'; +import FrameUtils from './FrameUtils'; +import createCanvasComponent from './createCanvasComponent'; +import measureText from './measureText'; +import { registerLayerType } from './DrawingUtils'; + +export default { + Surface, + Layer, + Group, + Image, + Text, + ListView, + Gradient, + FontFace, + measureText, + createCanvasComponent, + FrameUtils, + registerLayerType, +}; diff --git a/lib/layoutNode.js b/src/layoutNode.js similarity index 93% rename from lib/layoutNode.js rename to src/layoutNode.js index 23faf1c..2835e8f 100644 --- a/lib/layoutNode.js +++ b/src/layoutNode.js @@ -1,6 +1,6 @@ 'use strict'; -var computeLayout = require('./Layout'); +import computeLayout from './Layout'; /** * This computes the CSS layout for a RenderLayer tree and mutates the frame @@ -42,4 +42,4 @@ function walkNode (node, parentLeft, parentTop) { } } -module.exports = layoutNode; +export default layoutNode; diff --git a/lib/measureText.js b/src/measureText.js similarity index 87% rename from lib/measureText.js rename to src/measureText.js index 520342f..d9d2acf 100644 --- a/lib/measureText.js +++ b/src/measureText.js @@ -1,8 +1,7 @@ 'use strict'; -var FontFace = require('./FontFace'); -var FontUtils = require('./FontUtils'); -var LineBreaker = require('linebreak'); +import {isFontLoaded} from './FontUtils'; +import LineBreaker from '@craigmorton/linebreak'; var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); @@ -28,7 +27,7 @@ function getCacheKey (text, width, fontFace, fontSize, lineHeight) { * @param {Number} lineHeight The line height in CSS pixels * @return {Object} Measured text size with `width` and `height` members. */ -module.exports = function measureText (text, width, fontFace, fontSize, lineHeight) { +export default function measureText (text, width, fontFace, fontSize, lineHeight) { var cacheKey = getCacheKey(text, width, fontFace, fontSize, lineHeight); var cached = _cache[cacheKey]; if (cached) { @@ -36,7 +35,7 @@ module.exports = function measureText (text, width, fontFace, fontSize, lineHeig } // Bail and return zero unless we're sure the font is ready. - if (!FontUtils.isFontLoaded(fontFace)) { + if (!isFontLoaded(fontFace)) { return _zeroMetrics; } @@ -50,7 +49,7 @@ module.exports = function measureText (text, width, fontFace, fontSize, lineHeig var bk; var lastBreak; - ctx.font = fontFace.attributes.style + ' ' + fontFace.attributes.weight + ' ' + fontSize + 'px ' + fontFace.family; + ctx.font = fontFace.attributes.style + ' normal ' + fontFace.attributes.weight + ' ' + fontSize + 'pt ' + fontFace.family; textMetrics = ctx.measureText(text); measuredSize.width = textMetrics.width; diff --git a/stories/canvasStory.js b/stories/canvasStory.js new file mode 100644 index 0000000..1c50023 --- /dev/null +++ b/stories/canvasStory.js @@ -0,0 +1,50 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import ReactCanvas from '../src/index' +const {Gradient, Surface} = ReactCanvas; + +storiesOf('Gradient', module) + .add('transparent-grey', () => { + const props = {size: {width: 80, height: 80}}; + return ( +
+ + + +
+ ); + }) +.add('blue-green', () => { + const props = {size: {width: 80, height: 80}}; + return ( +
+ + + +
+ ); + }); + diff --git a/stories/customDrawStory.js b/stories/customDrawStory.js new file mode 100644 index 0000000..f8e1c79 --- /dev/null +++ b/stories/customDrawStory.js @@ -0,0 +1,103 @@ +import React from 'react'; +import ReactDom from 'react-dom'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import ReactCanvas from '../src/index' + +const { registerLayerType, createCanvasComponent, Surface } = ReactCanvas; + + +registerLayerType('circle', function (ctx, layer) { + var x = layer.frame.x; + var y = layer.frame.y; + var width = layer.frame.width; + var height = layer.frame.height; + var centerX = x + width / 2; + var centerY = y + height / 2; + + var fillColor = layer.backgroundColor || '#FFF'; + var strokeColor = layer.borderColor || '#FFF'; + var strokeWidth = layer.borderWidth || 0; + + var shadowColor = layer.shadowColor || 0; + var shadowOffsetX = layer.shadowOffsetX || 0; + var shadowOffsetY = layer.shadowOffsetY || 0; + var shadowBlur = layer.shadowBlur || 0; + + var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); + + + + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); + if (shadowOffsetX || shadowOffsetY) { + ctx.shadowColor = shadowColor; + ctx.shadowBlur = shadowBlur; + ctx.shadowOffsetX = shadowOffsetX; + ctx.shadowOffsetY = shadowOffsetY; + } + + ctx.fillStyle = fillColor; + ctx.fill(); + if (strokeWidth > 0) { + ctx.lineWidth = strokeWidth; + ctx.strokeStyle = strokeColor; + ctx.stroke(); + } +}); + +const Circle = createCanvasComponent({ + displayName: 'Circle', + layerType: 'circle', + + applyCustomProps: function (prevProps, props) { + var style = props.style || {}; + var layer = this.node; + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; + } +}); + + + +var App = React.createClass({ + + render: function () { + return ( + + + + ); + }, + +}); + + + +storiesOf('CustomDraw', module) + .add('green-circle', () => { + const props = {size: {width: 80, height: 80}}; + return ( +
+ +
+ ); + }); diff --git a/stories/foo.js b/stories/foo.js new file mode 100644 index 0000000..636bb33 --- /dev/null +++ b/stories/foo.js @@ -0,0 +1,14 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { Gradient } from '../src/index' + +storiesOf('Gradient', module) + .add('transparent-grey', () => { + console.log(Gradient); + return ( +
+ hello +
+ ); + }) diff --git a/stories/heatmapStory.js b/stories/heatmapStory.js new file mode 100644 index 0000000..48508f8 --- /dev/null +++ b/stories/heatmapStory.js @@ -0,0 +1,119 @@ +import React from 'react'; + +import { storiesOf } from '@storybook/react'; + +import range from 'lodash.range'; +import { scaleBand, interpolateInferno } from 'd3-scale'; + +import ReactCanvas from '../src/index'; + +const {Gradient, ListView, Surface, Group, Image, Text, registerLayerType, createCanvasComponent} = ReactCanvas; + +import Alea from 'alea'; + +const random = new Alea(0); +random(); +const NUM_ROWS = 16; +const NUM_COLS = 1000; +const rowsRange = range(0, NUM_ROWS); +const colRange = range(0, NUM_COLS); +const rows = rowsRange.map( () => colRange.map(() => random())); + + +registerLayerType('heatmap', function (ctx, layer) { + const data = layer.data; + var x = layer.frame.x; + var y = layer.frame.y; + var width = layer.frame.width; + var height = layer.frame.height; + var centerX = x + width / 2; + var centerY = y + height / 2; + + var fillColor = layer.backgroundColor || '#FFF'; + var strokeColor = layer.borderColor || '#FFF'; + var strokeWidth = layer.borderWidth || 0; + + var shadowColor = layer.shadowColor || 0; + var shadowOffsetX = layer.shadowOffsetX || 0; + var shadowOffsetY = layer.shadowOffsetY || 0; + var shadowBlur = layer.shadowBlur || 0; + + const horizontalScale = scaleBand().domain(rowsRange).range([x, x + width]); + const verticalScale = scaleBand().domain(colRange).range([y, y + height]); + + ctx.fillStyle = fillColor; + data.forEach((row, rowIdx) => { + + row.forEach((col, colIdx) => { + ctx.fillStyle = interpolateInferno(col); + const rectDimensions = { + x: horizontalScale(rowIdx), + y: verticalScale(colIdx), + width: horizontalScale.bandwidth(), + height: verticalScale.bandwidth(), + }; + ctx.fillRect(rectDimensions.x, rectDimensions.y, rectDimensions.width, rectDimensions.height); + }) + }); + + + +}); + +const Heatmap = createCanvasComponent({ + displayName: 'Heatmap', + layerType: 'heatmap', + + applyCustomProps: function (prevProps, props) { + var style = props.style || {}; + var layer = this.node; + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; + layer.data = props.data || []; + } +}); + + + +const App = React.createClass({ + + render: function () { + const {data, height, width, x, y} = this.props; + return ( + + + + ); + }, + +}); + + + +storiesOf('Heatmap', module) + .add('heatmap', () => { + const props = {height: 800, width: 800, x: 0, y: 0, size: {width: 80, height: 80}}; + return ( +
+ +
+ ); + }); diff --git a/stories/index.js b/stories/index.js new file mode 100644 index 0000000..ab1f084 --- /dev/null +++ b/stories/index.js @@ -0,0 +1,4 @@ +import './canvasStory'; +import './listviewStory'; +import './customDrawStory'; +import './heatmapStory'; diff --git a/stories/listviewStory.js b/stories/listviewStory.js new file mode 100644 index 0000000..7f280fc --- /dev/null +++ b/stories/listviewStory.js @@ -0,0 +1,180 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import ReactCanvas from '../src/index' +const {Gradient, ListView, Surface, Group, Image, Text} = ReactCanvas; + +const articles = [ + { + title: '10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous', + excerpt: 'With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.', + imageUrl: 'http://lorempixel.com/360/420/cats/1/' + }, + { + title: 'Will Batman Save Leaf Blowing?', + excerpt: 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', + imageUrl: 'http://lorempixel.com/360/420/cats/2/' + }, + { + title: '8 Scary Things Your Professor Is Using Against You', + excerpt: 'For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.', + imageUrl: 'http://lorempixel.com/360/420/cats/3/' + }, + { + title: 'Kanye West\'s Top 10 Scandalous Microsoft Excel Secrets', + excerpt: 'My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.', + imageUrl: 'http://lorempixel.com/360/420/cats/4/' + }, + { + title: 'The Embarassing Secrets Of Julia Roberts', + excerpt: 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', + imageUrl: 'http://lorempixel.com/360/420/cats/5/' + }, + { + title: '20 Unbelievable Things Girlfriends Won\'t Tell Their Friends', + excerpt: 'On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell\'s departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.', + imageUrl: 'http://lorempixel.com/360/420/cats/6/' + }, + { + title: 'Can Vladimir Putin Save Beard Care?', + excerpt: 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', + imageUrl: 'http://lorempixel.com/360/420/cats/7/' + }, + { + title: '15 Truths That Will Make Your Psychiatrist Feel Ashamed', + excerpt: 'Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.', + imageUrl: 'http://lorempixel.com/360/420/cats/8/' + }, + { + title: '6 Terrible Facts That Make Boyfriends Stronger', + excerpt: 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', + imageUrl: 'http://lorempixel.com/360/420/cats/9/' + }, + { + title: '5 Surprising Dental Care Tips From Robert De Niro', + excerpt: 'At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o\'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.', + imageUrl: 'http://lorempixel.com/360/420/cats/10/' + }, +]; + + +var Item = React.createClass({ + + propTypes: { + width: React.PropTypes.number.isRequired, + height: React.PropTypes.number.isRequired, + imageUrl: React.PropTypes.string.isRequired, + title: React.PropTypes.string.isRequired, + itemIndex: React.PropTypes.number.isRequired, + }, + + statics: { + getItemHeight: function () { + return 80; + } + }, + + render: function () { + return ( + + + {this.props.title} + + ); + }, + + getStyle: function () { + return { + width: this.props.width, + height: Item.getItemHeight(), + backgroundColor: (this.props.itemIndex % 2) ? '#eee' : '#a5d2ee' + }; + }, + + getImageStyle: function () { + return { + top: 10, + left: 10, + width: 60, + height: 60, + backgroundColor: '#ddd', + borderColor: '#999', + borderWidth: 1 + }; + }, + + getTitleStyle: function () { + return { + top: 32, + left: 80, + width: this.props.width - 90, + height: 18, + fontSize: 14, + lineHeight: 18 + }; + } + +}); + +const App = React.createClass({ + + render: function () { + var size = this.getSize(); + return ( + + + + ); + }, + + renderItem: function (itemIndex, scrollTop) { + var article = articles[itemIndex % articles.length]; + return ( + + ); + }, + + getSize: function () { + return { + width: 800, + height: 400, + } + }, + + // ListView + // ======== + + getListViewStyle: function () { + return { + top: 0, + left: 0, + width: window.innerWidth, + height: window.innerHeight + }; + }, + + getNumberOfItems: function () { + return 1000; + }, + +}); + +storiesOf('ListView', module) + .add('transparent-grey', () => { + const props = {size: {width: 80, height: 80}}; + return ( +
+ +
+ ); + }); diff --git a/tools/rollup_build.js b/tools/rollup_build.js new file mode 100644 index 0000000..98c32d7 --- /dev/null +++ b/tools/rollup_build.js @@ -0,0 +1,98 @@ +const rollup = require('rollup') +const pkg = require('../package.json') +const del = require('del') + +const sourcemaps = require('rollup-plugin-sourcemaps') +const babel = require('rollup-plugin-babel') +const builtins = require('rollup-plugin-node-builtins') +const nodeResolve = require('rollup-plugin-node-resolve') +const commonjs = require('rollup-plugin-commonjs') +const babili = require('rollup-plugin-babili') + +const bundles = [ + { + format: 'cjs', + dest: pkg.main, + plugins: [ + babel({ + exclude: 'node_modules/**', + babelrc: false, + plugins: [ + 'transform-class-properties', + 'external-helpers', + ], + presets: [ + ['es2015', {modules: false}] + ], + }), + ], + }, + { + format: 'es', + dest: pkg.module, + plugins: [ + babel({ + exclude: 'node_modules/**', + babelrc: false, + plugins: [ + 'transform-class-properties', + 'external-helpers', + ], + }), + ], + }, +] + +const prePlugins = [ + sourcemaps(), +] + +const postPlugins = [ + builtins(), + nodeResolve(), + commonjs(), + babili({comments: false}), +] + +let promise = Promise.resolve() +promise = promise.then(() => del(['dist/'])) + +function supressWarnings(supressed, cb) { + return function (warning) { + if (supressed.indexOf(warning.code) === -1) { + if (typeof cb === 'function') cb(warning) + else console.log(warning.message) + } + } +} + +function logWarningCodes(warning) { + console.log(warning.code) + console.log(warning.message) +} + +const externalDependencides = Object.keys(pkg.dependencies) + .concat(Object.keys(pkg.peerDependencies)) + .concat([ + 'react-dom/lib/ReactUpdates', + 'react-dom/lib/ReactMultiChild' + ]) + +for (const config of bundles) { + promise = promise.then(() => rollup.rollup({ + entry: 'lib/ReactCanvas.js', + external: externalDependencides, + plugins: prePlugins + .concat(config.plugins) + .concat(postPlugins), + onwarn: supressWarnings(['MISSING_GLOBAL_NAME'], logWarningCodes), + })) + .then(bundle => bundle.write({ + dest: config.dest, + format: config.format, + moduleName: config.moduleName, + sourceMap: true, + })) +} + +promise.catch((err) => console.error(err.stack)) diff --git a/webpack.config.babel.js b/webpack.config.babel.js new file mode 100644 index 0000000..9be60c2 --- /dev/null +++ b/webpack.config.babel.js @@ -0,0 +1,34 @@ +import path from 'path'; + +const config = { + entry: './src/index.js', + output: { + filename: 'bundle.js', + path: path.join(__dirname, '/dist'), + + + // the name of the exported library + + libraryTarget: "commonjs", // universal module definition + // the type of the exported library + }, + + module: { + rules: [ + { + test: /\.js$/, + exclude: /(node_modules)/, + use: { + loader: 'babel-loader', + query: { + plugins: ["transform-class-properties", "transform-object-rest-spread"] + } + } + } + ] + + }, + +}; + +export default config; diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index be5b45d..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - cache: true, - - watch: true, - - entry: { - 'listview': ['./examples/listview/app.js'], - 'timeline': ['./examples/timeline/app.js'], - 'gradient': ['./examples/gradient/app.js'], - 'css-layout': ['./examples/css-layout/app.js'] - }, - - output: { - filename: '[name].js' - }, - - module: { - loaders: [ - { test: /\.js$/, loader: 'babel-loader!transform/cacheable?envify' }, - ], - postLoaders: [ - { loader: "transform?brfs" } - ] - }, - devtool: ['source-map'], - resolve: { - root: __dirname, - alias: { - 'react-canvas': 'lib/ReactCanvas.js' - } - } -}; diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..f3da08a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,9064 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" + dependencies: + "@babel/highlight" "7.0.0-beta.44" + +"@babel/code-frame@^7.0.0-beta.35": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" + dependencies: + "@babel/highlight" "7.0.0-beta.47" + +"@babel/generator@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" + dependencies: + "@babel/types" "7.0.0-beta.44" + jsesc "^2.5.1" + lodash "^4.2.0" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/helper-function-name@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" + dependencies: + "@babel/helper-get-function-arity" "7.0.0-beta.44" + "@babel/template" "7.0.0-beta.44" + "@babel/types" "7.0.0-beta.44" + +"@babel/helper-get-function-arity@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" + dependencies: + "@babel/types" "7.0.0-beta.44" + +"@babel/helper-split-export-declaration@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" + dependencies: + "@babel/types" "7.0.0-beta.44" + +"@babel/highlight@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +"@babel/highlight@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +"@babel/template@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" + dependencies: + "@babel/code-frame" "7.0.0-beta.44" + "@babel/types" "7.0.0-beta.44" + babylon "7.0.0-beta.44" + lodash "^4.2.0" + +"@babel/traverse@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" + dependencies: + "@babel/code-frame" "7.0.0-beta.44" + "@babel/generator" "7.0.0-beta.44" + "@babel/helper-function-name" "7.0.0-beta.44" + "@babel/helper-split-export-declaration" "7.0.0-beta.44" + "@babel/types" "7.0.0-beta.44" + babylon "7.0.0-beta.44" + debug "^3.1.0" + globals "^11.1.0" + invariant "^2.2.0" + lodash "^4.2.0" + +"@babel/types@7.0.0-beta.44": + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" + dependencies: + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^2.0.0" + +"@craigmorton/linebreak@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@craigmorton/linebreak/-/linebreak-0.4.5.tgz#b3a9787844bc5ad954eed23c778ba56769e78d2f" + dependencies: + base64-js "0.0.8" + unicode-trie "^0.3.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" + +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + +"@storybook/addon-actions@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.5.tgz#ba0d0c0c74357c0852e0b890b404214975df40a8" + dependencies: + "@storybook/components" "3.4.5" + babel-runtime "^6.26.0" + deep-equal "^1.0.1" + glamor "^2.20.40" + glamorous "^4.12.1" + global "^4.3.2" + make-error "^1.3.4" + prop-types "^15.6.1" + react-inspector "^2.2.2" + uuid "^3.2.1" + +"@storybook/addon-links@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.5.tgz#c885dae976f5084faa0ae026755f2d6068da034f" + dependencies: + "@storybook/components" "3.4.5" + babel-runtime "^6.26.0" + global "^4.3.2" + prop-types "^15.6.1" + +"@storybook/addons@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.5.tgz#8dd6eb93ae26b4498a9b1e2b890316944efa41da" + +"@storybook/channel-postmessage@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.5.tgz#8c7de674847dec2a154947e0b99e54a2618c79cb" + dependencies: + "@storybook/channels" "3.4.5" + global "^4.3.2" + json-stringify-safe "^5.0.1" + +"@storybook/channels@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.5.tgz#cb8e3798cdcbed0b7037e634fb029cdd758c73a8" + +"@storybook/client-logger@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.5.tgz#aca45699b14d6663c694ab3253d46bc257f8783e" + +"@storybook/components@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.5.tgz#02653ba562e3678eab3adbc31b012eae4fbe61dc" + dependencies: + glamor "^2.20.40" + glamorous "^4.12.1" + prop-types "^15.6.1" + +"@storybook/core@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.5.tgz#a34a498eace85d29a12559a895c420f5ae54b0b7" + dependencies: + "@storybook/addons" "3.4.5" + "@storybook/channel-postmessage" "3.4.5" + "@storybook/client-logger" "3.4.5" + "@storybook/node-logger" "3.4.5" + "@storybook/ui" "3.4.5" + autoprefixer "^7.2.6" + babel-runtime "^6.26.0" + chalk "^2.3.2" + commander "^2.15.0" + css-loader "^0.28.11" + dotenv "^5.0.1" + events "^2.0.0" + express "^4.16.3" + file-loader "^1.1.11" + global "^4.3.2" + json-loader "^0.5.7" + postcss-flexbugs-fixes "^3.2.0" + postcss-loader "^2.1.2" + prop-types "^15.6.1" + qs "^6.5.1" + serve-favicon "^2.4.5" + shelljs "^0.8.1" + style-loader "^0.20.3" + url-loader "^0.6.2" + webpack "^3.11.0" + webpack-dev-middleware "^1.12.2" + webpack-hot-middleware "^2.22.1" + +"@storybook/mantra-core@^1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@storybook/mantra-core/-/mantra-core-1.7.2.tgz#e10c7faca29769e97131e0e0308ef7cfb655b70c" + dependencies: + "@storybook/react-komposer" "^2.0.1" + "@storybook/react-simple-di" "^1.2.1" + babel-runtime "6.x.x" + +"@storybook/node-logger@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.5.tgz#d08c082b0d4a573736f25c2e0eea261b30183962" + dependencies: + npmlog "^4.1.2" + +"@storybook/podda@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@storybook/podda/-/podda-1.2.3.tgz#53c4a1a3f8c7bbd5755dff5c34576fd1af9d38ba" + dependencies: + babel-runtime "^6.11.6" + immutable "^3.8.1" + +"@storybook/react-komposer@^2.0.1", "@storybook/react-komposer@^2.0.3": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@storybook/react-komposer/-/react-komposer-2.0.4.tgz#c2c0d4a75d9b4a9c0c6b46f14ab050f458ad4bb0" + dependencies: + "@storybook/react-stubber" "^1.0.0" + babel-runtime "^6.11.6" + hoist-non-react-statics "^1.2.0" + lodash.pick "^4.4.0" + shallowequal "^0.2.2" + +"@storybook/react-simple-di@^1.2.1": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@storybook/react-simple-di/-/react-simple-di-1.3.0.tgz#13116d89a2f42898716a7f8c4095b47415526371" + dependencies: + babel-runtime "6.x.x" + create-react-class "^15.6.2" + hoist-non-react-statics "1.x.x" + prop-types "^15.6.0" + +"@storybook/react-stubber@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@storybook/react-stubber/-/react-stubber-1.0.1.tgz#8c312c2658b9eeafce470e1c39e4193f0b5bf9b1" + dependencies: + babel-runtime "^6.5.0" + +"@storybook/react@^3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.5.tgz#1979423f365252cf03a4508db26b676f239c1e80" + dependencies: + "@storybook/addon-actions" "3.4.5" + "@storybook/addon-links" "3.4.5" + "@storybook/addons" "3.4.5" + "@storybook/channel-postmessage" "3.4.5" + "@storybook/client-logger" "3.4.5" + "@storybook/core" "3.4.5" + "@storybook/node-logger" "3.4.5" + "@storybook/ui" "3.4.5" + airbnb-js-shims "^1.4.1" + babel-loader "^7.1.4" + babel-plugin-macros "^2.2.0" + babel-plugin-react-docgen "^1.9.0" + babel-plugin-transform-regenerator "^6.26.0" + babel-plugin-transform-runtime "^6.23.0" + babel-preset-env "^1.6.1" + babel-preset-minify "^0.3.0" + babel-preset-react "^6.24.1" + babel-preset-stage-0 "^6.24.1" + babel-runtime "^6.26.0" + case-sensitive-paths-webpack-plugin "^2.1.2" + common-tags "^1.7.2" + core-js "^2.5.3" + dotenv-webpack "^1.5.5" + find-cache-dir "^1.0.0" + glamor "^2.20.40" + glamorous "^4.12.1" + global "^4.3.2" + html-loader "^0.5.5" + html-webpack-plugin "^2.30.1" + json5 "^0.5.1" + lodash.flattendeep "^4.4.0" + markdown-loader "^2.0.2" + prop-types "^15.6.1" + react-dev-utils "^5.0.0" + redux "^3.7.2" + uglifyjs-webpack-plugin "^1.2.4" + util-deprecate "^1.0.2" + webpack "^3.11.0" + webpack-hot-middleware "^2.22.1" + +"@storybook/ui@3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.5.tgz#b11e97590b5e09b2d1452c0a4b84567780ec3390" + dependencies: + "@storybook/components" "3.4.5" + "@storybook/mantra-core" "^1.7.2" + "@storybook/podda" "^1.2.3" + "@storybook/react-komposer" "^2.0.3" + babel-runtime "^6.26.0" + deep-equal "^1.0.1" + events "^2.0.0" + fuse.js "^3.2.0" + global "^4.3.2" + keycode "^2.1.9" + lodash.debounce "^4.0.8" + lodash.pick "^4.4.0" + lodash.sortby "^4.7.0" + lodash.throttle "^4.1.1" + prop-types "^15.6.1" + qs "^6.5.1" + react-fuzzy "^0.5.2" + react-icons "^2.2.7" + react-modal "^3.3.2" + react-split-pane "^0.1.77" + react-treebeard "^2.1.0" + +"@webassemblyjs/ast@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.4.3.tgz#3b3f6fced944d8660273347533e6d4d315b5934a" + dependencies: + "@webassemblyjs/helper-wasm-bytecode" "1.4.3" + "@webassemblyjs/wast-parser" "1.4.3" + debug "^3.1.0" + webassemblyjs "1.4.3" + +"@webassemblyjs/floating-point-hex-parser@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz#f5aee4c376a717c74264d7bacada981e7e44faad" + +"@webassemblyjs/helper-buffer@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz#0434b55958519bf503697d3824857b1dea80b729" + dependencies: + debug "^3.1.0" + +"@webassemblyjs/helper-code-frame@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz#f1349ca3e01a8e29ee2098c770773ef97af43641" + dependencies: + "@webassemblyjs/wast-printer" "1.4.3" + +"@webassemblyjs/helper-fsm@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz#65a921db48fb43e868f17b27497870bdcae22b79" + +"@webassemblyjs/helper-wasm-bytecode@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz#0e5b4b5418e33f8a26e940b7809862828c3721a5" + +"@webassemblyjs/helper-wasm-section@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz#9ceedd53a3f152c3412e072887ade668d0b1acbf" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/helper-buffer" "1.4.3" + "@webassemblyjs/helper-wasm-bytecode" "1.4.3" + "@webassemblyjs/wasm-gen" "1.4.3" + debug "^3.1.0" + +"@webassemblyjs/leb128@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.4.3.tgz#5a5e5949dbb5adfe3ae95664d0439927ac557fb8" + dependencies: + leb "^0.3.0" + +"@webassemblyjs/validation@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/validation/-/validation-1.4.3.tgz#9e66c9b3079d7bbcf2070c1bf52a54af2a09aac9" + dependencies: + "@webassemblyjs/ast" "1.4.3" + +"@webassemblyjs/wasm-edit@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz#87febd565e0ffb5ae25f6495bb3958d17aa0a779" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/helper-buffer" "1.4.3" + "@webassemblyjs/helper-wasm-bytecode" "1.4.3" + "@webassemblyjs/helper-wasm-section" "1.4.3" + "@webassemblyjs/wasm-gen" "1.4.3" + "@webassemblyjs/wasm-opt" "1.4.3" + "@webassemblyjs/wasm-parser" "1.4.3" + "@webassemblyjs/wast-printer" "1.4.3" + debug "^3.1.0" + +"@webassemblyjs/wasm-gen@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz#8553164d0154a6be8f74d653d7ab355f73240aa4" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/helper-wasm-bytecode" "1.4.3" + "@webassemblyjs/leb128" "1.4.3" + +"@webassemblyjs/wasm-opt@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz#26c7a23bfb136aa405b1d3410e63408ec60894b8" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/helper-buffer" "1.4.3" + "@webassemblyjs/wasm-gen" "1.4.3" + "@webassemblyjs/wasm-parser" "1.4.3" + debug "^3.1.0" + +"@webassemblyjs/wasm-parser@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz#7ddd3e408f8542647ed612019cfb780830993698" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/helper-wasm-bytecode" "1.4.3" + "@webassemblyjs/leb128" "1.4.3" + "@webassemblyjs/wasm-parser" "1.4.3" + webassemblyjs "1.4.3" + +"@webassemblyjs/wast-parser@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz#3250402e2c5ed53dbe2233c9de1fe1f9f0d51745" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/floating-point-hex-parser" "1.4.3" + "@webassemblyjs/helper-code-frame" "1.4.3" + "@webassemblyjs/helper-fsm" "1.4.3" + long "^3.2.0" + webassemblyjs "1.4.3" + +"@webassemblyjs/wast-printer@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz#3d59aa8d0252d6814a3ef4e6d2a34c9ded3904e0" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/wast-parser" "1.4.3" + long "^3.2.0" + +abab@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + dependencies: + acorn "^4.0.3" + +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + dependencies: + acorn "^5.0.0" + +acorn-globals@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" + dependencies: + acorn "^5.0.0" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" + +address@1.0.3, address@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" + +airbnb-js-shims@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.4.1.tgz#cc3e8eb8d35877f9d0fdc6583e26b0ee75b98ad0" + dependencies: + array-includes "^3.0.3" + array.prototype.flatmap "^1.2.0" + array.prototype.flatten "^1.2.0" + es5-shim "^4.5.10" + es6-shim "^0.35.3" + function.prototype.name "^1.1.0" + object.entries "^1.0.4" + object.getownpropertydescriptors "^2.0.3" + object.values "^1.0.4" + promise.prototype.finally "^3.1.0" + string.prototype.padend "^3.0.0" + string.prototype.padstart "^3.0.0" + +ajv-keywords@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" + +ajv-keywords@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + +ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + uri-js "^4.2.1" + +alea@^0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/alea/-/alea-0.0.9.tgz#f738cb45f83430069f45cf69ccbf312dd57a9e1a" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + +any-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.2.0.tgz#c67870058003579009083f54ac0abafb5c33d242" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + +array-find@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +array.prototype.flatmap@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.10.0" + function-bind "^1.1.1" + +array.prototype.flatten@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.1.tgz#a77ae1b64524ce373b137fade324d12040d3c680" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.10.0" + function-bind "^1.1.1" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +ast-types@0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" + +ast-types@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" + +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +async@^1.4.0, async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.1.2, async@^2.1.4, async@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + dependencies: + lodash "^4.14.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +autoprefixer@^7.2.6: + version "7.2.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" + dependencies: + browserslist "^2.11.3" + caniuse-lite "^1.0.30000805" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^6.0.17" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" + +babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0, babel-core@^6.26.3: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-eslint@^8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf" + dependencies: + "@babel/code-frame" "7.0.0-beta.44" + "@babel/traverse" "7.0.0-beta.44" + "@babel/types" "7.0.0-beta.44" + babylon "7.0.0-beta.44" + eslint-scope "~3.7.1" + eslint-visitor-keys "^1.0.0" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-builder-react-jsx@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + esutils "^2.0.2" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-evaluate-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.3.0.tgz#2439545e0b6eae5b7f49b790acbebd6b9a73df20" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-flip-expressions@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.3.0.tgz#f5b6394bd5219b43cf8f7b201535ed540c6e7fa2" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-is-nodes-equiv@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" + +babel-helper-is-void-0@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.3.0.tgz#95570d20bd27b2206f68083ae9980ee7003d8fe7" + +babel-helper-mark-eval-scopes@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.3.0.tgz#b4731314fdd7a89091271a5213b4e12d236e29e8" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-remove-or-void@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.3.0.tgz#f43c86147c8fcc395a9528cbb31e7ff49d7e16e3" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-to-multiple-sequence-expressions@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.3.0.tgz#8da2275ccc26995566118f7213abfd9af7214427" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.3.tgz#4b7a0b6041691bbd422ab49b3b73654a49a6627a" + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.4.3" + +babel-loader@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-external-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^4.1.5: + version "4.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" + find-up "^2.1.0" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" + +babel-plugin-jest-hoist@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a" + +babel-plugin-macros@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.2.1.tgz#7cc0f84735aa86f776b51860793a98928f43a7fa" + dependencies: + cosmiconfig "^4.0.0" + +babel-plugin-minify-builtins@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.3.0.tgz#4740117a6a784063aaf8f092989cf9e4bd484860" + dependencies: + babel-helper-evaluate-path "^0.3.0" + +babel-plugin-minify-constant-folding@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.3.0.tgz#687e40336bd4ddd921e0e197f0006235ac184bb9" + dependencies: + babel-helper-evaluate-path "^0.3.0" + +babel-plugin-minify-dead-code-elimination@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.3.0.tgz#a323f686c404b824186ba5583cf7996cac81719e" + dependencies: + babel-helper-evaluate-path "^0.3.0" + babel-helper-mark-eval-scopes "^0.3.0" + babel-helper-remove-or-void "^0.3.0" + lodash.some "^4.6.0" + +babel-plugin-minify-flip-comparisons@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.3.0.tgz#6627893a409c9f30ef7f2c89e0c6eea7ee97ddc4" + dependencies: + babel-helper-is-void-0 "^0.3.0" + +babel-plugin-minify-guarded-expressions@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.3.0.tgz#2552d96189ef45d9a463f1a6b5e4fa110703ac8d" + dependencies: + babel-helper-flip-expressions "^0.3.0" + +babel-plugin-minify-infinity@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.3.0.tgz#c5ec0edd433517cf31b3af17077c202beb48bbe7" + +babel-plugin-minify-mangle-names@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.3.0.tgz#f28561bad0dd2f0380816816bb946e219b3b6135" + dependencies: + babel-helper-mark-eval-scopes "^0.3.0" + +babel-plugin-minify-numeric-literals@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.3.0.tgz#b57734a612e8a592005407323c321119f27d4b40" + +babel-plugin-minify-replace@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.3.0.tgz#980125bbf7cbb5a637439de9d0b1b030a4693893" + +babel-plugin-minify-simplify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.3.0.tgz#14574cc74d21c81d3060fafa041010028189f11b" + dependencies: + babel-helper-flip-expressions "^0.3.0" + babel-helper-is-nodes-equiv "^0.0.1" + babel-helper-to-multiple-sequence-expressions "^0.3.0" + +babel-plugin-minify-type-constructors@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.3.0.tgz#7f5a86ef322c4746364e3c591b8514eeafea6ad4" + dependencies: + babel-helper-is-void-0 "^0.3.0" + +babel-plugin-react-docgen@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.9.0.tgz#2e79aeed2f93b53a172398f93324fdcf9f02e01f" + dependencies: + babel-types "^6.24.1" + lodash "^4.17.0" + react-docgen "^3.0.0-beta11" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-flow@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + +babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + +babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-do-expressions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-function-bind@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-inline-consecutive-adds@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.3.0.tgz#f07d93689c0002ed2b2b62969bdd99f734e03f57" + +babel-plugin-transform-member-expression-literals@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf" + +babel-plugin-transform-merge-sibling-variables@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae" + +babel-plugin-transform-minify-booleans@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" + +babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-property-literals@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39" + dependencies: + esutils "^2.0.2" + +babel-plugin-transform-react-display-name@^6.23.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-react-jsx-self@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-react-jsx-source@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-react-jsx@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" + dependencies: + babel-helper-builder-react-jsx "^6.24.1" + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1, babel-plugin-transform-regenerator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-regexp-constructors@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.3.0.tgz#9bb2c8dd082271a5cb1b3a441a7c52e8fd07e0f5" + +babel-plugin-transform-remove-console@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" + +babel-plugin-transform-remove-debugger@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2" + +babel-plugin-transform-remove-undefined@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.3.0.tgz#03f5f0071867781e9beabbc7b77bf8095fd3f3ec" + dependencies: + babel-helper-evaluate-path "^0.3.0" + +babel-plugin-transform-runtime@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-simplify-comparison-operators@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-undefined-to-void@^6.9.0: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" + +babel-preset-env@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^3.2.6" + invariant "^2.2.2" + semver "^5.3.0" + +babel-preset-es2015@^6.9.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-flow@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" + dependencies: + babel-plugin-transform-flow-strip-types "^6.22.0" + +babel-preset-jest@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" + dependencies: + babel-plugin-jest-hoist "^22.4.3" + babel-plugin-syntax-object-rest-spread "^6.13.0" + +babel-preset-minify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.3.0.tgz#7db64afa75f16f6e06c0aa5f25195f6f36784d77" + dependencies: + babel-plugin-minify-builtins "^0.3.0" + babel-plugin-minify-constant-folding "^0.3.0" + babel-plugin-minify-dead-code-elimination "^0.3.0" + babel-plugin-minify-flip-comparisons "^0.3.0" + babel-plugin-minify-guarded-expressions "^0.3.0" + babel-plugin-minify-infinity "^0.3.0" + babel-plugin-minify-mangle-names "^0.3.0" + babel-plugin-minify-numeric-literals "^0.3.0" + babel-plugin-minify-replace "^0.3.0" + babel-plugin-minify-simplify "^0.3.0" + babel-plugin-minify-type-constructors "^0.3.0" + babel-plugin-transform-inline-consecutive-adds "^0.3.0" + babel-plugin-transform-member-expression-literals "^6.9.0" + babel-plugin-transform-merge-sibling-variables "^6.9.0" + babel-plugin-transform-minify-booleans "^6.9.0" + babel-plugin-transform-property-literals "^6.9.0" + babel-plugin-transform-regexp-constructors "^0.3.0" + babel-plugin-transform-remove-console "^6.9.0" + babel-plugin-transform-remove-debugger "^6.9.0" + babel-plugin-transform-remove-undefined "^0.3.0" + babel-plugin-transform-simplify-comparison-operators "^6.9.0" + babel-plugin-transform-undefined-to-void "^6.9.0" + lodash.isplainobject "^4.0.6" + +babel-preset-react@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" + dependencies: + babel-plugin-syntax-jsx "^6.3.13" + babel-plugin-transform-react-display-name "^6.23.0" + babel-plugin-transform-react-jsx "^6.24.1" + babel-plugin-transform-react-jsx-self "^6.22.0" + babel-plugin-transform-react-jsx-source "^6.22.0" + babel-preset-flow "^6.23.0" + +babel-preset-stage-0@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" + dependencies: + babel-plugin-transform-do-expressions "^6.22.0" + babel-plugin-transform-function-bind "^6.22.0" + babel-preset-stage-1 "^6.24.1" + +babel-preset-stage-1@^6.24.1, babel-preset-stage-1@^6.5.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.26.0, babel-register@^6.9.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@7.0.0-beta.31: + version "7.0.0-beta.31" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f" + +babylon@7.0.0-beta.44: + version "7.0.0-beta.44" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" + +babylon@^6.17.3, babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +babylon@^7.0.0-beta.30: + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +binaryextensions@2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.1.tgz#3209a51ca4a4ad541a3b8d3d6a6d5b83a2485935" + +bluebird@^3.4.7, bluebird@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + +boom@4.x.x: + version "4.3.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" + dependencies: + hoek "4.x.x" + +boom@5.x.x: + version "5.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" + dependencies: + hoek "4.x.x" + +bowser@^1.0.0, bowser@^1.7.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.3.tgz#6643ae4d783f31683f6d23156976b74183862162" + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brcast@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + +browser-resolve@^1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^2.11.3: + version "2.11.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" + dependencies: + caniuse-lite "^1.0.30000792" + electron-to-chromium "^1.3.30" + +browserslist@^3.2.6: + version "3.2.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.7.tgz#aa488634d320b55e88bab0256184dbbcca1e6de9" + dependencies: + caniuse-lite "^1.0.30000835" + electron-to-chromium "^1.3.45" + +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" + dependencies: + clone-response "1.0.2" + get-stream "3.0.0" + http-cache-semantics "3.8.1" + keyv "3.0.0" + lowercase-keys "1.0.0" + normalize-url "2.0.1" + responselike "1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000842" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000842.tgz#8a82c377b8b3d6f2594478e8431ff4fd303e160c" + +caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000835: + version "1.0.30000842" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000842.tgz#7a198e3181a207f4b5749b8f5a1817685bf3d7df" + +capture-exit@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + dependencies: + rsvp "^3.3.3" + +case-sensitive-paths-webpack-plugin@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + +chokidar@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.0" + optionalDependencies: + fsevents "^1.1.2" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +chrome-trace-event@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz#d395af2d31c87b90a716c831fe326f69768ec084" + +ci-info@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + dependencies: + chalk "^1.1.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + +clean-css@4.1.x: + version "4.1.11" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a" + dependencies: + source-map "0.5.x" + +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + +clone-response@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + dependencies: + mimic-response "^1.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + +clone@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + +cloneable-readable@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.3.0, color-convert@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-name@^1.0.0, color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +colors@^1.1.2: + version "1.2.5" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@1.0.6, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@2.15.x, commander@^2.15.0, commander@^2.9.0, commander@~2.15.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + +common-tags@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.7.2.tgz#24d9768c63d253a56ecff93845b44b4df1d52771" + dependencies: + babel-runtime "^6.26.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +compare-versions@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.2.1.tgz#a49eb7689d4caaf0b6db5220173fd279614000f7" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.5.0, concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.4.0, convert-source-map@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: + version "2.5.6" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +cosmiconfig@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" + require-from-string "^2.0.1" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-react-class@^15.6.0, create-react-class@^15.6.2: + version "15.6.3" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cryptiles@3.x.x: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" + dependencies: + boom "5.x.x" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + +css-in-js-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" + dependencies: + hyphenate-style-name "^1.0.2" + isobject "^3.0.1" + +css-loader@^0.28.11: + version "0.28.11" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + cssnano "^3.10.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.1.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-what@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +cssnano@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + +"cssstyle@>= 0.2.37 < 0.3.0": + version "0.2.37" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + dependencies: + cssom "0.3.x" + +csstype@^2.2.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.2.tgz#4534308476ceede8fbe148b9b99f9baf1c80fa06" + +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + +d3-array@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" + +d3-collection@1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" + +d3-color@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.0.tgz#d1ea19db5859c86854586276ec892cf93148459a" + +d3-format@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.0.tgz#a3ac44269a2011cdb87c7b5693040c18cddfff11" + +d3-interpolate@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.2.0.tgz#40d81bd8e959ff021c5ea7545bc79b8d22331c41" + dependencies: + d3-color "1" + +d3-scale@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-color "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-time-format@2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31" + dependencies: + d3-time "1" + +d3-time@1: + version "1.0.8" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dargs@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f" + dependencies: + abab "^1.0.4" + whatwg-mimetype "^2.0.0" + whatwg-url "^6.4.0" + +date-fns@^1.27.2: + version "1.29.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + dependencies: + mimic-response "^1.0.0" + +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-conflict@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +doctrine@^2.0.0, doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + dependencies: + esutils "^2.0.2" + +dom-converter@~0.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + dependencies: + utila "~0.3" + +dom-helpers@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6" + +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +domelementtype@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domexception@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + +domhandler@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + dependencies: + domelementtype "1" + +domutils@1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +dotenv-webpack@^1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.5.5.tgz#3441094f04d304b6119e6b72524e62fb3252f5f2" + dependencies: + dotenv "^5.0.1" + +dotenv@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +editions@^1.3.3: + version "1.3.4" + resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +ejs@^2.5.9: + version "2.6.1" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" + +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.45: + version "1.3.47" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz#764e887ca9104d01a0ac8eabee7dfc0e2ce14104" + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +enhanced-resolve@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +envinfo@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-4.4.2.tgz#472c49f3a8b9bca73962641ce7cb692bf623cd1c" + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +error@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" + dependencies: + string-template "~0.2.1" + xtend "~4.0.0" + +es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0, es-abstract@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.42" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es5-shim@^4.5.10: + version "4.5.10" + resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.10.tgz#b7e17ef4df2a145b821f1497b50c25cf94026205" + +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-shim@^0.35.3: + version "0.35.3" + resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" + +es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-templates@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + dependencies: + recast "~0.11.12" + through "~2.3.6" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^3.7.1, eslint-scope@~3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-visitor-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + +eslint@^4.1.1: + version "4.19.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" + dependencies: + ajv "^5.3.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^3.1.0" + doctrine "^2.1.0" + eslint-scope "^3.7.1" + eslint-visitor-keys "^1.0.0" + espree "^3.5.4" + esquery "^1.0.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.0.1" + ignore "^3.3.3" + imurmurhash "^0.1.4" + inquirer "^3.0.6" + is-resolvable "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^7.0.0" + progress "^2.0.0" + regexpp "^1.0.1" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" + strip-json-comments "~2.0.1" + table "4.0.2" + text-table "~0.2.0" + +espree@^3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" + dependencies: + acorn "^5.5.0" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^3.1.3, esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esquery@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + dependencies: + estraverse "^4.1.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +events@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/events/-/events-2.0.0.tgz#cbbb56bf3ab1ac18d71c43bb32c86255062769f2" + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" + dependencies: + merge "^1.1.3" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exenv@^1.2.0, exenv@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + dependencies: + homedir-polyfill "^1.0.1" + +expect@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" + dependencies: + ansi-styles "^3.2.0" + jest-diff "^22.4.3" + jest-get-type "^22.4.3" + jest-matcher-utils "^22.4.3" + jest-message-util "^22.4.3" + jest-regex-util "^22.4.3" + +express@^4.16.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.3" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +external-editor@^2.0.4, external-editor@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + +fast-glob@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.0.1" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.1" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fast-memoize@^2.2.7: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.3.2.tgz#f6b9eb8e06a754029cca25b4cd3945f2f6242c90" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + dependencies: + bser "^2.0.0" + +fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.8, fbjs@^0.8.9: + version "0.8.16" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-loader@^1.1.11: + version "1.1.11" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.4.5" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +filesize@3.5.11: + version "3.5.11" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + dependencies: + readable-stream "^2.0.2" + +flat-cache@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + +flow-parser@^0.*: + version "0.72.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.72.0.tgz#6c8041e76ac7d0be1a71ce29c00cd1435fb6013c" + +flush-write-stream@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +from2@^2.1.0, from2@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.1.2, fsevents@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +function.prototype.name@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + is-callable "^1.1.3" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + +fuse.js@^3.0.1, fuse.js@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.0.tgz#f0448e8069855bf2a3e683cdc1d320e7e2a07ef4" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stream@3.0.0, get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +gh-got@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" + dependencies: + got "^7.0.0" + is-plain-obj "^1.1.0" + +github-username@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" + dependencies: + gh-got "^6.0.0" + +glamor@^2.20.40: + version "2.20.40" + resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.40.tgz#f606660357b7cf18dface731ad1a2cfa93817f05" + dependencies: + fbjs "^0.8.12" + inline-style-prefixer "^3.0.6" + object-assign "^4.1.1" + prop-types "^15.5.10" + through "^2.3.8" + +glamorous@^4.12.1: + version "4.13.0" + resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.13.0.tgz#4ac5cb05633aa49a0396d409f665dd9b614f1b5a" + dependencies: + brcast "^3.0.0" + csstype "^2.2.0" + fast-memoize "^2.2.7" + html-tag-names "^1.1.1" + is-function "^1.0.1" + is-plain-object "^2.0.4" + react-html-attributes "^1.4.2" + svg-tag-names "^1.1.0" + +glob-all@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.1.0.tgz#8913ddfb5ee1ac7812656241b03d5217c64b02ab" + dependencies: + glob "^7.0.5" + yargs "~1.2.6" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@1.0.0, global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +globals@^11.0.1, globals@^11.1.0: + version "11.5.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^8.0.0, globby@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +got@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + dependencies: + decompress-response "^3.2.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-plain-obj "^1.1.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + p-cancelable "^0.3.0" + p-timeout "^1.1.1" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + url-parse-lax "^1.0.0" + url-to-options "^1.0.1" + +got@^8.2.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.1.tgz#093324403d4d955f5a16a7a8d39955d055ae10ed" + dependencies: + "@sindresorhus/is" "^0.7.0" + cacheable-request "^2.1.1" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + into-stream "^3.1.0" + is-retry-allowed "^1.1.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + mimic-response "^1.0.0" + p-cancelable "^0.4.0" + p-timeout "^2.0.1" + pify "^3.0.0" + safe-buffer "^5.1.1" + timed-out "^4.0.1" + url-parse-lax "^3.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +grouped-queue@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" + dependencies: + lodash "^4.17.2" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +gzip-size@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + dependencies: + duplexer "^0.1.1" + +handlebars@^4.0.3: + version "4.0.11" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + dependencies: + has-symbol-support-x "^1.4.1" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hawk@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" + dependencies: + boom "4.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + sntp "2.x.x" + +he@1.1.x: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@4.x.x: + version "4.2.1" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" + +hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +html-element-attributes@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-1.3.1.tgz#9fa6a2e37e6b61790a303e87ddbbb9746e8c035f" + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + +html-loader@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + dependencies: + es6-templates "^0.2.3" + fastparse "^1.1.1" + html-minifier "^3.5.8" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +html-minifier@^3.2.3, html-minifier@^3.5.8: + version "3.5.15" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.15.tgz#f869848d4543cbfd84f26d5514a2a87cbf9a05e0" + dependencies: + camel-case "3.0.x" + clean-css "4.1.x" + commander "2.15.x" + he "1.1.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.3.x" + +html-tag-names@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.3.tgz#f81f75e59d626cb8a958a19e58f90c1d69707b82" + +html-webpack-plugin@^2.30.1: + version "2.30.1" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" + dependencies: + bluebird "^3.4.7" + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + toposort "^1.0.0" + +htmlparser2@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + dependencies: + domelementtype "1" + domhandler "2.1" + domutils "1.1" + readable-stream "1.0" + +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + +http-errors@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.4.0: + version "0.4.12" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.12.tgz#b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +hyphenate-style-name@^1.0.1, hyphenate-style-name@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" + +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + +ieee754@^1.1.4: + version "1.1.11" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +ignore@^3.3.3, ignore@^3.3.5: + version "3.3.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" + +immutable@^3.8.1: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inline-style-prefixer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" + dependencies: + bowser "^1.0.0" + hyphenate-style-name "^1.0.1" + +inline-style-prefixer@^3.0.6: + version "3.0.8" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz#8551b8e5b4d573244e66a34b04f7d32076a2b534" + dependencies: + bowser "^1.7.3" + css-in-js-utils "^2.0.0" + +inquirer@3.3.0, inquirer@^3.0.6: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +inquirer@^5.1.0, inquirer@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.1.0" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^5.5.2" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +interpret@^1.0.0, interpret@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + +invariant@^2.2.0, invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ipaddr.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-ci@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" + dependencies: + ci-info "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + +is-dom@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.0.9.tgz#483832d52972073de12b9fe3f60320870da8370d" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + +is-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + dependencies: + symbol-observable "^0.2.2" + +is-odd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" + dependencies: + is-number "^4.0.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + +is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-root@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" + +is-scoped@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" + dependencies: + scoped-regex "^1.0.0" + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isbinaryfile@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-api@^1.1.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" + dependencies: + async "^2.1.4" + compare-versions "^3.1.0" + fileset "^2.0.2" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-hook "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-report "^1.1.4" + istanbul-lib-source-maps "^1.2.4" + istanbul-reports "^1.3.0" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverage@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" + +istanbul-lib-hook@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c" + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.8.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.2.0" + semver "^5.3.0" + +istanbul-lib-report@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" + dependencies: + istanbul-lib-coverage "^1.2.0" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.1.2" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-lib-source-maps@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.2.0" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" + dependencies: + handlebars "^4.0.3" + +istextorbinary@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53" + dependencies: + binaryextensions "2" + editions "^1.3.3" + textextensions "2" + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +jest-changed-files@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" + dependencies: + throat "^4.0.0" + +jest-cli@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.3.tgz#bf16c4a5fb7edc3fa5b9bb7819e34139e88a72c7" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.1.11" + import-local "^1.0.0" + is-ci "^1.0.10" + istanbul-api "^1.1.14" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-instrument "^1.8.0" + istanbul-lib-source-maps "^1.2.1" + jest-changed-files "^22.4.3" + jest-config "^22.4.3" + jest-environment-jsdom "^22.4.3" + jest-get-type "^22.4.3" + jest-haste-map "^22.4.3" + jest-message-util "^22.4.3" + jest-regex-util "^22.4.3" + jest-resolve-dependencies "^22.4.3" + jest-runner "^22.4.3" + jest-runtime "^22.4.3" + jest-snapshot "^22.4.3" + jest-util "^22.4.3" + jest-validate "^22.4.3" + jest-worker "^22.4.3" + micromatch "^2.3.11" + node-notifier "^5.2.1" + realpath-native "^1.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + yargs "^10.0.3" + +jest-config@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" + dependencies: + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^22.4.3" + jest-environment-node "^22.4.3" + jest-get-type "^22.4.3" + jest-jasmine2 "^22.4.3" + jest-regex-util "^22.4.3" + jest-resolve "^22.4.3" + jest-util "^22.4.3" + jest-validate "^22.4.3" + pretty-format "^22.4.3" + +jest-diff@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" + +jest-docblock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" + dependencies: + detect-newline "^2.1.0" + +jest-environment-jsdom@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" + dependencies: + jest-mock "^22.4.3" + jest-util "^22.4.3" + jsdom "^11.5.1" + +jest-environment-node@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" + dependencies: + jest-mock "^22.4.3" + jest-util "^22.4.3" + +jest-get-type@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + +jest-haste-map@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "^22.4.3" + jest-serializer "^22.4.3" + jest-worker "^22.4.3" + micromatch "^2.3.11" + sane "^2.0.0" + +jest-jasmine2@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.3.tgz#4daf64cd14c793da9db34a7c7b8dcfe52a745965" + dependencies: + chalk "^2.0.1" + co "^4.6.0" + expect "^22.4.3" + graceful-fs "^4.1.11" + is-generator-fn "^1.0.0" + jest-diff "^22.4.3" + jest-matcher-utils "^22.4.3" + jest-message-util "^22.4.3" + jest-snapshot "^22.4.3" + jest-util "^22.4.3" + source-map-support "^0.5.0" + +jest-leak-detector@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + dependencies: + pretty-format "^22.4.3" + +jest-matcher-utils@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" + +jest-message-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + +jest-mock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" + +jest-regex-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" + +jest-resolve-dependencies@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" + dependencies: + jest-regex-util "^22.4.3" + +jest-resolve@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" + dependencies: + browser-resolve "^1.11.2" + chalk "^2.0.1" + +jest-runner@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.3.tgz#298ddd6a22b992c64401b4667702b325e50610c3" + dependencies: + exit "^0.1.2" + jest-config "^22.4.3" + jest-docblock "^22.4.3" + jest-haste-map "^22.4.3" + jest-jasmine2 "^22.4.3" + jest-leak-detector "^22.4.3" + jest-message-util "^22.4.3" + jest-runtime "^22.4.3" + jest-util "^22.4.3" + jest-worker "^22.4.3" + throat "^4.0.0" + +jest-runtime@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.3.tgz#b69926c34b851b920f666c93e86ba2912087e3d0" + dependencies: + babel-core "^6.0.0" + babel-jest "^22.4.3" + babel-plugin-istanbul "^4.1.5" + chalk "^2.0.1" + convert-source-map "^1.4.0" + exit "^0.1.2" + graceful-fs "^4.1.11" + jest-config "^22.4.3" + jest-haste-map "^22.4.3" + jest-regex-util "^22.4.3" + jest-resolve "^22.4.3" + jest-util "^22.4.3" + jest-validate "^22.4.3" + json-stable-stringify "^1.0.1" + micromatch "^2.3.11" + realpath-native "^1.0.0" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^10.0.3" + +jest-serializer@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" + +jest-snapshot@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" + dependencies: + chalk "^2.0.1" + jest-diff "^22.4.3" + jest-matcher-utils "^22.4.3" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^22.4.3" + +jest-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^22.4.3" + mkdirp "^0.5.1" + source-map "^0.6.0" + +jest-validate@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.3.tgz#0780954a5a7daaeec8d3c10834b9280865976b30" + dependencies: + chalk "^2.0.1" + jest-config "^22.4.3" + jest-get-type "^22.4.3" + leven "^2.1.0" + pretty-format "^22.4.3" + +jest-worker@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" + dependencies: + merge-stream "^1.0.1" + +jest@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" + dependencies: + import-local "^1.0.0" + jest-cli "^22.4.3" + +js-base64@^2.1.9: + version "2.4.5" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: + version "3.11.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jscodeshift@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.4.1.tgz#da91a1c2eccfa03a3387a21d39948e251ced444a" + dependencies: + async "^1.5.0" + babel-plugin-transform-flow-strip-types "^6.8.0" + babel-preset-es2015 "^6.9.0" + babel-preset-stage-1 "^6.5.0" + babel-register "^6.9.0" + babylon "^6.17.3" + colors "^1.1.2" + flow-parser "^0.*" + lodash "^4.13.1" + micromatch "^2.3.7" + node-dir "0.1.8" + nomnom "^1.8.1" + recast "^0.12.5" + temp "^0.8.1" + write-file-atomic "^1.2.0" + +jscodeshift@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.0.tgz#bdb7b6cc20dd62c16aa728c3fa2d2fe66ca7c748" + dependencies: + babel-plugin-transform-flow-strip-types "^6.8.0" + babel-preset-es2015 "^6.9.0" + babel-preset-stage-1 "^6.5.0" + babel-register "^6.9.0" + babylon "^7.0.0-beta.30" + colors "^1.1.2" + flow-parser "^0.*" + lodash "^4.13.1" + micromatch "^2.3.7" + neo-async "^2.5.0" + node-dir "0.1.8" + nomnom "^1.8.1" + recast "^0.14.1" + temp "^0.8.1" + write-file-atomic "^1.2.0" + +jsdom@^11.5.1: + version "11.10.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.10.0.tgz#a42cd54e88895dc765f03f15b807a474962ac3b5" + dependencies: + abab "^1.0.4" + acorn "^5.3.0" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + data-urls "^1.0.0" + domexception "^1.0.0" + escodegen "^1.9.0" + html-encoding-sniffer "^1.0.2" + left-pad "^1.2.0" + nwmatcher "^1.4.3" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.83.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.3" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.0" + ws "^4.0.0" + xml-name-validator "^3.0.0" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + +json-loader@^0.5.4, json-loader@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +keycode@^2.1.9: + version "2.2.0" + resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" + +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" + dependencies: + json-buffer "3.0.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +leb@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/leb/-/leb-0.3.0.tgz#32bee9fad168328d6aea8522d833f4180eed1da3" + +left-pad@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + +listr-update-renderer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + figures "^1.7.0" + indent-string "^2.1.0" + is-observable "^0.2.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.4.0" + listr-verbose-renderer "^0.4.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + ora "^0.2.3" + p-map "^1.1.1" + rxjs "^5.4.2" + stream-to-observable "^0.2.0" + strip-ansi "^3.0.1" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash-es@^4.2.1: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.keys@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.range@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" + +lodash.some@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +log-symbols@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +long@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + +lowercase-keys@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + +lru-cache@^4.0.1, lru-cache@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +macaddress@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + +make-dir@^1.0.0, make-dir@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + dependencies: + pify "^3.0.0" + +make-error@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +markdown-loader@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/markdown-loader/-/markdown-loader-2.0.2.tgz#1cdcf11307658cd611046d7db34c2fe80542af7c" + dependencies: + loader-utils "^1.1.0" + marked "^0.3.9" + +marked@^0.3.9: + version "0.3.19" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem-fs-editor@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.2.tgz#55a79b1e824da631254c4c95ba6366602c77af90" + dependencies: + commondir "^1.0.1" + deep-extend "^0.5.1" + ejs "^2.5.9" + glob "^7.0.3" + globby "^8.0.0" + isbinaryfile "^3.0.2" + mkdirp "^0.5.0" + multimatch "^2.0.0" + rimraf "^2.2.8" + through2 "^2.0.0" + vinyl "^2.0.1" + +mem-fs@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" + dependencies: + through2 "^2.0.0" + vinyl "^1.1.0" + vinyl-file "^2.0.0" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +merge2@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" + +merge@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.3.11, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mime@^1.4.1, mime@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +mimic-response@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" + +minimist@^1.1.1, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.2.4: + version "2.3.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384" + dependencies: + safe-buffer "^5.1.1" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + +multimatch@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-odd "^2.0.0" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +needle@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +neo-async@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" + +next-tick@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + +nice-try@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + dependencies: + lower-case "^1.1.1" + +node-dir@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.8.tgz#55fb8deb699070707fb67f91a460f0448294c77d" + +node-dir@^0.1.10: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + dependencies: + minimatch "^3.0.2" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-notifier@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" + dependencies: + growly "^1.3.0" + semver "^5.4.1" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.0" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.1.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nomnom@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + dependencies: + chalk "~0.4.0" + underscore "~1.6.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +npm-bundled@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" + +npm-packlist@^1.1.6: + version "1.1.10" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +nwmatcher@^1.4.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" + +oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +opn@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" + dependencies: + is-wsl "^1.1.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +ora@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + dependencies: + chalk "^1.1.1" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + object-assign "^4.0.1" + +original@>=0.0.5: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" + dependencies: + url-parse "~1.4.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + +p-lazy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" + +p-limit@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + dependencies: + p-finally "^1.0.0" + +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +pako@^0.2.5: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +parallel-transform@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + dependencies: + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + dependencies: + no-case "^2.2.0" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.0.16" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +pluralize@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + dependencies: + postcss "^5.0.4" + uniqid "^4.0.0" + +postcss-flexbugs-fixes@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz#0783cc7212850ef707f97f8bc8b6fb624e00c75d" + dependencies: + postcss "^6.0.1" + +postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-loader@^2.1.2: + version "2.1.5" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.5.tgz#3c6336ee641c8f95138172533ae461a83595e788" + dependencies: + loader-utils "^1.1.0" + postcss "^6.0.0" + postcss-load-config "^1.2.0" + schema-utils "^0.4.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17: + version "6.0.22" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +prepend-http@^1.0.0, prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +prettier@^1.5.3: + version "1.12.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" + +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +pretty-format@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +private@^0.1.6, private@^0.1.8, private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + +promise.prototype.finally@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.9.0" + function-bind "^1.1.1" + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1: + version "15.6.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +proxy-addr@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.6.0" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@^6.5.1, qs@~6.5.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0, querystring@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +querystringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" + +radium@^0.19.0: + version "0.19.6" + resolved "https://registry.yarnpkg.com/radium/-/radium-0.19.6.tgz#b86721d08dbd303b061a4ae2ebb06cc6e335ae72" + dependencies: + array-find "^1.0.0" + exenv "^1.2.1" + inline-style-prefixer "^2.0.5" + prop-types "^15.5.8" + +randomatic@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.1.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297" + dependencies: + deep-extend "^0.5.1" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-dev-utils@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-5.0.1.tgz#1f396e161fe44b595db1b186a40067289bf06613" + dependencies: + address "1.0.3" + babel-code-frame "6.26.0" + chalk "1.1.3" + cross-spawn "5.1.0" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.5.11" + global-modules "1.0.0" + gzip-size "3.0.0" + inquirer "3.3.0" + is-root "1.0.0" + opn "5.2.0" + react-error-overlay "^4.0.0" + recursive-readdir "2.2.1" + shell-quote "1.6.1" + sockjs-client "1.1.4" + strip-ansi "3.0.1" + text-table "0.2.0" + +react-docgen@^3.0.0-beta11: + version "3.0.0-beta9" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-beta9.tgz#6be987e640786ecb10ce2dd22157a022c8285e95" + dependencies: + async "^2.1.4" + babel-runtime "^6.9.2" + babylon "7.0.0-beta.31" + commander "^2.9.0" + doctrine "^2.0.0" + node-dir "^0.1.10" + recast "^0.12.6" + +react-dom@15.6: + version "15.6.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.1.0" + object-assign "^4.1.0" + prop-types "^15.5.10" + +react-error-overlay@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4" + +react-fuzzy@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/react-fuzzy/-/react-fuzzy-0.5.2.tgz#fc13bf6f0b785e5fefe908724efebec4935eaefe" + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.5" + fuse.js "^3.0.1" + prop-types "^15.5.9" + +react-html-attributes@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.4.2.tgz#0d2ccf134fc79b2d3543837dc1591d32b7b903f9" + dependencies: + html-element-attributes "^1.0.0" + +react-icon-base@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d" + +react-icons@^2.2.7: + version "2.2.7" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.7.tgz#d7860826b258557510dac10680abea5ca23cf650" + dependencies: + react-icon-base "2.1.0" + +react-inspector@^2.2.2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.0.tgz#fc9c1d38ab687fc0d190dcaf133ae40158968fc8" + dependencies: + babel-runtime "^6.26.0" + is-dom "^1.0.9" + +react-lifecycles-compat@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + +react-modal@^3.3.2: + version "3.4.4" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.4.4.tgz#e9dde25e9e85a59c76831f2a2b468712a546aded" + dependencies: + exenv "^1.2.0" + prop-types "^15.5.10" + react-lifecycles-compat "^3.0.0" + warning "^3.0.0" + +react-split-pane@^0.1.77: + version "0.1.77" + resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" + dependencies: + inline-style-prefixer "^3.0.6" + prop-types "^15.5.10" + react-style-proptype "^3.0.0" + +react-style-proptype@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/react-style-proptype/-/react-style-proptype-3.2.1.tgz#7cfeb9b87ec7ab9dcbde9715170ed10c11fb86aa" + dependencies: + prop-types "^15.5.4" + +react-transition-group@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.3.1.tgz#31d611b33e143a5e0f2d94c348e026a0f3b474b6" + dependencies: + dom-helpers "^3.3.1" + loose-envify "^1.3.1" + prop-types "^15.6.1" + +react-treebeard@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/react-treebeard/-/react-treebeard-2.1.0.tgz#fbd5cf51089b6f09a9b18350ab3bddf736e57800" + dependencies: + babel-runtime "^6.23.0" + deep-equal "^1.0.1" + prop-types "^15.5.8" + radium "^0.19.0" + shallowequal "^0.2.2" + velocity-react "^1.3.1" + +react@15.6: + version "15.6.2" + resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72" + dependencies: + create-react-class "^15.6.0" + fbjs "^0.8.9" + loose-envify "^1.1.0" + object-assign "^4.1.0" + prop-types "^15.5.10" + +read-chunk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" + dependencies: + pify "^3.0.0" + safe-buffer "^5.1.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +realpath-native@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" + dependencies: + util.promisify "^1.0.0" + +recast@^0.12.5, recast@^0.12.6: + version "0.12.9" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" + dependencies: + ast-types "0.10.1" + core-js "^2.4.1" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +recast@^0.14.1: + version "0.14.7" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" + dependencies: + ast-types "0.11.3" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +recursive-readdir@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" + dependencies: + minimatch "3.0.3" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + +redux@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +renderkid@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" + dependencies: + css-select "^1.1.0" + dom-converter "~0.1" + htmlparser2 "~3.3.0" + strip-ansi "^3.0.0" + utila "~0.3" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@^2.83.0: + version "2.86.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.86.0.tgz#2b9497f449b0a32654c081a5cf426bbfb5bf5b69" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + hawk "~6.0.2" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + +require-from-string@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6: + version "1.7.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + dependencies: + path-parse "^1.0.5" + +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rimraf@~2.2.6: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^3.3.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + +run-async@^2.0.0, run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + dependencies: + aproba "^1.1.1" + +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + +rxjs@^5.4.2, rxjs@^5.5.2: + version "5.5.10" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" + dependencies: + symbol-observable "1.0.1" + +safe-buffer@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sane@^2.0.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" + dependencies: + anymatch "^2.0.0" + capture-exit "^1.2.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.2.3" + +sax@^1.2.4, sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + +schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +scoped-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" + +"scroller@git://github.com/mjohnston/scroller": + version "0.0.1" + resolved "git://github.com/mjohnston/scroller#054c3349d5ff7474589eb7fbbb36708e5c48e435" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serialize-javascript@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" + +serve-favicon@^2.4.5: + version "2.5.0" + resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0" + dependencies: + etag "~1.8.1" + fresh "0.5.2" + ms "2.1.1" + parseurl "~1.3.2" + safe-buffer "5.1.1" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallowequal@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" + dependencies: + lodash.keys "^3.1.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shell-quote@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + +shelljs@^0.8.0, shelljs@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +slice-ansi@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + dependencies: + is-fullwidth-code-point "^2.0.0" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sntp@2.x.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" + dependencies: + hoek "4.x.x" + +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.0: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + dependencies: + safe-buffer "^5.1.1" + +stack-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +stream-to-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" + dependencies: + any-observable "^0.2.0" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string.prototype.padend@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.4.3" + function-bind "^1.0.2" + +string.prototype.padstart@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.4.3" + function-bind "^1.0.2" + +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@3.0.0, strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +style-loader@^0.20.3: + version "0.20.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.3.tgz#ebef06b89dec491bcb1fdb3452e913a6fd1c10c4" + dependencies: + loader-utils "^1.1.0" + schema-utils "^0.4.5" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.2, supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + dependencies: + has-flag "^2.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + dependencies: + has-flag "^3.0.0" + +svg-tag-names@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/svg-tag-names/-/svg-tag-names-1.1.1.tgz#9641b29ef71025ee094c7043f7cdde7d99fbd50a" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + +symbol-observable@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + +symbol-observable@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + +table@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" + dependencies: + ajv "^5.2.3" + ajv-keywords "^2.1.0" + chalk "^2.1.0" + lodash "^4.17.4" + slice-ansi "1.0.0" + string-width "^2.1.1" + +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + +tapable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" + +tar@^4: + version "4.4.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.2.4" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +temp@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" + dependencies: + os-tmpdir "^1.0.0" + rimraf "~2.2.6" + +test-exclude@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" + dependencies: + arrify "^1.0.1" + micromatch "^3.1.8" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +textextensions@2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz#38ac676151285b658654581987a0ce1a4490d286" + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@^2.3.6, through@^2.3.8, through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + dependencies: + setimmediate "^1.0.4" + +tiny-inflate@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + +tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-is@~1.6.15, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@^0.7.9: + version "0.7.18" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" + +uglify-es@^3.3.4: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +uglify-js@3.3.x: + version "3.3.25" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.25.tgz#3266ccb87c5bea229f69041a0296010d6477d539" + dependencies: + commander "~2.15.0" + source-map "~0.6.1" + +uglify-js@^2.6, uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +uglifyjs-webpack-plugin@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641" + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + schema-utils "^0.4.5" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.3.4" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + +unicode-trie@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqid@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + dependencies: + macaddress "^0.2.8" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + +unique-filename@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" + dependencies: + imurmurhash "^0.1.4" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.2.tgz#7f1f302055b3fea0f3e81dc78eb36766cb65e3f1" + +upath@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + +uri-js@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.1.tgz#4595a80a51f356164e22970df64c7abd6ade9850" + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-loader@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" + dependencies: + loader-utils "^1.0.2" + mime "^1.4.1" + schema-utils "^0.3.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.1.8, url-parse@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" + dependencies: + querystringify "^2.0.0" + requires-port "^1.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" + dependencies: + kind-of "^6.0.2" + +util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utila@~0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@^3.1.0, uuid@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + +v8-compile-cache@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" + +validate-npm-package-license@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +velocity-animate@^1.4.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.1.tgz#606837047bab8fbfb59a636d1d82ecc3f7bd71a6" + +velocity-react@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/velocity-react/-/velocity-react-1.4.1.tgz#1d0b41859cdf2521c08a8b57f44e93ed2d54b5fc" + dependencies: + lodash "^4.17.5" + prop-types "^15.5.8" + react-transition-group "^2.0.0" + velocity-animate "^1.4.0" + +vendors@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vinyl-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + strip-bom-stream "^2.0.0" + vinyl "^1.1.0" + +vinyl@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + dependencies: + loose-envify "^1.0.0" + +watch@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +watchpack@^1.4.0, watchpack@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +webassemblyjs@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webassemblyjs/-/webassemblyjs-1.4.3.tgz#0591893efb8fbde74498251cbe4b2d83df9239cb" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/validation" "1.4.3" + "@webassemblyjs/wasm-parser" "1.4.3" + "@webassemblyjs/wast-parser" "1.4.3" + long "^3.2.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +webpack-addons@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/webpack-addons/-/webpack-addons-1.1.5.tgz#2b178dfe873fb6e75e40a819fa5c26e4a9bc837a" + dependencies: + jscodeshift "^0.4.0" + +webpack-cli@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.1.3.tgz#65d166851abaa56067ef3f716b02a97ba6bbe84d" + dependencies: + chalk "^2.3.2" + cross-spawn "^6.0.5" + diff "^3.5.0" + enhanced-resolve "^4.0.0" + envinfo "^4.4.2" + glob-all "^3.1.0" + global-modules "^1.0.0" + got "^8.2.0" + import-local "^1.0.0" + inquirer "^5.1.0" + interpret "^1.0.4" + jscodeshift "^0.5.0" + listr "^0.13.0" + loader-utils "^1.1.0" + lodash "^4.17.5" + log-symbols "^2.2.0" + mkdirp "^0.5.1" + p-each-series "^1.0.0" + p-lazy "^1.0.0" + prettier "^1.5.3" + supports-color "^5.3.0" + v8-compile-cache "^1.1.2" + webpack-addons "^1.1.5" + yargs "^11.1.0" + yeoman-environment "^2.0.0" + yeoman-generator "^2.0.4" + +webpack-dev-middleware@^1.12.2: + version "1.12.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" + dependencies: + memory-fs "~0.4.1" + mime "^1.5.0" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-hot-middleware@^2.22.1: + version "2.22.2" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.22.2.tgz#623b77ce591fcd4e1fb99f18167781443e50afac" + dependencies: + ansi-html "0.0.7" + html-entities "^1.2.0" + querystring "^0.2.0" + strip-ansi "^3.0.0" + +webpack-sources@^1.0.1, webpack-sources@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +webpack@^4.0.0: + version "4.8.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.8.3.tgz#957c8e80000f9e5cc03d775e78b472d8954f4eeb" + dependencies: + "@webassemblyjs/ast" "1.4.3" + "@webassemblyjs/wasm-edit" "1.4.3" + "@webassemblyjs/wasm-parser" "1.4.3" + acorn "^5.0.0" + acorn-dynamic-import "^3.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^0.1.1" + enhanced-resolve "^4.0.0" + eslint-scope "^3.7.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + micromatch "^3.1.8" + mkdirp "~0.5.0" + neo-async "^2.5.0" + node-libs-browser "^2.0.0" + schema-utils "^0.4.4" + tapable "^1.0.0" + uglifyjs-webpack-plugin "^1.2.4" + watchpack "^1.5.0" + webpack-sources "^1.0.1" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + dependencies: + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" + dependencies: + iconv-lite "0.4.19" + +whatwg-fetch@>=0.10.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + +whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" + +whatwg-url@^6.4.0: + version "6.4.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.1.tgz#fdb94b440fd4ad836202c16e9737d511f012fd67" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +worker-farm@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.2.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-file-atomic@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +ws@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + +xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + dependencies: + camelcase "^4.1.0" + +yargs@^10.0.3: + version "10.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" + +yargs@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" + dependencies: + minimist "^0.1.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yeoman-environment@^2.0.0, yeoman-environment@^2.0.5: + version "2.1.1" + resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.1.1.tgz#10a045f7fc4397873764882eae055a33e56ee1c5" + dependencies: + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^3.1.0" + diff "^3.3.1" + escape-string-regexp "^1.0.2" + globby "^8.0.1" + grouped-queue "^0.3.3" + inquirer "^5.2.0" + is-scoped "^1.0.0" + lodash "^4.17.10" + log-symbols "^2.1.0" + mem-fs "^1.1.0" + strip-ansi "^4.0.0" + text-table "^0.2.0" + untildify "^3.0.2" + +yeoman-generator@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-2.0.5.tgz#57b0b3474701293cc9ec965288f3400b00887c81" + dependencies: + async "^2.6.0" + chalk "^2.3.0" + cli-table "^0.3.1" + cross-spawn "^6.0.5" + dargs "^5.1.0" + dateformat "^3.0.3" + debug "^3.1.0" + detect-conflict "^1.0.0" + error "^7.0.2" + find-up "^2.1.0" + github-username "^4.0.0" + istextorbinary "^2.2.1" + lodash "^4.17.10" + make-dir "^1.1.0" + mem-fs-editor "^4.0.0" + minimist "^1.2.0" + pretty-bytes "^4.0.2" + read-chunk "^2.1.0" + read-pkg-up "^3.0.0" + rimraf "^2.6.2" + run-async "^2.0.0" + shelljs "^0.8.0" + text-table "^0.2.0" + through2 "^2.0.0" + yeoman-environment "^2.0.5" From e641db9ffeab5039c701df7b462fed06baae0717 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 17 May 2018 17:47:04 -0700 Subject: [PATCH 02/60] Timeline example working --- .eslintrc | 4 - .eslintrc.js | 19 ++++ examples/timeline/app.js | 74 -------------- examples/timeline/components/Page.js | 128 ----------------------- examples/timeline/index.html | 17 ---- package.json | 4 + src/index.js | 28 +++-- stories/canvasStory.js | 106 ++++++++++--------- stories/components/Page.js | 147 +++++++++++++++++++++++++++ stories/data.js | 52 ++++++++++ stories/foo.js | 14 --- stories/index.js | 9 +- stories/listviewStory.js | 1 - stories/timeline.js | 73 +++++++++++++ yarn.lock | 44 +++++++- 15 files changed, 412 insertions(+), 308 deletions(-) delete mode 100644 .eslintrc create mode 100644 .eslintrc.js delete mode 100644 examples/timeline/app.js delete mode 100644 examples/timeline/components/Page.js delete mode 100644 examples/timeline/index.html create mode 100644 stories/components/Page.js create mode 100644 stories/data.js delete mode 100644 stories/foo.js create mode 100644 stories/timeline.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 0445966..0000000 --- a/.eslintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": "eslint:recommended" -} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..5b45cca --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,19 @@ +module.exports = { + parser: "babel-eslint", + env: { + browser: true, + es6: true, + node: true + }, + plugins: ["prettier", "react"], + rules: { + "prettier/prettier": "error", + "prefer-const": "error", + "no-use-before-define": "error", + "no-var": "error", + "no-throw-literal": "error", + // Light console usage is useful but remove debug logs before merging to master. + "no-console": "off" + }, + extends: ["prettier", "plugin:react/recommended", "eslint:recommended"] +}; diff --git a/examples/timeline/app.js b/examples/timeline/app.js deleted file mode 100644 index d1e9e03..0000000 --- a/examples/timeline/app.js +++ /dev/null @@ -1,74 +0,0 @@ -/** @jsx React.DOM */ - -'use strict'; - -var React = require('react'); -var ReactDOM = require('react-dom'); -var ReactCanvas = require('react-canvas'); -var Page = require('./components/Page'); -var articles = require('../common/data'); - -var Surface = ReactCanvas.Surface; -var ListView = ReactCanvas.ListView; - -var App = React.createClass({ - - render: function () { - var size = this.getSize(); - return ( - - - - ); - }, - - renderPage: function (pageIndex, scrollTop) { - var size = this.getSize(); - var article = articles[pageIndex % articles.length]; - var pageScrollTop = pageIndex * this.getPageHeight() - scrollTop; - return ( - - ); - }, - - getSize: function () { - return document.getElementById('main').getBoundingClientRect(); - }, - - // ListView - // ======== - - getListViewStyle: function () { - var size = this.getSize(); - return { - top: 0, - left: 0, - width: size.width, - height: size.height, - backgroundColor: "#320000" - }; - }, - - getNumberOfPages: function () { - return 1000; - }, - - getPageHeight: function () { - return this.getSize().height; - } - -}); - -ReactDOM.render(, document.getElementById('main')); diff --git a/examples/timeline/components/Page.js b/examples/timeline/components/Page.js deleted file mode 100644 index e181f3b..0000000 --- a/examples/timeline/components/Page.js +++ /dev/null @@ -1,128 +0,0 @@ -import React from 'react'; - -var ReactCanvas = require('react-canvas'); - -var Group = ReactCanvas.Group; -var Image = ReactCanvas.Image; -var Text = ReactCanvas.Text; -var FontFace = ReactCanvas.FontFace; -var measureText = ReactCanvas.measureText; - -var CONTENT_INSET = 14; -var TEXT_SCROLL_SPEED_MULTIPLIER = 0.6; -var TEXT_ALPHA_SPEED_OUT_MULTIPLIER = 1.25; -var TEXT_ALPHA_SPEED_IN_MULTIPLIER = 2.6; -var IMAGE_LAYER_INDEX = 2; -var TEXT_LAYER_INDEX = 1; - -var Page = React.createClass({ - - propTypes: { - width: React.PropTypes.number.isRequired, - height: React.PropTypes.number.isRequired, - article: React.PropTypes.object.isRequired, - scrollTop: React.PropTypes.number.isRequired - }, - - componentWillMount: function () { - // Pre-compute headline/excerpt text dimensions. - var article = this.props.article; - var maxWidth = this.props.width - 2 * CONTENT_INSET; - var titleStyle = this.getTitleStyle(); - var excerptStyle = this.getExcerptStyle(); - this.titleMetrics = measureText(article.title, maxWidth, titleStyle.fontFace, titleStyle.fontSize, titleStyle.lineHeight); - this.excerptMetrics = measureText(article.excerpt, maxWidth, excerptStyle.fontFace, excerptStyle.fontSize, excerptStyle.lineHeight); - }, - - render: function () { - var groupStyle = this.getGroupStyle(); - var imageStyle = this.getImageStyle(); - var titleStyle = this.getTitleStyle(); - var excerptStyle = this.getExcerptStyle(); - - // Layout title and excerpt below image. - titleStyle.height = this.titleMetrics.height; - excerptStyle.top = titleStyle.top + titleStyle.height + CONTENT_INSET; - excerptStyle.height = this.props.height - excerptStyle.top - CONTENT_INSET; - - return ( - - - - {this.props.article.title} - {this.props.article.excerpt} - - - ); - }, - - // Styles - // ====== - - getGroupStyle: function () { - return { - top: 0, - left: 0, - width: this.props.width, - height: this.props.height, - }; - }, - - getImageHeight: function () { - return Math.round(this.props.height * 0.5); - }, - - getImageStyle: function () { - return { - top: 0, - left: 0, - width: this.props.width, - height: this.getImageHeight(), - backgroundColor: '#eee', - zIndex: IMAGE_LAYER_INDEX - }; - }, - - getTitleStyle: function () { - return { - top: this.getImageHeight() + CONTENT_INSET, - left: CONTENT_INSET, - width: this.props.width - 2 * CONTENT_INSET, - fontSize: 22, - lineHeight: 30, - fontFace: FontFace('Avenir Next Condensed, Helvetica, sans-serif', null, {weight: 500}) - }; - }, - - getExcerptStyle: function () { - return { - left: CONTENT_INSET, - width: this.props.width - 2 * CONTENT_INSET, - fontFace: FontFace('Georgia, serif'), - fontSize: 15, - lineHeight: 23 - }; - }, - - getTextGroupStyle: function () { - var imageHeight = this.getImageHeight(); - var translateY = 0; - var alphaMultiplier = (this.props.scrollTop <= 0) ? -TEXT_ALPHA_SPEED_OUT_MULTIPLIER : TEXT_ALPHA_SPEED_IN_MULTIPLIER; - var alpha = 1 - (this.props.scrollTop / this.props.height) * alphaMultiplier; - alpha = Math.min(Math.max(alpha, 0), 1); - translateY = -this.props.scrollTop * TEXT_SCROLL_SPEED_MULTIPLIER; - - return { - width: this.props.width, - height: this.props.height - imageHeight, - top: imageHeight, - left: 0, - alpha: alpha, - translateY: translateY, - zIndex: TEXT_LAYER_INDEX - }; - } - -}); - -module.exports = Page; diff --git a/examples/timeline/index.html b/examples/timeline/index.html deleted file mode 100644 index 0b1f244..0000000 --- a/examples/timeline/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: Timeline - - - - - -
- - - diff --git a/package.json b/package.json index f2e02d0..b2dd907 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,12 @@ "d3-scale": "^1.0.6", "del": "^3.0.0", "eslint": "^4.1.1", + "eslint-config-prettier": "^2.9.0", + "eslint-plugin-prettier": "^2.6.0", + "eslint-plugin-react": "^7.8.2", "jest": "^22.4.3", "lodash.range": "^3.2.0", + "prettier": "^1.12.1", "webpack": "^4.0.0", "webpack-cli": "^2.1.3" }, diff --git a/src/index.js b/src/index.js index 4908713..ec6c06e 100644 --- a/src/index.js +++ b/src/index.js @@ -1,17 +1,15 @@ -'use strict'; - -import Surface from './Surface'; -import Layer from './Layer'; -import Group from './Group'; -import Image from './Image'; -import Text from './Text'; -import ListView from './ListView'; -import Gradient from './Gradient'; -import FontFace from './FontFace'; -import FrameUtils from './FrameUtils'; -import createCanvasComponent from './createCanvasComponent'; -import measureText from './measureText'; -import { registerLayerType } from './DrawingUtils'; +import Surface from "./Surface"; +import Layer from "./Layer"; +import Group from "./Group"; +import Image from "./Image"; +import Text from "./Text"; +import ListView from "./ListView"; +import Gradient from "./Gradient"; +import FontFace from "./FontFace"; +import FrameUtils from "./FrameUtils"; +import createCanvasComponent from "./createCanvasComponent"; +import measureText from "./measureText"; +import { registerLayerType } from "./DrawingUtils"; export default { Surface, @@ -25,5 +23,5 @@ export default { measureText, createCanvasComponent, FrameUtils, - registerLayerType, + registerLayerType }; diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 1c50023..6f9d41f 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,50 +1,58 @@ -import React from 'react'; -import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; -import ReactCanvas from '../src/index' -const {Gradient, Surface} = ReactCanvas; - -storiesOf('Gradient', module) - .add('transparent-grey', () => { - const props = {size: {width: 80, height: 80}}; - return ( -
- - - -
- ); - }) -.add('blue-green', () => { - const props = {size: {width: 80, height: 80}}; - return ( -
- - - -
- ); - }); +import React from "react"; +import { storiesOf } from "@storybook/react"; +import ReactCanvas from "../src/index"; +const { Gradient, Surface } = ReactCanvas; +storiesOf("Gradient", module) + .add("transparent-grey", () => { + const props = { size: { width: 80, height: 80 } }; + return ( +
+ + + +
+ ); + }) + .add("blue-green", () => { + const props = { size: { width: 80, height: 80 } }; + return ( +
+ + + +
+ ); + }); diff --git a/stories/components/Page.js b/stories/components/Page.js new file mode 100644 index 0000000..a1d1a86 --- /dev/null +++ b/stories/components/Page.js @@ -0,0 +1,147 @@ +import React from "react"; +import PropTypes from "prop-types"; + +import ReactCanvas from "../../src/index"; +const { Group, Image, Text, FontFace, measureText } = ReactCanvas; + +const CONTENT_INSET = 14; +const TEXT_SCROLL_SPEED_MULTIPLIER = 0.6; +const TEXT_ALPHA_SPEED_OUT_MULTIPLIER = 1.25; +const TEXT_ALPHA_SPEED_IN_MULTIPLIER = 2.6; +const IMAGE_LAYER_INDEX = 2; +const TEXT_LAYER_INDEX = 1; + +class Page extends React.Component { + static propTypes = { + width: PropTypes.number, + height: PropTypes.number, + article: PropTypes.object, + scrollTop: PropTypes.number + }; + + constructor(props) { + super(); + + // Pre-compute headline/excerpt text dimensions. + const article = props.article; + const maxWidth = props.width - 2 * CONTENT_INSET; + const titleStyle = this.getTitleStyle(props); + const excerptStyle = this.getExcerptStyle(props); + + this.titleMetrics = measureText( + article.title, + maxWidth, + titleStyle.fontFace, + titleStyle.fontSize, + titleStyle.lineHeight + ); + this.excerptMetrics = measureText( + article.excerpt, + maxWidth, + excerptStyle.fontFace, + excerptStyle.fontSize, + excerptStyle.lineHeight + ); + } + + render() { + const groupStyle = this.getGroupStyle(); + const imageStyle = this.getImageStyle(); + const titleStyle = this.getTitleStyle(this.props); + const excerptStyle = this.getExcerptStyle(this.props); + + // Layout title and excerpt below image. + titleStyle.height = this.titleMetrics.height; + excerptStyle.top = titleStyle.top + titleStyle.height + CONTENT_INSET; + excerptStyle.height = this.props.height - excerptStyle.top - CONTENT_INSET; + + return ( + + + + {this.props.article.title} + {this.props.article.excerpt} + + + ); + } + + // Styles + // ====== + + getGroupStyle = () => { + return { + top: 0, + left: 0, + width: this.props.width, + height: this.props.height + }; + }; + + getImageHeight = props => { + return Math.round(props.height * 0.5); + }; + + getImageStyle = () => { + return { + top: 0, + left: 0, + width: this.props.width, + height: this.getImageHeight(this.props), + backgroundColor: "#eee", + zIndex: IMAGE_LAYER_INDEX + }; + }; + + getTitleStyle = props => { + return { + top: this.getImageHeight(props) + CONTENT_INSET, + left: CONTENT_INSET, + width: props.width - 2 * CONTENT_INSET, + fontSize: 22, + lineHeight: 30, + fontFace: FontFace("Avenir Next Condensed, Helvetica, sans-serif", null, { + weight: 500 + }) + }; + }; + + getExcerptStyle = props => { + return { + left: CONTENT_INSET, + width: props.width - 2 * CONTENT_INSET, + fontFace: FontFace("Georgia, serif"), + fontSize: 15, + lineHeight: 23 + }; + }; + + getTextGroupStyle = () => { + const imageHeight = this.getImageHeight(this.props); + let translateY = 0; + const alphaMultiplier = + this.props.scrollTop <= 0 + ? -TEXT_ALPHA_SPEED_OUT_MULTIPLIER + : TEXT_ALPHA_SPEED_IN_MULTIPLIER; + let alpha = 1 - this.props.scrollTop / this.props.height * alphaMultiplier; + alpha = Math.min(Math.max(alpha, 0), 1); + translateY = -this.props.scrollTop * TEXT_SCROLL_SPEED_MULTIPLIER; + + return { + width: this.props.width, + height: this.props.height - imageHeight, + top: imageHeight, + left: 0, + alpha: alpha, + translateY: translateY, + zIndex: TEXT_LAYER_INDEX + }; + }; +} + +export default Page; diff --git a/stories/data.js b/stories/data.js new file mode 100644 index 0000000..b86730c --- /dev/null +++ b/stories/data.js @@ -0,0 +1,52 @@ +module.exports = [ + { + title: '10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous', + excerpt: 'With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.', + imageUrl: 'http://lorempixel.com/360/420/cats/1/' + }, + { + title: 'Will Batman Save Leaf Blowing?', + excerpt: 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', + imageUrl: 'http://lorempixel.com/360/420/cats/2/' + }, + { + title: '8 Scary Things Your Professor Is Using Against You', + excerpt: 'For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.', + imageUrl: 'http://lorempixel.com/360/420/cats/3/' + }, + { + title: 'Kanye West\'s Top 10 Scandalous Microsoft Excel Secrets', + excerpt: 'My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.', + imageUrl: 'http://lorempixel.com/360/420/cats/4/' + }, + { + title: 'The Embarassing Secrets Of Julia Roberts', + excerpt: 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', + imageUrl: 'http://lorempixel.com/360/420/cats/5/' + }, + { + title: '20 Unbelievable Things Girlfriends Won\'t Tell Their Friends', + excerpt: 'On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell\'s departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.', + imageUrl: 'http://lorempixel.com/360/420/cats/6/' + }, + { + title: 'Can Vladimir Putin Save Beard Care?', + excerpt: 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', + imageUrl: 'http://lorempixel.com/360/420/cats/7/' + }, + { + title: '15 Truths That Will Make Your Psychiatrist Feel Ashamed', + excerpt: 'Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.', + imageUrl: 'http://lorempixel.com/360/420/cats/8/' + }, + { + title: '6 Terrible Facts That Make Boyfriends Stronger', + excerpt: 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', + imageUrl: 'http://lorempixel.com/360/420/cats/9/' + }, + { + title: '5 Surprising Dental Care Tips From Robert De Niro', + excerpt: 'At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o\'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.', + imageUrl: 'http://lorempixel.com/360/420/cats/10/' + }, +]; diff --git a/stories/foo.js b/stories/foo.js deleted file mode 100644 index 636bb33..0000000 --- a/stories/foo.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; -import { Gradient } from '../src/index' - -storiesOf('Gradient', module) - .add('transparent-grey', () => { - console.log(Gradient); - return ( -
- hello -
- ); - }) diff --git a/stories/index.js b/stories/index.js index ab1f084..a39297e 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,4 +1,5 @@ -import './canvasStory'; -import './listviewStory'; -import './customDrawStory'; -import './heatmapStory'; +import "./canvasStory"; +import "./listviewStory"; +import "./customDrawStory"; +import "./heatmapStory"; +import "./timeline"; diff --git a/stories/listviewStory.js b/stories/listviewStory.js index 7f280fc..5e37574 100644 --- a/stories/listviewStory.js +++ b/stories/listviewStory.js @@ -1,6 +1,5 @@ import React from 'react'; import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; import ReactCanvas from '../src/index' const {Gradient, ListView, Surface, Group, Image, Text} = ReactCanvas; diff --git a/stories/timeline.js b/stories/timeline.js new file mode 100644 index 0000000..aa818d2 --- /dev/null +++ b/stories/timeline.js @@ -0,0 +1,73 @@ +import React from "react"; +import ReactCanvas from "../src/index"; +import Page from "./components/Page"; +import articles from "./data"; + +import { storiesOf } from "@storybook/react"; +const { ListView, Surface } = ReactCanvas; + +class App extends React.Component { + render() { + const size = this.getSize(); + + return ( + + + + ); + } + + renderPage = (pageIndex, scrollTop) => { + const size = this.getSize(); + const article = articles[pageIndex % articles.length]; + const pageScrollTop = pageIndex * this.getPageHeight() - scrollTop; + + return ( + + ); + }; + + getSize = () => { + const size = document.getElementById("root").getBoundingClientRect(); + size.height = 800; + return size; + }; + + getListViewStyle = () => { + const size = this.getSize(); + + return { + top: 0, + left: 0, + width: size.width, + height: size.height, + backgroundColor: "#320000" + }; + }; + + getNumberOfPages = () => { + return 1000; + }; + + getPageHeight = () => { + return this.getSize().height; + }; +} + +storiesOf("Timeline", module).add("app", () => { + return ; +}); diff --git a/yarn.lock b/yarn.lock index f3da08a..db43e1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2947,7 +2947,7 @@ dir-glob@^2.0.0: arrify "^1.0.1" path-type "^3.0.0" -doctrine@^2.0.0, doctrine@^2.1.0: +doctrine@^2.0.0, doctrine@^2.0.2, doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: @@ -3254,6 +3254,28 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-config-prettier@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" + dependencies: + get-stdin "^5.0.1" + +eslint-plugin-prettier@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7" + dependencies: + fast-diff "^1.1.1" + jest-docblock "^21.0.0" + +eslint-plugin-react@^7.8.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz#e95c9c47fece55d2303d1a67c9d01b930b88a51d" + dependencies: + doctrine "^2.0.2" + has "^1.0.1" + jsx-ast-utils "^2.0.1" + prop-types "^15.6.0" + eslint-scope@^3.7.1, eslint-scope@~3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" @@ -3545,6 +3567,10 @@ fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" +fast-diff@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" + fast-glob@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" @@ -3830,6 +3856,10 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -4947,6 +4977,10 @@ jest-diff@^22.4.3: jest-get-type "^22.4.3" pretty-format "^22.4.3" +jest-docblock@^21.0.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" + jest-docblock@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" @@ -5300,6 +5334,12 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +jsx-ast-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + dependencies: + array-includes "^3.0.3" + keycode@^2.1.9: version "2.2.0" resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" @@ -6804,7 +6844,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.5.3: +prettier@^1.12.1, prettier@^1.5.3: version "1.12.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" From 5f0ab4b23a6fac4348abce0c092c7564f974e7cf Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Fri, 18 May 2018 11:11:08 -0700 Subject: [PATCH 03/60] Linting cleanup, added container decorator --- .babelrc | 3 + package.json | 1 + src/CanvasUtils.js | 129 +++++----- src/ContainerDecorator.js | 123 ++++++++++ src/DrawingUtils.js | 489 ++++++++++++++++++++++---------------- src/EventTypes.js | 18 +- src/FrameUtils.js | 71 +++--- src/RenderLayer.js | 61 ++--- src/Surface.js | 198 +++++++-------- webpack.config.babel.js | 25 +- yarn.lock | 14 +- 11 files changed, 676 insertions(+), 456 deletions(-) create mode 100644 src/ContainerDecorator.js diff --git a/.babelrc b/.babelrc index 5922d86..e809fcb 100644 --- a/.babelrc +++ b/.babelrc @@ -3,5 +3,8 @@ "es2015", "react", "stage-2" + ], + "plugins": [ + "transform-decorators-legacy" ] } diff --git a/package.json b/package.json index b2dd907..08e02c9 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "babel-loader": "^7.1.4", "babel-plugin-external-helpers": "^6.22.0", "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", diff --git a/src/CanvasUtils.js b/src/CanvasUtils.js index a988174..45f58f2 100644 --- a/src/CanvasUtils.js +++ b/src/CanvasUtils.js @@ -1,7 +1,5 @@ -'use strict'; - -import clamp from './clamp'; -import measureText from './measureText'; +import clamp from "./clamp"; +import measureText from "./measureText"; /** * Draw an image into a . This operation requires that the image @@ -19,7 +17,7 @@ import measureText from './measureText'; * {Object} focusPoint {x,y} * {String} backgroundColor */ -function drawImage (ctx, image, x, y, width, height, options) { +function drawImage(ctx, image, x, y, width, height, options) { options = options || {}; if (options.backgroundColor) { @@ -29,31 +27,26 @@ function drawImage (ctx, image, x, y, width, height, options) { ctx.restore(); } - var dx = 0; - var dy = 0; - var dw = 0; - var dh = 0; - var sx = 0; - var sy = 0; - var sw = 0; - var sh = 0; - var scale; - var scaledSize; - var actualSize; - var focusPoint = options.focusPoint; - - actualSize = { + let dx = 0; + let dy = 0; + let dw = 0; + let dh = 0; + let sx = 0; + let sy = 0; + let sw = 0; + let sh = 0; + let scale; + let focusPoint = options.focusPoint; + + const actualSize = { width: image.getWidth(), height: image.getHeight() }; - scale = Math.max( - width / actualSize.width, - height / actualSize.height - ) || 1; + scale = Math.max(width / actualSize.width, height / actualSize.height) || 1; scale = parseFloat(scale.toFixed(4), 10); - scaledSize = { + const scaledSize = { width: actualSize.width * scale, height: actualSize.height * scale }; @@ -62,8 +55,8 @@ function drawImage (ctx, image, x, y, width, height, options) { // Since image hints are relative to image "original" dimensions (original != actual), // use the original size for focal point cropping. if (options.originalHeight) { - focusPoint.x *= (actualSize.height / options.originalHeight); - focusPoint.y *= (actualSize.height / options.originalHeight); + focusPoint.x *= actualSize.height / options.originalHeight; + focusPoint.y *= actualSize.height / options.originalHeight; } } else { // Default focal point to [0.5, 0.5] @@ -74,10 +67,18 @@ function drawImage (ctx, image, x, y, width, height, options) { } // Clip the image to rectangle (sx, sy, sw, sh). - sx = Math.round(clamp(width * 0.5 - focusPoint.x * scale, width - scaledSize.width, 0)) * (-1 / scale); - sy = Math.round(clamp(height * 0.5 - focusPoint.y * scale, height - scaledSize.height, 0)) * (-1 / scale); - sw = Math.round(actualSize.width - (sx * 2)); - sh = Math.round(actualSize.height - (sy * 2)); + sx = + Math.round( + clamp(width * 0.5 - focusPoint.x * scale, width - scaledSize.width, 0) + ) * + (-1 / scale); + sy = + Math.round( + clamp(height * 0.5 - focusPoint.y * scale, height - scaledSize.height, 0) + ) * + (-1 / scale); + sw = Math.round(actualSize.width - sx * 2); + sh = Math.round(actualSize.height - sy * 2); // Scale the image to dimensions (dw, dh). dw = Math.round(width); @@ -105,20 +106,19 @@ function drawImage (ctx, image, x, y, width, height, options) { * {String} color * {String} backgroundColor */ -function drawText (ctx, text, x, y, width, height, fontFace, options) { - var textMetrics; - var currX = x; - var currY = y; - var currText; - var options = options || {}; +function drawText(ctx, text, x, y, width, height, fontFace, _options) { + let currX = x; + let currY = y; + let currText; + const options = _options || {}; options.fontSize = options.fontSize || 16; options.lineHeight = options.lineHeight || 18; - options.textAlign = options.textAlign || 'left'; - options.backgroundColor = options.backgroundColor || 'transparent'; - options.color = options.color || '#000'; + options.textAlign = options.textAlign || "left"; + options.backgroundColor = options.backgroundColor || "transparent"; + options.color = options.color || "#000"; - textMetrics = measureText( + const textMetrics = measureText( text, width, fontFace, @@ -129,37 +129,48 @@ function drawText (ctx, text, x, y, width, height, fontFace, options) { ctx.save(); // Draw the background - if (options.backgroundColor !== 'transparent') { + if (options.backgroundColor !== "transparent") { ctx.fillStyle = options.backgroundColor; ctx.fillRect(0, 0, width, height); } ctx.fillStyle = options.color; - ctx.font = fontFace.attributes.style + ' ' + fontFace.attributes.weight + ' ' + options.fontSize + 'px ' + fontFace.family; - - textMetrics.lines.forEach(function (line, index) { + ctx.font = + fontFace.attributes.style + + " " + + fontFace.attributes.weight + + " " + + options.fontSize + + "px " + + fontFace.family; + + textMetrics.lines.forEach(function(line, index) { currText = line.text; - currY = (index === 0) ? y + options.fontSize : - (y + options.fontSize + options.lineHeight * index); + currY = + index === 0 + ? y + options.fontSize + : y + options.fontSize + options.lineHeight * index; // Account for text-align: left|right|center switch (options.textAlign) { - case 'center': - currX = x + (width / 2) - (line.width / 2); + case "center": + currX = x + width / 2 - line.width / 2; break; - case 'right': + case "right": currX = x + width - line.width; break; default: currX = x; } - if ((index < textMetrics.lines.length - 1) && - ((options.fontSize + options.lineHeight * (index + 1)) > height)) { - currText = currText.replace(/\,?\s?\w+$/, '…'); + if ( + index < textMetrics.lines.length - 1 && + options.fontSize + options.lineHeight * (index + 1) > height + ) { + currText = currText.replace(/,?\s?\w+$/, "…"); } - if (currY <= (height + y)) { + if (currY <= height + y) { ctx.fillText(currText, currX, currY); } }); @@ -182,12 +193,10 @@ function drawText (ctx, text, x, y, width, height, fontFace, options) { * @param {Number} height how tall to fill */ function drawGradient(ctx, x1, y1, x2, y2, colorStops, x, y, width, height) { - var grad; - ctx.save(); - grad = ctx.createLinearGradient(x1, y1, x2, y2); + const grad = ctx.createLinearGradient(x1, y1, x2, y2); - colorStops.forEach(function (colorStop) { + colorStops.forEach(function(colorStop) { grad.addColorStop(colorStop.position, colorStop.color); }); @@ -196,8 +205,4 @@ function drawGradient(ctx, x1, y1, x2, y2, colorStops, x, y, width, height) { ctx.restore(); } -export { - drawImage, - drawText, - drawGradient, -}; +export { drawImage, drawText, drawGradient }; diff --git a/src/ContainerDecorator.js b/src/ContainerDecorator.js new file mode 100644 index 0000000..9c94b51 --- /dev/null +++ b/src/ContainerDecorator.js @@ -0,0 +1,123 @@ +import React from "react"; +import emptyObject from "fbjs/lib/emptyObject"; + +export default function apply(Class) { + return class extends React.Component { + displayName = "Container"; + + /** + * Moves a child component to the supplied index. + * + * @param {ReactComponent} child Component to move. + * @protected + */ + moveChild = child => { + const childNode = child._mountImage; + const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; + if (mostRecentlyPlacedChild == null) { + // I'm supposed to be first. + if (childNode.previousSibling) { + if (this.node.firstChild) { + childNode.injectBefore(this.node.firstChild); + } else { + childNode.inject(this.node); + } + } + } else { + // I'm supposed to be after the previous one. + if (mostRecentlyPlacedChild.nextSibling !== childNode) { + if (mostRecentlyPlacedChild.nextSibling) { + childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); + } else { + childNode.inject(this.node); + } + } + } + this._mostRecentlyPlacedChild = childNode; + }; + + /** + * Creates a child component. + * + * @param {ReactComponent} child Component to create. + * @param {object} childNode ART node to insert. + * @protected + */ + createChild = (child, afterNode, childNode) => { + child._mountImage = childNode; + const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; + if (mostRecentlyPlacedChild == null) { + // I'm supposed to be first. + if (this.node.firstChild) { + childNode.injectBefore(this.node.firstChild); + } else { + childNode.inject(this.node); + } + } else { + // I'm supposed to be after the previous one. + if (mostRecentlyPlacedChild.nextSibling) { + childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); + } else { + childNode.inject(this.node); + } + } + this._mostRecentlyPlacedChild = childNode; + }; + + /** + * Removes a child component. + * + * @param {ReactComponent} child Child to remove. + * @protected + */ + removeChild = child => { + child._mountImage.remove(); + child._mountImage = null; + this.node.invalidateLayout(); + }; + + updateChildrenAtRoot = (nextChildren, transaction) => { + this.updateChildren(nextChildren, transaction, emptyObject); + }; + + mountAndInjectChildrenAtRoot = (children, transaction) => { + this.mountAndInjectChildren(children, transaction, emptyObject); + }; + + /** + * Override to bypass batch updating because it is not necessary. + * + * @param {?object} nextChildren. + * @param {ReactReconcileTransaction} transaction + * @internal + * @override {ReactMultiChild.Mixin.updateChildren} + */ + updateChildren = (nextChildren, transaction, context) => { + this._mostRecentlyPlacedChild = null; + this._updateChildren(nextChildren, transaction, context); + }; + + // Shorthands + + mountAndInjectChildren = (children, transaction, context) => { + const mountedImages = this.mountChildren(children, transaction, context); + + // Each mount image corresponds to one of the flattened children + let i = 0; + for (const key in this._renderedChildren) { + if (this._renderedChildren.hasOwnProperty(key)) { + const child = this._renderedChildren[key]; + child._mountImage = mountedImages[i]; + mountedImages[i].inject(this.node); + i++; + } + } + }; + getHostNode = () => this.node; + getNativeNode = () => this.node; + + render() { + return ; + } + }; +} diff --git a/src/DrawingUtils.js b/src/DrawingUtils.js index 17b4b17..a84e063 100644 --- a/src/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -1,32 +1,11 @@ -'use strict'; - -import ImageCache from './ImageCache'; -import {isFontLoaded} from './FontUtils'; -import FontFace from './FontFace'; -import { drawGradient, drawText, drawImage } from './CanvasUtils'; -import Canvas from './Canvas'; - -const layerTypesToDrawFunction = { - image: drawImageRenderLayer, - text: drawTextRenderLayer, - gradient: drawGradientRenderLayer -} - -function getDrawFunction(type) { - return layerTypesToDrawFunction.hasOwnProperty(type) ? - layerTypesToDrawFunction[type] : drawBaseRenderLayer; -} - -function registerLayerType(type, drawFunction) { - if (layerTypesToDrawFunction.hasOwnProperty(type)) { - throw new Error(`type ${type} already registered`); - } - - layerTypesToDrawFunction[type] = drawFunction; -} +import ImageCache from "./ImageCache"; +import { isFontLoaded } from "./FontUtils"; +import FontFace from "./FontFace"; +import { drawGradient, drawText, drawImage } from "./CanvasUtils"; +import Canvas from "./Canvas"; // Global backing store cache -var _backingStores = []; +let _backingStores = []; /** * Maintain a cache of backing for RenderLayer's which are accessible @@ -35,8 +14,8 @@ var _backingStores = []; * @param {String} id The unique `backingStoreId` for a RenderLayer * @return {HTMLCanvasElement} */ -function getBackingStore (id) { - for (var i=0, len=_backingStores.length; i < len; i++) { +function getBackingStore(id) { + for (let i = 0, len = _backingStores.length; i < len; i++) { if (_backingStores[i].id === id) { return _backingStores[i].canvas; } @@ -49,8 +28,8 @@ function getBackingStore (id) { * * @param {String} id The layer's backingStoreId */ -function invalidateBackingStore (id) { - for (var i=0, len=_backingStores.length; i < len; i++) { +function invalidateBackingStore(id) { + for (let i = 0, len = _backingStores.length; i < len; i++) { if (_backingStores[i].id === id) { _backingStores.splice(i, 1); break; @@ -61,25 +40,10 @@ function invalidateBackingStore (id) { /** * Purge the entire backing store cache. */ -function invalidateAllBackingStores () { +function invalidateAllBackingStores() { _backingStores = []; } -/** - * Find the nearest backing store ancestor for a given layer. - * - * @param {RenderLayer} layer - */ -function getBackingStoreAncestor (layer) { - while (layer) { - if (layer.backingStoreId) { - return layer; - } - layer = layer.parentLayer; - } - return null; -} - /** * Check if a layer is using a given image URL. * @@ -87,15 +51,15 @@ function getBackingStoreAncestor (layer) { * @param {String} imageUrl * @return {Boolean} */ -function layerContainsImage (layer, imageUrl) { +function layerContainsImage(layer, imageUrl) { // Check the layer itself. - if (layer.type === 'image' && layer.imageUrl === imageUrl) { + if (layer.type === "image" && layer.imageUrl === imageUrl) { return layer; } // Check the layer's children. if (layer.children) { - for (var i=0, len=layer.children.length; i < len; i++) { + for (let i = 0, len = layer.children.length; i < len; i++) { if (layerContainsImage(layer.children[i], imageUrl)) { return layer.children[i]; } @@ -112,15 +76,19 @@ function layerContainsImage (layer, imageUrl) { * @param {FontFace} fontFace * @return {Boolean} */ -function layerContainsFontFace (layer, fontFace) { +function layerContainsFontFace(layer, fontFace) { // Check the layer itself. - if (layer.type === 'text' && layer.fontFace && layer.fontFace.id === fontFace.id) { + if ( + layer.type === "text" && + layer.fontFace && + layer.fontFace.id === fontFace.id + ) { return layer; } // Check the layer's children. if (layer.children) { - for (var i=0, len=layer.children.length; i < len; i++) { + for (let i = 0, len = layer.children.length; i < len; i++) { if (layerContainsFontFace(layer.children[i], fontFace)) { return layer.children[i]; } @@ -136,8 +104,8 @@ function layerContainsFontFace (layer, fontFace) { * * @param {String} imageUrl */ -function handleImageLoad (imageUrl) { - _backingStores.forEach(function (backingStore) { +function handleImageLoad(imageUrl) { + _backingStores.forEach(function(backingStore) { if (layerContainsImage(backingStore.layer, imageUrl)) { invalidateBackingStore(backingStore.id); } @@ -150,33 +118,227 @@ function handleImageLoad (imageUrl) { * * @param {FontFace} fontFace */ -function handleFontLoad (fontFace) { - _backingStores.forEach(function (backingStore) { +function handleFontLoad(fontFace) { + _backingStores.forEach(function(backingStore) { if (layerContainsFontFace(backingStore.layer, fontFace)) { invalidateBackingStore(backingStore.id); } }); } +/** + * Draw base layer properties into a rendering context. + * NOTE: The caller is responsible for calling save() and restore() as needed. + * + * @param {CanvasRenderingContext2d} ctx + * @param {RenderLayer} layer + */ +function drawBaseRenderLayer(ctx, layer) { + const frame = layer.frame; + + // Border radius: + if (layer.borderRadius) { + ctx.beginPath(); + ctx.moveTo(frame.x + layer.borderRadius, frame.y); + ctx.arcTo( + frame.x + frame.width, + frame.y, + frame.x + frame.width, + frame.y + frame.height, + layer.borderRadius + ); + ctx.arcTo( + frame.x + frame.width, + frame.y + frame.height, + frame.x, + frame.y + frame.height, + layer.borderRadius + ); + ctx.arcTo( + frame.x, + frame.y + frame.height, + frame.x, + frame.y, + layer.borderRadius + ); + ctx.arcTo( + frame.x, + frame.y, + frame.x + frame.width, + frame.y, + layer.borderRadius + ); + ctx.closePath(); + + // Create a clipping path when drawing an image or using border radius. + if (layer.type === "image") { + ctx.clip(); + } + + // Border with border radius: + if (layer.borderColor) { + ctx.lineWidth = layer.borderWidth || 1; + ctx.strokeStyle = layer.borderColor; + ctx.stroke(); + } + } + + // Border color (no border radius): + if (layer.borderColor && !layer.borderRadius) { + ctx.lineWidth = layer.borderWidth || 1; + ctx.strokeStyle = layer.borderColor; + ctx.strokeRect(frame.x, frame.y, frame.width, frame.height); + } + + // Shadow: + ctx.shadowBlur = layer.shadowBlur; + ctx.shadowColor = layer.shadowColor; + ctx.shadowOffsetX = layer.shadowOffsetX; + ctx.shadowOffsetY = layer.shadowOffsetY; + + // Background color: + if (layer.backgroundColor) { + ctx.fillStyle = layer.backgroundColor; + if (layer.borderRadius) { + // Fill the current path when there is a borderRadius set. + ctx.fill(); + } else { + ctx.fillRect(frame.x, frame.y, frame.width, frame.height); + } + } +} + +/** + * @private + */ +function drawImageRenderLayer(ctx, layer) { + drawBaseRenderLayer(ctx, layer); + + if (!layer.imageUrl) { + return; + } + + // Don't draw until loaded + const image = ImageCache.get(layer.imageUrl); + if (!image.isLoaded()) { + return; + } + + drawImage( + ctx, + image, + layer.frame.x, + layer.frame.y, + layer.frame.width, + layer.frame.height + ); +} + +/** + * @private + */ +function drawTextRenderLayer(ctx, layer) { + drawBaseRenderLayer(ctx, layer); + + // Fallback to standard font. + const fontFace = layer.fontFace || FontFace.Default(); + + // Don't draw text until loaded + if (!isFontLoaded(fontFace)) { + return; + } + + drawText( + ctx, + layer.text, + layer.frame.x, + layer.frame.y, + layer.frame.width, + layer.frame.height, + fontFace, + { + fontSize: layer.fontSize, + lineHeight: layer.lineHeight, + textAlign: layer.textAlign, + color: layer.color + } + ); +} + +/** + * @private + */ +function drawGradientRenderLayer(ctx, layer) { + drawBaseRenderLayer(ctx, layer); + + // Default to linear gradient from top to bottom. + const x1 = layer.x1 || layer.frame.x; + const y1 = layer.y1 || layer.frame.y; + const x2 = layer.x2 || layer.frame.x; + const y2 = layer.y2 || layer.frame.y + layer.frame.height; + drawGradient( + ctx, + x1, + y1, + x2, + y2, + layer.colorStops, + layer.frame.x, + layer.frame.y, + layer.frame.width, + layer.frame.height + ); +} + +const layerTypesToDrawFunction = { + image: drawImageRenderLayer, + text: drawTextRenderLayer, + gradient: drawGradientRenderLayer +}; + +function getDrawFunction(type) { + return layerTypesToDrawFunction.hasOwnProperty(type) + ? layerTypesToDrawFunction[type] + : drawBaseRenderLayer; +} + +function registerLayerType(type, drawFunction) { + if (layerTypesToDrawFunction.hasOwnProperty(type)) { + throw new Error(`type ${type} already registered`); + } + + layerTypesToDrawFunction[type] = drawFunction; +} + +/** + * @private + */ +function sortByZIndexAscending(layerA, layerB) { + return (layerA.zIndex || 0) - (layerB.zIndex || 0); +} + +let drawCacheableRenderLayer = null; + /** * Draw a RenderLayer instance to a context. * * @param {CanvasRenderingContext2d} ctx * @param {RenderLayer} layer */ -function drawRenderLayer (ctx, layer) { - var drawFunction = getDrawFunction(layer.type); +function drawRenderLayer(ctx, layer) { + const drawFunction = getDrawFunction(layer.type); // Performance: avoid drawing hidden layers. - if (typeof layer.alpha === 'number' && layer.alpha <= 0) { + if (typeof layer.alpha === "number" && layer.alpha <= 0) { return; } // Establish drawing context for certain properties: // - alpha // - translate - var saveContext = (layer.alpha !== null && layer.alpha < 1) || - (layer.translateX || layer.translateY); + const saveContext = + (layer.alpha !== null && layer.alpha < 1) || + (layer.translateX || layer.translateY); if (saveContext) { ctx.save(); @@ -206,9 +368,12 @@ function drawRenderLayer (ctx, layer) { // Draw child layers, sorted by their z-index. if (layer.children) { - layer.children.slice().sort(sortByZIndexAscending).forEach(function (childLayer) { - drawRenderLayer(ctx, childLayer); - }); + layer.children + .slice() + .sort(sortByZIndexAscending) + .forEach(function(childLayer) { + drawRenderLayer(ctx, childLayer); + }); } } @@ -218,64 +383,6 @@ function drawRenderLayer (ctx, layer) { } } -/** - * Draw base layer properties into a rendering context. - * NOTE: The caller is responsible for calling save() and restore() as needed. - * - * @param {CanvasRenderingContext2d} ctx - * @param {RenderLayer} layer - */ -function drawBaseRenderLayer (ctx, layer) { - var frame = layer.frame; - - // Border radius: - if (layer.borderRadius) { - ctx.beginPath(); - ctx.moveTo(frame.x + layer.borderRadius, frame.y); - ctx.arcTo(frame.x + frame.width, frame.y, frame.x + frame.width, frame.y + frame.height, layer.borderRadius); - ctx.arcTo(frame.x + frame.width, frame.y + frame.height, frame.x, frame.y + frame.height, layer.borderRadius); - ctx.arcTo(frame.x, frame.y + frame.height, frame.x, frame.y, layer.borderRadius); - ctx.arcTo(frame.x, frame.y, frame.x + frame.width, frame.y, layer.borderRadius); - ctx.closePath(); - - // Create a clipping path when drawing an image or using border radius. - if (layer.type === 'image') { - ctx.clip(); - } - - // Border with border radius: - if (layer.borderColor) { - ctx.lineWidth = layer.borderWidth || 1; - ctx.strokeStyle = layer.borderColor; - ctx.stroke(); - } - } - - // Border color (no border radius): - if (layer.borderColor && !layer.borderRadius) { - ctx.lineWidth = layer.borderWidth || 1; - ctx.strokeStyle = layer.borderColor; - ctx.strokeRect(frame.x, frame.y, frame.width, frame.height); - } - - // Shadow: - ctx.shadowBlur = layer.shadowBlur; - ctx.shadowColor = layer.shadowColor; - ctx.shadowOffsetX = layer.shadowOffsetX; - ctx.shadowOffsetY = layer.shadowOffsetY; - - // Background color: - if (layer.backgroundColor) { - ctx.fillStyle = layer.backgroundColor; - if (layer.borderRadius) { - // Fill the current path when there is a borderRadius set. - ctx.fill(); - } else { - ctx.fillRect(frame.x, frame.y, frame.width, frame.height); - } - } -} - /** * Draw a bitmap-cacheable layer into a pooled . The result will be * drawn into the given context. This will populate the layer backing store @@ -286,19 +393,24 @@ function drawBaseRenderLayer (ctx, layer) { * @param {Function} drawFunction * @private */ -function drawCacheableRenderLayer (ctx, layer, drawFunction) { +drawCacheableRenderLayer = (ctx, layer, drawFunction) => { // See if there is a pre-drawn canvas in the pool. - var backingStore = getBackingStore(layer.backingStoreId); - var backingStoreScale = layer.scale || window.devicePixelRatio; - var frameOffsetY = layer.frame.y; - var frameOffsetX = layer.frame.x; - var backingContext; + let backingStore = getBackingStore(layer.backingStoreId); + const backingStoreScale = layer.scale || window.devicePixelRatio; + const frameOffsetY = layer.frame.y; + const frameOffsetX = layer.frame.x; + let backingContext; if (!backingStore) { if (_backingStores.length >= Canvas.poolSize) { // Re-use the oldest backing store once we reach the pooling limit. backingStore = _backingStores[0].canvas; - Canvas.call(backingStore, layer.frame.width, layer.frame.height, backingStoreScale); + Canvas.call( + backingStore, + layer.frame.width, + layer.frame.height, + backingStoreScale + ); // Move the re-use canvas to the front of the queue. _backingStores[0].id = layer.backingStoreId; @@ -306,7 +418,11 @@ function drawCacheableRenderLayer (ctx, layer, drawFunction) { _backingStores.push(_backingStores.shift()); } else { // Create a new backing store, we haven't yet reached the pooling limit - backingStore = new Canvas(layer.frame.width, layer.frame.height, backingStoreScale); + backingStore = new Canvas( + layer.frame.width, + layer.frame.height, + backingStoreScale + ); _backingStores.push({ id: layer.backingStoreId, layer: layer, @@ -316,7 +432,7 @@ function drawCacheableRenderLayer (ctx, layer, drawFunction) { // Draw into the backing at (0, 0) - we will later use the // to draw the layer as an image at the proper coordinates. - backingContext = backingStore.getContext('2d'); + backingContext = backingStore.getContext("2d"); layer.translate(-frameOffsetX, -frameOffsetY); // Draw default properties, such as background color. @@ -328,9 +444,12 @@ function drawCacheableRenderLayer (ctx, layer, drawFunction) { // Draw child layers, sorted by their z-index. if (layer.children) { - layer.children.slice().sort(sortByZIndexAscending).forEach(function (childLayer) { - drawRenderLayer(backingContext, childLayer); - }); + layer.children + .slice() + .sort(sortByZIndexAscending) + .forEach(function(childLayer) { + drawRenderLayer(backingContext, childLayer); + }); } // Restore layer's original frame. @@ -340,86 +459,40 @@ function drawCacheableRenderLayer (ctx, layer, drawFunction) { // We have the pre-rendered canvas ready, draw it into the destination canvas. if (layer.clipRect) { // Fill the clipping rect in the destination canvas. - var sx = (layer.clipRect.x - layer.frame.x) * backingStoreScale; - var sy = (layer.clipRect.y - layer.frame.y) * backingStoreScale; - var sw = layer.clipRect.width * backingStoreScale; - var sh = layer.clipRect.height * backingStoreScale; - var dx = layer.clipRect.x; - var dy = layer.clipRect.y; - var dw = layer.clipRect.width; - var dh = layer.clipRect.height; + const sx = (layer.clipRect.x - layer.frame.x) * backingStoreScale; + const sy = (layer.clipRect.y - layer.frame.y) * backingStoreScale; + const sw = layer.clipRect.width * backingStoreScale; + const sh = layer.clipRect.height * backingStoreScale; + const dx = layer.clipRect.x; + const dy = layer.clipRect.y; + const dw = layer.clipRect.width; + const dh = layer.clipRect.height; // No-op for zero size rects. iOS / Safari will throw an exception. if (sw > 0 && sh > 0) { - ctx.drawImage(backingStore.getRawCanvas(), sx, sy, sw, sh, dx, dy, dw, dh); + ctx.drawImage( + backingStore.getRawCanvas(), + sx, + sy, + sw, + sh, + dx, + dy, + dw, + dh + ); } } else { // Fill the entire canvas - ctx.drawImage(backingStore.getRawCanvas(), layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); - } -} - -/** - * @private - */ -function sortByZIndexAscending (layerA, layerB) { - return (layerA.zIndex || 0) - (layerB.zIndex || 0); -} - -/** - * @private - */ -function drawImageRenderLayer (ctx, layer) { - drawBaseRenderLayer(ctx, layer); - - if (!layer.imageUrl) { - return; - } - - // Don't draw until loaded - var image = ImageCache.get(layer.imageUrl); - if (!image.isLoaded()) { - return; - } - - drawImage(ctx, image, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); -} - -/** - * @private - */ -function drawTextRenderLayer (ctx, layer) { - drawBaseRenderLayer(ctx, layer); - - // Fallback to standard font. - var fontFace = layer.fontFace || FontFace.Default(); - - // Don't draw text until loaded - if (!isFontLoaded(fontFace)) { - return; + ctx.drawImage( + backingStore.getRawCanvas(), + layer.frame.x, + layer.frame.y, + layer.frame.width, + layer.frame.height + ); } - - drawText(ctx, layer.text, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height, fontFace, { - fontSize: layer.fontSize, - lineHeight: layer.lineHeight, - textAlign: layer.textAlign, - color: layer.color - }); -} - -/** - * @private - */ -function drawGradientRenderLayer (ctx, layer) { - drawBaseRenderLayer(ctx, layer); - - // Default to linear gradient from top to bottom. - var x1 = layer.x1 || layer.frame.x; - var y1 = layer.y1 || layer.frame.y; - var x2 = layer.x2 || layer.frame.x; - var y2 = layer.y2 || layer.frame.y + layer.frame.height; - drawGradient(ctx, x1, y1, x2, y2, layer.colorStops, layer.frame.x, layer.frame.y, layer.frame.width, layer.frame.height); -} +}; export { drawBaseRenderLayer, diff --git a/src/EventTypes.js b/src/EventTypes.js index 63b84ad..b5c0594 100755 --- a/src/EventTypes.js +++ b/src/EventTypes.js @@ -1,14 +1,12 @@ -'use strict'; - // Supported events that RenderLayer's can subscribe to. -const onTouchStart ='touchstart'; -const onTouchMove ='touchmove'; -const onTouchEnd ='touchend'; -const onTouchCancel ='touchcancel'; -const onClick ='click'; -const onContextMenu ='contextmenu'; -const onDoubleClick ='dblclick'; +const onTouchStart = "touchstart"; +const onTouchMove = "touchmove"; +const onTouchEnd = "touchend"; +const onTouchCancel = "touchcancel"; +const onClick = "click"; +const onContextMenu = "contextmenu"; +const onDoubleClick = "dblclick"; export { onTouchStart, @@ -17,5 +15,5 @@ export { onTouchCancel, onClick, onContextMenu, - onDoubleClick, + onDoubleClick }; diff --git a/src/FrameUtils.js b/src/FrameUtils.js index 91999c4..2ec07f6 100644 --- a/src/FrameUtils.js +++ b/src/FrameUtils.js @@ -1,6 +1,4 @@ -'use strict'; - -function Frame (x, y, width, height) { +function Frame(x, y, width, height) { this.x = x; this.y = y; this.width = width; @@ -16,7 +14,7 @@ function Frame (x, y, width, height) { * @param {Number} height * @return {Frame} */ -function make (x, y, width, height) { +function make(x, y, width, height) { return new Frame(x, y, width, height); } @@ -25,7 +23,7 @@ function make (x, y, width, height) { * * @return {Frame} */ -function zero () { +function zero() { return make(0, 0, 0, 0); } @@ -35,7 +33,7 @@ function zero () { * @param {Frame} frame * @return {Frame} */ -function clone (frame) { +function clone(frame) { return make(frame.x, frame.y, frame.width, frame.height); } @@ -50,24 +48,24 @@ function clone (frame) { * @param {?Number} left * @return {Frame} */ -function inset (frame, top, right, bottom, left) { - var frameCopy = clone(frame); +function inset(frame, top, right, bottom, left) { + const frameCopy = clone(frame); // inset(myFrame, 10, 0) => inset(myFrame, 10, 0, 10, 0) - if (typeof bottom === 'undefined') { + if (typeof bottom === "undefined") { bottom = top; left = right; } // inset(myFrame, 10) => inset(myFrame, 10, 10, 10, 10) - if (typeof right === 'undefined') { + if (typeof right === "undefined") { right = bottom = left = top; } frameCopy.x += left; frameCopy.y += top; - frameCopy.height -= (top + bottom); - frameCopy.width -= (left + right); + frameCopy.height -= top + bottom; + frameCopy.width -= left + right; return frameCopy; } @@ -79,11 +77,17 @@ function inset (frame, top, right, bottom, left) { * @param {Frame} otherFrame * @return {Frame} */ -function intersection (frame, otherFrame) { - var x = Math.max(frame.x, otherFrame.x); - var width = Math.min(frame.x + frame.width, otherFrame.x + otherFrame.width); - var y = Math.max(frame.y, otherFrame.y); - var height = Math.min(frame.y + frame.height, otherFrame.y + otherFrame.height); +function intersection(frame, otherFrame) { + const x = Math.max(frame.x, otherFrame.x); + const width = Math.min( + frame.x + frame.width, + otherFrame.x + otherFrame.width + ); + const y = Math.max(frame.y, otherFrame.y); + const height = Math.min( + frame.y + frame.height, + otherFrame.y + otherFrame.height + ); if (width >= x && height >= y) { return make(x, y, width - x, height - y); } @@ -97,11 +101,11 @@ function intersection (frame, otherFrame) { * @param {Frame} otherFrame * @return {Frame} */ -function union (frame, otherFrame) { - var x1 = Math.min(frame.x, otherFrame.x); - var x2 = Math.max(frame.x + frame.width, otherFrame.x + otherFrame.width); - var y1 = Math.min(frame.y, otherFrame.y); - var y2 = Math.max(frame.y + frame.height, otherFrame.y + otherFrame.height); +function union(frame, otherFrame) { + const x1 = Math.min(frame.x, otherFrame.x); + const x2 = Math.max(frame.x + frame.width, otherFrame.x + otherFrame.width); + const y1 = Math.min(frame.y, otherFrame.y); + const y2 = Math.max(frame.y + frame.height, otherFrame.y + otherFrame.height); return make(x1, y1, x2 - x1, y2 - y1); } @@ -112,20 +116,13 @@ function union (frame, otherFrame) { * @param {Frame} otherFrame * @return {Boolean} */ -function intersects (frame, otherFrame) { - return !(otherFrame.x > frame.x + frame.width || - otherFrame.x + otherFrame.width < frame.x || - otherFrame.y > frame.y + frame.height || - otherFrame.y + otherFrame.height < frame.y); +function intersects(frame, otherFrame) { + return !( + otherFrame.x > frame.x + frame.width || + otherFrame.x + otherFrame.width < frame.x || + otherFrame.y > frame.y + frame.height || + otherFrame.y + otherFrame.height < frame.y + ); } -export { - make, - zero, - clone, - inset, - intersection, - intersects, - union, -}; - +export { make, zero, clone, inset, intersection, intersects, union }; diff --git a/src/RenderLayer.js b/src/RenderLayer.js index 56fc2a9..12a83bf 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -1,23 +1,22 @@ -'use strict'; +"use strict"; -import {zero} from './FrameUtils'; -import {invalidateBackingStore} from './DrawingUtils'; -import * as EventTypes from './EventTypes'; +import { zero } from "./FrameUtils"; +import { invalidateBackingStore } from "./DrawingUtils"; +import * as EventTypes from "./EventTypes"; -function RenderLayer () { +function RenderLayer() { this.children = []; this.frame = zero(); } RenderLayer.prototype = { - /** * Retrieve the root injection layer * * @return {RenderLayer} */ - getRootLayer: function () { - var root = this; + getRootLayer: function() { + let root = this; while (root.parentLayer) { root = root.parentLayer; } @@ -30,7 +29,7 @@ RenderLayer.prototype = { * * @param {RenderLayer} parentLayer */ - inject: function (parentLayer) { + inject: function(parentLayer) { if (this.parentLayer && this.parentLayer !== parentLayer) { this.remove(); } @@ -45,7 +44,7 @@ RenderLayer.prototype = { * @param {RenderLayer} parentLayer * @param {RenderLayer} referenceLayer */ - injectBefore: function (parentLayer, referenceLayer) { + injectBefore: function(parentLayer) { // FIXME this.inject(parentLayer); }, @@ -55,7 +54,7 @@ RenderLayer.prototype = { * * @param {RenderLayer} child */ - addChild: function (child) { + addChild: function(child) { child.parentLayer = this; this.children.push(child); }, @@ -63,9 +62,12 @@ RenderLayer.prototype = { /** * Remove a layer from it's parent layer */ - remove: function () { + remove: function() { if (this.parentLayer) { - this.parentLayer.children.splice(this.parentLayer.children.indexOf(this), 1); + this.parentLayer.children.splice( + this.parentLayer.children.indexOf(this), + 1 + ); } }, @@ -78,10 +80,10 @@ RenderLayer.prototype = { * @param {?Object} callbackScope * @return {Function} invoke to unsubscribe the listener */ - subscribe: function (type, callback, callbackScope) { + subscribe: function(type, callback, callbackScope) { // This is the integration point with React, called from LayerMixin.putEventListener(). // Enforce that only a single callbcak can be assigned per event type. - for (var eventType in EventTypes) { + for (const eventType in EventTypes) { if (EventTypes[eventType] === type) { this[eventType] = callback; } @@ -96,8 +98,8 @@ RenderLayer.prototype = { * @param {Function} callback * @param {?Object} callbackScope */ - addEventListener: function (type, callback, callbackScope) { - for (var eventType in EventTypes) { + addEventListener: function(type) { + for (const eventType in EventTypes) { if (EventTypes[eventType] === type) { delete this[eventType]; } @@ -109,14 +111,16 @@ RenderLayer.prototype = { * @param {Function} callback * @param {?Object} callbackScope */ - removeEventListener: function (type, callback, callbackScope) { - var listeners = this.eventListeners[type]; - var listener; + removeEventListener: function(type, callback, callbackScope) { + const listeners = this.eventListeners[type]; + let listener; if (listeners) { - for (var index=0, len=listeners.length; index < len; index++) { + for (let index = 0, len = listeners.length; index < len; index++) { listener = listeners[index]; - if (listener.callback === callback && - listener.callbackScope === callbackScope) { + if ( + listener.callback === callback && + listener.callbackScope === callbackScope + ) { listeners.splice(index, 1); break; } @@ -130,7 +134,7 @@ RenderLayer.prototype = { * @param {Number} x * @param {Number} y */ - translate: function (x, y) { + translate: function(x, y) { if (this.frame) { this.frame.x += x; this.frame.y += y; @@ -142,7 +146,7 @@ RenderLayer.prototype = { } if (this.children) { - this.children.forEach(function (child) { + this.children.forEach(function(child) { child.translate(x, y); }); } @@ -159,7 +163,7 @@ RenderLayer.prototype = { * @param {?Frame} frame Optional, if not passed the entire layer's frame * will be invalidated. */ - invalidateLayout: function () { + invalidateLayout: function() { // Bubble all the way to the root layer. this.getRootLayer().draw(); }, @@ -169,7 +173,7 @@ RenderLayer.prototype = { * redrawn. For instance, an image component would call this once after the * image loads. */ - invalidateBackingStore: function () { + invalidateBackingStore: function() { if (this.backingStoreId) { invalidateBackingStore(this.backingStoreId); } @@ -179,10 +183,9 @@ RenderLayer.prototype = { /** * Only the root owning layer should implement this function. */ - draw: function () { + draw: function() { // Placeholer } - }; export default RenderLayer; diff --git a/src/Surface.js b/src/Surface.js index 29d483c..7534ec9 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -1,27 +1,24 @@ -'use strict'; - -import React from 'react'; -import createReactClass from 'create-react-class'; -import PropTypes from 'prop-types'; -import ReactUpdates from 'react-dom/lib/ReactUpdates'; -import invariant from 'fbjs/lib/invariant'; -import ContainerMixin from './ContainerMixin'; -import RenderLayer from './RenderLayer'; -import {make} from './FrameUtils'; -import {drawRenderLayer} from './DrawingUtils'; -import hitTest from './hitTest'; -import layoutNode from './layoutNode'; +"use strict"; + +import React from "react"; +import PropTypes from "prop-types"; +import ReactUpdates from "react-dom/lib/ReactUpdates"; +import RenderLayer from "./RenderLayer"; +import { make } from "./FrameUtils"; +import { drawRenderLayer } from "./DrawingUtils"; +import hitTest from "./hitTest"; +import layoutNode from "./layoutNode"; +import container from "./ContainerDecorator"; /** * Surface is a standard React component and acts as the main drawing canvas. * ReactCanvas components cannot be rendered outside a Surface. */ +@container +class Surface extends React.Component { + displayName = "Surface"; -var Surface = createReactClass({ - displayName: 'Surface', - mixins: [ContainerMixin], - - propTypes: { + propTypes = { className: PropTypes.string, id: PropTypes.string, top: PropTypes.number.isRequired, @@ -29,16 +26,22 @@ var Surface = createReactClass({ width: PropTypes.number.isRequired, height: PropTypes.number.isRequired, scale: PropTypes.number.isRequired, - enableCSSLayout: PropTypes.bool - }, + enableCSSLayout: PropTypes.bool, + children: PropTypes.object, + style: PropTypes.object + }; - getDefaultProps: function () { + getDefaultProps = () => { return { scale: window.devicePixelRatio || 1 }; - }, + }; + + setCanvasRef = canvas => { + this.canvas = canvas; + }; - componentDidMount: function () { + componentDidMount = () => { // Prepare the for drawing. this.scale(); @@ -46,11 +49,16 @@ var Surface = createReactClass({ // `this.node` is injected into child components and represents the current // render tree. this.node = new RenderLayer(); - this.node.frame = make(this.props.left, this.props.top, this.props.width, this.props.height); + this.node.frame = make( + this.props.left, + this.props.top, + this.props.width, + this.props.height + ); this.node.draw = this.batchedTick; // This is the integration point between custom canvas components and React - var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); + const transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); transaction.perform( this.mountAndInjectChildrenAtRoot, this, @@ -61,17 +69,17 @@ var Surface = createReactClass({ // Execute initial draw on mount. this.node.draw(); - }, + }; - componentWillUnmount: function () { + componentWillUnmount = () => { // Implemented in ReactMultiChild.Mixin this.unmountChildren(); - }, + }; - componentDidUpdate: function (prevProps, prevState) { + componentDidUpdate = prevProps => { // We have to manually apply child reconciliation since child are not // declared in render(). - var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); + const transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); transaction.perform( this.updateChildrenAtRoot, this, @@ -81,7 +89,10 @@ var Surface = createReactClass({ ReactUpdates.ReactReconcileTransaction.release(transaction); // Re-scale the when changing size. - if (prevProps.width !== this.props.width || prevProps.height !== this.props.height) { + if ( + prevProps.width !== this.props.width || + prevProps.height !== this.props.height + ) { this.scale(); } @@ -89,152 +100,149 @@ var Surface = createReactClass({ if (this.node) { this.node.draw(); } - }, + }; - render: function () { + render() { // Scale the drawing area to match DPI. - var width = this.props.width * this.props.scale; - var height = this.props.height * this.props.scale; - var style = {}; + const width = this.props.width * this.props.scale; + const height = this.props.height * this.props.scale; + let style = {}; if (this.props.style) { style = Object.assign({}, this.props.style); } - if (typeof(this.props.width) !== "undefined") { + if (typeof this.props.width !== "undefined") { style.width = this.props.width; } - if (typeof(this.props.height) !== "undefined") { + if (typeof this.props.height !== "undefined") { style.height = this.props.height; } - return ( - React.createElement('canvas', { - ref: 'canvas', - className: this.props.className, - id: this.props.id, - width: width, - height: height, - style: style, - onTouchStart: this.handleTouchStart, - onTouchMove: this.handleTouchMove, - onTouchEnd: this.handleTouchEnd, - onTouchCancel: this.handleTouchEnd, - onClick: this.handleClick, - onContextMenu: this.handleContextMenu, - onDoubleClick: this.handleDoubleClick}) - ); - }, + return React.createElement("canvas", { + ref: this.setCanvasRef, + className: this.props.className, + id: this.props.id, + width: width, + height: height, + style: style, + onTouchStart: this.handleTouchStart, + onTouchMove: this.handleTouchMove, + onTouchEnd: this.handleTouchEnd, + onTouchCancel: this.handleTouchEnd, + onClick: this.handleClick, + onContextMenu: this.handleContextMenu, + onDoubleClick: this.handleDoubleClick + }); + } // Drawing // ======= - getContext: function () { - return this.refs.canvas.getContext('2d'); - }, + getContext = () => { + return this.canvas.getContext("2d"); + }; - scale: function () { + scale = () => { this.getContext().scale(this.props.scale, this.props.scale); - }, + }; - batchedTick: function () { + batchedTick = () => { if (this._frameReady === false) { this._pendingTick = true; return; } this.tick(); - }, + }; - tick: function () { + tick = () => { // Block updates until next animation frame. this._frameReady = false; this.clear(); this.draw(); requestAnimationFrame(this.afterTick); - }, + }; - afterTick: function () { + afterTick = () => { // Execute pending draw that may have been scheduled during previous frame this._frameReady = true; if (this._pendingTick) { this._pendingTick = false; this.batchedTick(); } - }, + }; - clear: function () { + clear = () => { this.getContext().clearRect(0, 0, this.props.width, this.props.height); - }, + }; - draw: function () { - var layout; + draw = () => { if (this.node) { if (this.props.enableCSSLayout) { - layout = layoutNode(this.node); + layoutNode(this.node); } drawRenderLayer(this.getContext(), this.node); } - }, + }; // Events // ====== - hitTest: function (e) { - var hitTarget = hitTest(e, this.node, this.refs.canvas); + hitTest = e => { + const hitTarget = hitTest(e, this.node, this.canvas); if (hitTarget) { hitTarget[hitTest.getHitHandle(e.type)](e); } - }, + }; - handleTouchStart: function (e) { - var hitTarget = hitTest(e, this.node, this.refs.canvas); - var touch; + handleTouchStart = e => { + const hitTarget = hitTest(e, this.node, this.canvas); + let touch; if (hitTarget) { // On touchstart: capture the current hit target for the given touch. this._touches = this._touches || {}; - for (var i=0, len=e.touches.length; i < len; i++) { + for (let i = 0, len = e.touches.length; i < len; i++) { touch = e.touches[i]; this._touches[touch.identifier] = hitTarget; } hitTarget[hitTest.getHitHandle(e.type)](e); } - }, + }; - handleTouchMove: function (e) { + handleTouchMove = e => { this.hitTest(e); - }, + }; - handleTouchEnd: function (e) { + handleTouchEnd = e => { // touchend events do not generate a pageX/pageY so we rely // on the currently captured touch targets. if (!this._touches) { return; } - var hitTarget; - var hitHandle = hitTest.getHitHandle(e.type); - for (var i=0, len=e.changedTouches.length; i < len; i++) { + let hitTarget; + const hitHandle = hitTest.getHitHandle(e.type); + for (let i = 0, len = e.changedTouches.length; i < len; i++) { hitTarget = this._touches[e.changedTouches[i].identifier]; if (hitTarget && hitTarget[hitHandle]) { hitTarget[hitHandle](e); } delete this._touches[e.changedTouches[i].identifier]; } - }, + }; - handleClick: function (e) { + handleClick = e => { this.hitTest(e); - }, + }; - handleContextMenu: function (e) { + handleContextMenu = e => { this.hitTest(e); - }, + }; - handleDoubleClick: function (e) { + handleDoubleClick = e => { this.hitTest(e); - }, - -}); + }; +} export default Surface; diff --git a/webpack.config.babel.js b/webpack.config.babel.js index 9be60c2..dd6690d 100644 --- a/webpack.config.babel.js +++ b/webpack.config.babel.js @@ -1,15 +1,14 @@ -import path from 'path'; +import path from "path"; const config = { - entry: './src/index.js', + entry: "./src/index.js", output: { - filename: 'bundle.js', - path: path.join(__dirname, '/dist'), - + filename: "bundle.js", + path: path.join(__dirname, "/dist"), // the name of the exported library - libraryTarget: "commonjs", // universal module definition + libraryTarget: "commonjs" // universal module definition // the type of the exported library }, @@ -19,16 +18,18 @@ const config = { test: /\.js$/, exclude: /(node_modules)/, use: { - loader: 'babel-loader', + loader: "babel-loader", query: { - plugins: ["transform-class-properties", "transform-object-rest-spread"] + plugins: [ + "transform-class-properties", + "transform-object-rest-spread", + "transform-decorators-legacy" + ] } } } ] - - }, - + } }; -export default config; +export default config; diff --git a/yarn.lock b/yarn.lock index db43e1b..7b3ee8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1160,7 +1160,7 @@ babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" -babel-plugin-syntax-decorators@^6.13.0: +babel-plugin-syntax-decorators@^6.1.18, babel-plugin-syntax-decorators@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" @@ -1233,6 +1233,14 @@ babel-plugin-transform-class-properties@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" +babel-plugin-transform-decorators-legacy@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925" + dependencies: + babel-plugin-syntax-decorators "^6.1.18" + babel-runtime "^6.2.0" + babel-template "^6.3.0" + babel-plugin-transform-decorators@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" @@ -1712,14 +1720,14 @@ babel-register@^6.26.0, babel-register@^6.9.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2: +babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0, babel-template@^6.3.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: From 0ae91ac6b300a55a1a308b5ee333c11eb8a5182c Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Fri, 18 May 2018 17:38:34 -0700 Subject: [PATCH 04/60] First attempt at react 16 --- package.json | 10 ++- src/Canvas.js | 16 ++-- src/CanvasComponentDecorator.js | 111 +++++++++++++++++++++++ src/CanvasHostConfig.js | 151 ++++++++++++++++++++++++++++++++ src/ContainerDecorator.js | 2 - src/ContainerMixin.js | 34 +++---- src/DrawingUtils.js | 3 +- src/Gradient.js | 44 +++------- src/Group.js | 27 +++--- src/LayerMixin.js | 43 ++++----- src/ListView.js | 93 ++++++++++---------- src/RenderLayer.js | 8 +- src/Surface.js | 33 ++----- src/Text.js | 38 ++++---- src/createComponent.js | 10 +-- src/measureText.js | 79 ++++++++++------- stories/index.js | 8 +- yarn.lock | 40 ++++++--- 18 files changed, 492 insertions(+), 258 deletions(-) create mode 100644 src/CanvasComponentDecorator.js create mode 100644 src/CanvasHostConfig.js diff --git a/package.json b/package.json index 08e02c9..e8b8e86 100644 --- a/package.json +++ b/package.json @@ -55,11 +55,13 @@ "dependencies": { "@craigmorton/linebreak": "^0.4.5", "create-react-class": "^15.6.0", - "fbjs": "^0.8.8", + "fbjs": "^0.8.16", "object-assign": "^4.0.1", - "prop-types": "^15.5.10", - "react": "15.6", - "react-dom": "15.6", + "prop-types": "^15.6.1", + "react": "^16.3.2", + "react-dom": "^16.3.2", + "react-reconciler": "^0.10.0", + "react-scheduler": "^0.1.0", "scroller": "git://github.com/mjohnston/scroller" } } diff --git a/src/Canvas.js b/src/Canvas.js index b0fd7c2..25b9753 100644 --- a/src/Canvas.js +++ b/src/Canvas.js @@ -1,12 +1,12 @@ -'use strict'; +"use strict"; // Note that this class intentionally does not use PooledClass. // DrawingUtils manages pooling for more fine-grained control. -function Canvas (width, height, scale) { +function Canvas(width, height, scale) { // Re-purposing an existing canvas element. if (!this._canvas) { - this._canvas = document.createElement('canvas'); + this._canvas = document.createElement("canvas"); } this.width = width; @@ -15,19 +15,17 @@ function Canvas (width, height, scale) { this._canvas.width = this.width * this.scale; this._canvas.height = this.height * this.scale; - this._canvas.getContext('2d').scale(this.scale, this.scale); + this._canvas.getContext("2d").scale(this.scale, this.scale); } Object.assign(Canvas.prototype, { - - getRawCanvas: function () { + getRawCanvas: function() { return this._canvas; }, - getContext: function () { - return this._canvas.getContext('2d'); + getContext: function() { + return this._canvas.getContext("2d"); } - }); // PooledClass: diff --git a/src/CanvasComponentDecorator.js b/src/CanvasComponentDecorator.js new file mode 100644 index 0000000..fd908bd --- /dev/null +++ b/src/CanvasComponentDecorator.js @@ -0,0 +1,111 @@ +import React from "react"; +import RenderLayer from "./RenderLayer"; +import { make } from "./FrameUtils"; +import * as EventTypes from "./EventTypes"; + +export default function apply(Class) { + let LAYER_GUID = 0; + + return class extends React.Component { + displayName = "CanvasComponent"; + + constructor(props) { + super(props); + + this.subscriptions = null; + this.listeners = null; + this.node = new RenderLayer(); + this._currentElement = null; + this._layerId = LAYER_GUID++; + } + + construct = element => { + this._currentElement = element; + }; + + getPublicInstance = () => { + return this.node; + }; + + putEventListener = (type, listener) => { + const subscriptions = this.subscriptions || (this.subscriptions = {}); + const listeners = this.listeners || (this.listeners = {}); + listeners[type] = listener; + if (listener) { + if (!subscriptions[type]) { + subscriptions[type] = this.node.subscribe(type, listener, this); + } + } else { + if (subscriptions[type]) { + subscriptions[type](); + delete subscriptions[type]; + } + } + }; + + handleEvent = () => { + // TODO + }; + + destroyEventListeners = () => { + // TODO + }; + + applyCommonLayerProps = (prevProps, props) => { + const layer = this.node; + const style = props && props.style ? props.style : {}; + layer._originalStyle = style; + + // Common layer properties + layer.alpha = style.alpha; + layer.backgroundColor = style.backgroundColor; + layer.borderColor = style.borderColor; + layer.borderWidth = style.borderWidth; + layer.borderRadius = style.borderRadius; + layer.clipRect = style.clipRect; + layer.frame = make( + style.left || 0, + style.top || 0, + style.width || 0, + style.height || 0 + ); + layer.scale = style.scale; + layer.translateX = style.translateX; + layer.translateY = style.translateY; + layer.zIndex = style.zIndex; + + // Shadow + layer.shadowColor = style.shadowColor; + layer.shadowBlur = style.shadowBlur; + layer.shadowOffsetX = style.shadowOffsetX; + layer.shadowOffsetY = style.shadowOffsetY; + + // Generate backing store ID as needed. + if (props.useBackingStore) { + layer.backingStoreId = this._layerId; + } + + // Register events + for (const type in EventTypes) { + this.putEventListener(EventTypes[type], props[type]); + } + }; + + mountComponentIntoNode = () => { + throw new Error( + "You cannot render a Canvas component standalone. " + + "You need to wrap it in a Surface." + ); + }; + + unmountComponent = () => { + this.destroyEventListeners(); + }; + + getLayer = () => this.node; + + render() { + return ; + } + }; +} diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js new file mode 100644 index 0000000..ecc1fa7 --- /dev/null +++ b/src/CanvasHostConfig.js @@ -0,0 +1,151 @@ +import * as ReactScheduler from "react-scheduler"; +import invariant from "fbjs/lib/invariant"; +import emptyObject from "fbjs/lib/emptyObject"; +import { Surface, Gradient } from "./index"; + +const UPDATE_SIGNAL = {}; + +const CanvasHostConfig = { + appendInitialChild(parentInstance, child) { + if (typeof child === "string") { + // Noop for string children of Text (eg {'foo'}{'bar'}) + invariant(false, "Text children should already be flattened."); + return; + } + + child.inject(parentInstance); + }, + + createInstance(type, props /*, internalInstanceHandle*/) { + const ctors = { + SURFACE: () => new Surface(props), + GRADIENT: () => new Gradient(props) + }; + + const instance = ctors[type](); + + if (typeof instance.applyLayerProps !== "undefined") { + instance.applyLayerProps({}, props); + } + + return instance; + }, + + createTextInstance(text /*, rootContainerInstance, internalInstanceHandle*/) { + return text; + }, + + finalizeInitialChildren(/*domElement, type, props*/) { + return false; + }, + + getPublicInstance(instance) { + return instance; + }, + + prepareForCommit() { + // Noop + }, + + prepareUpdate(/*domElement, type, oldProps, newProps*/) { + return UPDATE_SIGNAL; + }, + + resetAfterCommit() { + // Noop + }, + + resetTextContent(/*domElement*/) { + // Noop + }, + + shouldDeprioritizeSubtree(/*type, props*/) { + return false; + }, + + getRootHostContext() { + return emptyObject; + }, + + getChildHostContext() { + return emptyObject; + }, + + scheduleDeferredCallback: ReactScheduler.scheduleWork, + + shouldSetTextContent(type, props) { + return ( + typeof props.children === "string" || typeof props.children === "number" + ); + }, + + now: ReactScheduler.now, + + isPrimaryRenderer: true, + + mutation: { + appendChild(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.eject(); + } + + childLayer.inject(parentLayer); + }, + + appendChildToContainer(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.eject(); + } + + childLayer.inject(parentLayer); + }, + + insertBefore(parentInstance, child, beforeChild) { + invariant( + child.getLayer() !== beforeChild.getLayer(), + "ReactART: Can not insert node before itself" + ); + child.getLayer().injectBefore(beforeChild.getLayer()); + }, + + insertInContainerBefore(parentInstance, child, beforeChild) { + invariant( + child.getLayer() !== beforeChild.getLayer(), + "ReactART: Can not insert node before itself" + ); + child.getLayer().injectBefore(beforeChild.getLayer()); + }, + + removeChild(parentInstance, child) { + child.destroyEventListeners(); + child.getLayer().eject(); + }, + + removeChildFromContainer(parentInstance, child) { + child.destroyEventListeners(); + child.getLayer().eject(); + }, + + commitTextUpdate(/*textInstance, oldText, newText*/) { + // Noop + }, + + commitMount(/*instance, type, newProps*/) { + // Noop + }, + + commitUpdate(instance, updatePayload, type, oldProps, newProps) { + if (typeof instance.applyLayerProps !== "undefined") { + instance.applyLayerProps(instance, newProps, oldProps); + } + } + } +}; + +export default CanvasHostConfig; diff --git a/src/ContainerDecorator.js b/src/ContainerDecorator.js index 9c94b51..5500347 100644 --- a/src/ContainerDecorator.js +++ b/src/ContainerDecorator.js @@ -113,8 +113,6 @@ export default function apply(Class) { } } }; - getHostNode = () => this.node; - getNativeNode = () => this.node; render() { return ; diff --git a/src/ContainerMixin.js b/src/ContainerMixin.js index d814027..be585a9 100644 --- a/src/ContainerMixin.js +++ b/src/ContainerMixin.js @@ -1,13 +1,12 @@ -'use strict'; +"use strict"; // Adapted from ReactART: // https://github.com/reactjs/react-art -import React from 'react'; -import ReactMultiChild from 'react-dom/lib/ReactMultiChild'; -import emptyObject from 'fbjs/lib/emptyObject'; - -var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { +import React from "react"; +import ReactMultiChild from "react-dom/lib/ReactMultiChild"; +import emptyObject from "fbjs/lib/emptyObject"; +const ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { /** * Moves a child component to the supplied index. * @@ -16,8 +15,8 @@ var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { * @protected */ moveChild: function(child, afterNode, toIndex, lastIndex) { - var childNode = child._mountImage; - var mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; + const childNode = child._mountImage; + const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; if (mostRecentlyPlacedChild == null) { // I'm supposed to be first. if (childNode.previousSibling) { @@ -49,7 +48,7 @@ var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { */ createChild: function(child, afterNode, childNode) { child._mountImage = childNode; - var mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; + const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; if (mostRecentlyPlacedChild == null) { // I'm supposed to be first. if (this.node.firstChild) { @@ -104,26 +103,19 @@ var ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { // Shorthands mountAndInjectChildren: function(children, transaction, context) { - var mountedImages = this.mountChildren( - children, - transaction, - context - ); + const mountedImages = this.mountChildren(children, transaction, context); // Each mount image corresponds to one of the flattened children - var i = 0; - for (var key in this._renderedChildren) { + let i = 0; + for (const key in this._renderedChildren) { if (this._renderedChildren.hasOwnProperty(key)) { - var child = this._renderedChildren[key]; + const child = this._renderedChildren[key]; child._mountImage = mountedImages[i]; mountedImages[i].inject(this.node); i++; } } - }, - getHostNode: function () { return this.node }, - getNativeNode: function () { return this.node }, - + } }); export default ContainerMixin; diff --git a/src/DrawingUtils.js b/src/DrawingUtils.js index a84e063..4879f6b 100644 --- a/src/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -359,10 +359,9 @@ function drawRenderLayer(ctx, layer) { if (layer.backingStoreId) { drawCacheableRenderLayer(ctx, layer, drawFunction); } else { - // Draw default properties, such as background color. ctx.save(); - // Draw custom properties if needed. + // Draw drawFunction && drawFunction(ctx, layer); ctx.restore(); diff --git a/src/Gradient.js b/src/Gradient.js index 9f3d8cc..24440ed 100644 --- a/src/Gradient.js +++ b/src/Gradient.js @@ -1,39 +1,17 @@ -'use strict'; +"use strict"; -import React from 'react'; -import createComponent from './createComponent'; -import LayerMixin from './LayerMixin'; +import React from "react"; +import CanvasComponent from "./CanvasComponentDecorator"; -const Gradient = createComponent('Gradient', LayerMixin, { - - applyGradientProps: function (prevProps, props) { - var layer = this.node; - layer.type = 'gradient'; +@CanvasComponent +class Gradient extends React.Component { + applyLayerProps = (prevProps, props) => { + const layer = this.node; + layer.type = "gradient"; layer.colorStops = props.colorStops || []; - this.applyLayerProps(prevProps, props); - }, - - mountComponent: function ( - transaction, - nativeParent, - nativeContainerInfo, - context - ) { - var props = this._currentElement.props; - var layer = this.node; - this.applyGradientProps({}, props); - return layer; - }, - - receiveComponent: function (nextComponent, transaction, context) { - var prevProps = this._currentElement.props; - var props = nextComponent.props; - this.applyGradientProps({}, props); - this._currentElement = nextComponent; + this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); - }, - -}); - + }; +} export default Gradient; diff --git a/src/Group.js b/src/Group.js index 4e49b21..8591593 100644 --- a/src/Group.js +++ b/src/Group.js @@ -1,20 +1,18 @@ -'use strict'; +"use strict"; -import createComponent from './createComponent'; -import ContainerMixin from './ContainerMixin'; -import LayerMixin from './LayerMixin'; -import RenderLayer from './RenderLayer'; +import createComponent from "./createComponent"; +import ContainerMixin from "./ContainerMixin"; +import LayerMixin from "./LayerMixin"; -var Group = createComponent('Group', LayerMixin, ContainerMixin, { - - mountComponent: function ( +const Group = createComponent("Group", LayerMixin, ContainerMixin, { + mountComponent: function( transaction, nativeParent, nativeContainerInfo, context ) { - var props = this._currentElement.props; - var layer = this.node; + const props = this._currentElement.props; + const layer = this.node; this.applyLayerProps({}, props); this.mountAndInjectChildren(props.children, transaction, context); @@ -22,20 +20,19 @@ var Group = createComponent('Group', LayerMixin, ContainerMixin, { return layer; }, - receiveComponent: function (nextComponent, transaction, context) { - var props = nextComponent.props; - var prevProps = this._currentElement.props; + receiveComponent: function(nextComponent, transaction, context) { + const props = nextComponent.props; + const prevProps = this._currentElement.props; this.applyLayerProps(prevProps, props); this.updateChildren(props.children, transaction, context); this._currentElement = nextComponent; this.node.invalidateLayout(); }, - unmountComponent: function () { + unmountComponent: function() { LayerMixin.unmountComponent.call(this); this.unmountChildren(); } - }); export default Group; diff --git a/src/LayerMixin.js b/src/LayerMixin.js index 88c5449..f49f5e0 100644 --- a/src/LayerMixin.js +++ b/src/LayerMixin.js @@ -1,15 +1,14 @@ -'use strict'; +"use strict"; // Adapted from ReactART: // https://github.com/reactjs/react-art -import {make} from './FrameUtils'; -import * as EventTypes from './EventTypes'; +import { make } from "./FrameUtils"; +import * as EventTypes from "./EventTypes"; -var LAYER_GUID = 0; - -var LayerMixin = { +let LAYER_GUID = 0; +const LayerMixin = { construct: function(element) { this._currentElement = element; this._layerId = LAYER_GUID++; @@ -20,8 +19,8 @@ var LayerMixin = { }, putEventListener: function(type, listener) { - var subscriptions = this.subscriptions || (this.subscriptions = {}); - var listeners = this.listeners || (this.listeners = {}); + const subscriptions = this.subscriptions || (this.subscriptions = {}); + const listeners = this.listeners || (this.listeners = {}); listeners[type] = listener; if (listener) { if (!subscriptions[type]) { @@ -35,7 +34,7 @@ var LayerMixin = { } }, - handleEvent: function(event) { + handleEvent: function() { // TODO }, @@ -43,9 +42,9 @@ var LayerMixin = { // TODO }, - applyLayerProps: function (prevProps, props) { - var layer = this.node; - var style = (props && props.style) ? props.style : {}; + applyLayerProps: function(prevProps, props) { + const layer = this.node; + const style = props && props.style ? props.style : {}; layer._originalStyle = style; // Common layer properties @@ -55,7 +54,12 @@ var LayerMixin = { layer.borderWidth = style.borderWidth; layer.borderRadius = style.borderRadius; layer.clipRect = style.clipRect; - layer.frame = make(style.left || 0, style.top || 0, style.width || 0, style.height || 0); + layer.frame = make( + style.left || 0, + style.top || 0, + style.width || 0, + style.height || 0 + ); layer.scale = style.scale; layer.translateX = style.translateX; layer.translateY = style.translateY; @@ -73,24 +77,21 @@ var LayerMixin = { } // Register events - for (var type in EventTypes) { + for (const type in EventTypes) { this.putEventListener(EventTypes[type], props[type]); } }, - mountComponentIntoNode: function(rootID, container) { + mountComponentIntoNode: function() { throw new Error( - 'You cannot render a Canvas component standalone. ' + - 'You need to wrap it in a Surface.' + "You cannot render a Canvas component standalone. " + + "You need to wrap it in a Surface." ); }, unmountComponent: function() { this.destroyEventListeners(); - }, - getHostNode: function () { return this.node }, - getNativeNode: function () { return this.node }, - + } }; export default LayerMixin; diff --git a/src/ListView.js b/src/ListView.js index 10563a6..f8e4cea 100644 --- a/src/ListView.js +++ b/src/ListView.js @@ -1,10 +1,9 @@ -'use strict'; +"use strict"; -import React, {Component} from 'react'; -import PropTypes from 'prop-types'; -import Scroller from 'scroller'; -import Group from './Group'; -import clamp from './clamp'; +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Scroller from "scroller"; +import Group from "./Group"; class ListView extends Component { static propTypes = { @@ -35,55 +34,52 @@ class ListView extends Component { } render() { - var items = this.getVisibleItemIndexes().map(this.renderItem); - return ( - React.createElement(Group, { + const items = this.getVisibleItemIndexes().map(this.renderItem); + return React.createElement( + Group, + { style: this.props.style, onTouchStart: this.handleTouchStart, onTouchMove: this.handleTouchMove, onTouchEnd: this.handleTouchEnd, - onTouchCancel: this.handleTouchEnd}, - items - ) + onTouchCancel: this.handleTouchEnd + }, + items ); } - renderItem = (itemIndex) => { - var item = this.props.itemGetter(itemIndex, this.state.scrollTop); - var itemHeight = this.props.itemHeightGetter(); - var style = { + renderItem = itemIndex => { + const item = this.props.itemGetter(itemIndex, this.state.scrollTop); + const itemHeight = this.props.itemHeightGetter(); + const style = { top: 0, left: 0, width: this.props.style.width, height: itemHeight, - translateY: (itemIndex * itemHeight) - this.state.scrollTop, + translateY: itemIndex * itemHeight - this.state.scrollTop, zIndex: itemIndex }; - return ( - React.createElement(Group, {style: style, key: itemIndex}, - item - ) - ); + return React.createElement(Group, { style: style, key: itemIndex }, item); }; // Events // ====== - handleTouchStart = (e) => { + handleTouchStart = e => { if (this.scroller) { this.scroller.doTouchStart(e.touches, e.timeStamp); } }; - handleTouchMove = (e) => { + handleTouchMove = e => { if (this.scroller) { e.preventDefault(); this.scroller.doTouchMove(e.touches, e.timeStamp, e.scale); } }; - handleTouchEnd = (e) => { + handleTouchEnd = e => { if (this.scroller) { this.scroller.doTouchEnd(e.timeStamp); if (this.props.snapping) { @@ -103,32 +99,33 @@ class ListView extends Component { // ========= createScroller = () => { - var options = { + const options = { scrollingX: false, scrollingY: true, decelerationRate: this.props.scrollingDeceleration, - penetrationAcceleration: this.props.scrollingPenetrationAcceleration, + penetrationAcceleration: this.props.scrollingPenetrationAcceleration }; this.scroller = new Scroller(this.handleScroll, options); }; updateScrollingDimensions = () => { - var width = this.props.style.width; - var height = this.props.style.height; - var scrollWidth = width; - var scrollHeight = this.props.numberOfItemsGetter() * this.props.itemHeightGetter(); + const width = this.props.style.width; + const height = this.props.style.height; + const scrollWidth = width; + const scrollHeight = + this.props.numberOfItemsGetter() * this.props.itemHeightGetter(); this.scroller.setDimensions(width, height, scrollWidth, scrollHeight); }; getVisibleItemIndexes = () => { - var itemIndexes = []; - var itemHeight = this.props.itemHeightGetter(); - var itemCount = this.props.numberOfItemsGetter(); - var scrollTop = this.state.scrollTop; - var itemScrollTop = 0; + const itemIndexes = []; + const itemHeight = this.props.itemHeightGetter(); + const itemCount = this.props.numberOfItemsGetter(); + const scrollTop = this.state.scrollTop; + let itemScrollTop = 0; - for (var index=0; index < itemCount; index++) { - itemScrollTop = (index * itemHeight) - scrollTop; + for (let index = 0; index < itemCount; index++) { + itemScrollTop = index * itemHeight - scrollTop; // Item is completely off-screen bottom if (itemScrollTop >= this.props.style.height) { @@ -148,10 +145,10 @@ class ListView extends Component { }; updateScrollingDeceleration = () => { - var currVelocity = this.scroller.__decelerationVelocityY; - var currScrollTop = this.state.scrollTop; - var targetScrollTop = 0; - var estimatedEndScrollTop = currScrollTop; + let currVelocity = this.scroller.__decelerationVelocityY; + const currScrollTop = this.state.scrollTop; + let targetScrollTop = 0; + let estimatedEndScrollTop = currScrollTop; while (Math.abs(currVelocity).toFixed(6) > 0) { estimatedEndScrollTop += currVelocity; @@ -159,13 +156,13 @@ class ListView extends Component { } // Find the page whose estimated end scrollTop is closest to 0. - var closestZeroDelta = Infinity; - var pageHeight = this.props.itemHeightGetter(); - var pageCount = this.props.numberOfItemsGetter(); - var pageScrollTop; + let closestZeroDelta = Infinity; + const pageHeight = this.props.itemHeightGetter(); + const pageCount = this.props.numberOfItemsGetter(); + let pageScrollTop; - for (var pageIndex=0, len=pageCount; pageIndex < len; pageIndex++) { - pageScrollTop = (pageHeight * pageIndex) - estimatedEndScrollTop; + for (let pageIndex = 0, len = pageCount; pageIndex < len; pageIndex++) { + pageScrollTop = pageHeight * pageIndex - estimatedEndScrollTop; if (Math.abs(pageScrollTop) < closestZeroDelta) { closestZeroDelta = Math.abs(pageScrollTop); targetScrollTop = pageHeight * pageIndex; diff --git a/src/RenderLayer.js b/src/RenderLayer.js index 12a83bf..c3318c5 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -1,5 +1,3 @@ -"use strict"; - import { zero } from "./FrameUtils"; import { invalidateBackingStore } from "./DrawingUtils"; import * as EventTypes from "./EventTypes"; @@ -45,7 +43,7 @@ RenderLayer.prototype = { * @param {RenderLayer} referenceLayer */ injectBefore: function(parentLayer) { - // FIXME + // TODO FIXME this.inject(parentLayer); }, @@ -185,6 +183,10 @@ RenderLayer.prototype = { */ draw: function() { // Placeholer + }, + + eject: function() { + // TODO } }; diff --git a/src/Surface.js b/src/Surface.js index 7534ec9..a91a5a8 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -1,20 +1,21 @@ "use strict"; import React from "react"; +import ReactFiberReconciler from "react-reconciler"; +import CanvasHostConfig from "./CanvasHostConfig"; import PropTypes from "prop-types"; -import ReactUpdates from "react-dom/lib/ReactUpdates"; import RenderLayer from "./RenderLayer"; import { make } from "./FrameUtils"; import { drawRenderLayer } from "./DrawingUtils"; import hitTest from "./hitTest"; import layoutNode from "./layoutNode"; -import container from "./ContainerDecorator"; + +const CanvasRenderer = ReactFiberReconciler(CanvasHostConfig); /** * Surface is a standard React component and acts as the main drawing canvas. * ReactCanvas components cannot be rendered outside a Surface. */ -@container class Surface extends React.Component { displayName = "Surface"; @@ -57,15 +58,8 @@ class Surface extends React.Component { ); this.node.draw = this.batchedTick; - // This is the integration point between custom canvas components and React - const transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); - transaction.perform( - this.mountAndInjectChildrenAtRoot, - this, - this.props.children, - transaction - ); - ReactUpdates.ReactReconcileTransaction.release(transaction); + this.mountNode = CanvasRenderer.createContainer(this.node); + CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); // Execute initial draw on mount. this.node.draw(); @@ -73,21 +67,10 @@ class Surface extends React.Component { componentWillUnmount = () => { // Implemented in ReactMultiChild.Mixin - this.unmountChildren(); + //this.unmountChildren(); }; componentDidUpdate = prevProps => { - // We have to manually apply child reconciliation since child are not - // declared in render(). - const transaction = ReactUpdates.ReactReconcileTransaction.getPooled(); - transaction.perform( - this.updateChildrenAtRoot, - this, - this.props.children, - transaction - ); - ReactUpdates.ReactReconcileTransaction.release(transaction); - // Re-scale the when changing size. if ( prevProps.width !== this.props.width || @@ -96,6 +79,8 @@ class Surface extends React.Component { this.scale(); } + CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); + // Redraw updated render tree to . if (this.node) { this.node.draw(); diff --git a/src/Text.js b/src/Text.js index 6339b62..7127c5e 100644 --- a/src/Text.js +++ b/src/Text.js @@ -1,15 +1,14 @@ -'use strict'; +"use strict"; -import createComponent from './createComponent'; -import LayerMixin from './LayerMixin'; +import createComponent from "./createComponent"; +import LayerMixin from "./LayerMixin"; -var Text = createComponent('Text', LayerMixin, { +const Text = createComponent("Text", LayerMixin, { + applyTextProps: function(prevProps, props) { + const style = props && props.style ? props.style : {}; + const layer = this.node; - applyTextProps: function (prevProps, props) { - var style = (props && props.style) ? props.style : {}; - var layer = this.node; - - layer.type = 'text'; + layer.type = "text"; layer.text = childrenAsString(props.children); layer.color = style.color; @@ -19,41 +18,40 @@ var Text = createComponent('Text', LayerMixin, { layer.textAlign = style.textAlign; }, - mountComponent: function ( + mountComponent: function( transaction, nativeParent, nativeContainerInfo, context ) { - var props = this._currentElement.props; - var layer = this.node; + const props = this._currentElement.props; + const layer = this.node; this.applyLayerProps({}, props); this.applyTextProps({}, props); return layer; }, - receiveComponent: function (nextComponent, transaction, context) { - var props = nextComponent.props; - var prevProps = this._currentElement.props; + receiveComponent: function(nextComponent, transaction, context) { + const props = nextComponent.props; + const prevProps = this._currentElement.props; this.applyLayerProps(prevProps, props); this.applyTextProps(prevProps, props); this._currentElement = nextComponent; this.node.invalidateLayout(); } - }); function childrenAsString(children) { if (!children) { - return ''; + return ""; } - if (typeof children === 'string') { + if (typeof children === "string") { return children; } if (children.length) { - return children.join('\n'); + return children.join("\n"); } - return ''; + return ""; } export default Text; diff --git a/src/createComponent.js b/src/createComponent.js index 7c6d140..ceda393 100644 --- a/src/createComponent.js +++ b/src/createComponent.js @@ -1,14 +1,14 @@ -'use strict'; +"use strict"; // Adapted from ReactART: // https://github.com/reactjs/react-art -import RenderLayer from './RenderLayer'; +import RenderLayer from "./RenderLayer"; let LAYER_GUID = 0; -function createComponent (name) { - var ReactCanvasComponent = function (element) { +function createComponent(name) { + const ReactCanvasComponent = function(element) { this.node = null; this.subscriptions = null; this.listeners = null; @@ -20,7 +20,7 @@ function createComponent (name) { this._layerId = LAYER_GUID++; }; ReactCanvasComponent.displayName = name; - for (var i = 1, l = arguments.length; i < l; i++) { + for (let i = 1, l = arguments.length; i < l; i++) { Object.assign(ReactCanvasComponent.prototype, arguments[i]); } diff --git a/src/measureText.js b/src/measureText.js index d9d2acf..59a516b 100644 --- a/src/measureText.js +++ b/src/measureText.js @@ -1,19 +1,17 @@ -'use strict'; +import { isFontLoaded } from "./FontUtils"; +import LineBreaker from "@craigmorton/linebreak"; -import {isFontLoaded} from './FontUtils'; -import LineBreaker from '@craigmorton/linebreak'; +const canvas = document.createElement("canvas"); +const ctx = canvas.getContext("2d"); -var canvas = document.createElement('canvas'); -var ctx = canvas.getContext('2d'); - -var _cache = {}; -var _zeroMetrics = { +const _cache = {}; +const _zeroMetrics = { width: 0, height: 0, lines: [] }; -function getCacheKey (text, width, fontFace, fontSize, lineHeight) { +function getCacheKey(text, width, fontFace, fontSize, lineHeight) { return text + width + fontFace.id + fontSize + lineHeight; } @@ -27,9 +25,15 @@ function getCacheKey (text, width, fontFace, fontSize, lineHeight) { * @param {Number} lineHeight The line height in CSS pixels * @return {Object} Measured text size with `width` and `height` members. */ -export default function measureText (text, width, fontFace, fontSize, lineHeight) { - var cacheKey = getCacheKey(text, width, fontFace, fontSize, lineHeight); - var cached = _cache[cacheKey]; +export default function measureText( + text, + width, + fontFace, + fontSize, + lineHeight +) { + const cacheKey = getCacheKey(text, width, fontFace, fontSize, lineHeight); + const cached = _cache[cacheKey]; if (cached) { return cached; } @@ -39,17 +43,23 @@ export default function measureText (text, width, fontFace, fontSize, lineHeight return _zeroMetrics; } - var measuredSize = {}; - var textMetrics; - var lastMeasuredWidth; - var words; - var tryLine; - var currentLine; - var breaker; - var bk; - var lastBreak; + const measuredSize = {}; + let textMetrics; + let lastMeasuredWidth; + let tryLine; + let currentLine; + let breaker; + let bk; + let lastBreak; - ctx.font = fontFace.attributes.style + ' normal ' + fontFace.attributes.weight + ' ' + fontSize + 'pt ' + fontFace.family; + ctx.font = + fontFace.attributes.style + + " normal " + + fontFace.attributes.weight + + " " + + fontSize + + "pt " + + fontFace.family; textMetrics = ctx.measureText(text); measuredSize.width = textMetrics.width; @@ -58,39 +68,42 @@ export default function measureText (text, width, fontFace, fontSize, lineHeight if (measuredSize.width <= width) { // The entire text string fits. - measuredSize.lines.push({width: measuredSize.width, text: text}); + measuredSize.lines.push({ width: measuredSize.width, text: text }); } else { // Break into multiple lines. measuredSize.width = width; - currentLine = ''; + currentLine = ""; breaker = new LineBreaker(text); - - while (bk = breaker.nextBreak()) { - var word = text.slice(lastBreak ? lastBreak.position : 0, bk.position); - + + while ((bk = breaker.nextBreak())) { + const word = text.slice(lastBreak ? lastBreak.position : 0, bk.position); + tryLine = currentLine + word; textMetrics = ctx.measureText(tryLine); if (textMetrics.width > width || (lastBreak && lastBreak.required)) { measuredSize.height += lineHeight; - measuredSize.lines.push({width: lastMeasuredWidth, text: currentLine.trim()}); + measuredSize.lines.push({ + width: lastMeasuredWidth, + text: currentLine.trim() + }); currentLine = word; lastMeasuredWidth = ctx.measureText(currentLine.trim()).width; } else { currentLine = tryLine; lastMeasuredWidth = textMetrics.width; } - + lastBreak = bk; } - + currentLine = currentLine.trim(); if (currentLine.length > 0) { textMetrics = ctx.measureText(currentLine); - measuredSize.lines.push({width: textMetrics, text: currentLine}); + measuredSize.lines.push({ width: textMetrics, text: currentLine }); } } _cache[cacheKey] = measuredSize; return measuredSize; -}; +} diff --git a/stories/index.js b/stories/index.js index a39297e..b7928fa 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,5 +1,5 @@ import "./canvasStory"; -import "./listviewStory"; -import "./customDrawStory"; -import "./heatmapStory"; -import "./timeline"; +//import "./listviewStory"; +//import "./customDrawStory"; +//import "./heatmapStory"; +//import "./timeline"; diff --git a/yarn.lock b/yarn.lock index 7b3ee8c..d818413 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3618,7 +3618,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.8, fbjs@^0.8.9: +fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9: version "0.8.16" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" dependencies: @@ -7098,14 +7098,14 @@ react-docgen@^3.0.0-beta11: node-dir "^0.1.10" recast "^0.12.6" -react-dom@15.6: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730" +react-dom@^16.3.2: + version "16.3.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.3.2.tgz#cb90f107e09536d683d84ed5d4888e9640e0e4df" dependencies: - fbjs "^0.8.9" + fbjs "^0.8.16" loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" + object-assign "^4.1.1" + prop-types "^15.6.0" react-error-overlay@^4.0.0: version "4.0.0" @@ -7156,6 +7156,19 @@ react-modal@^3.3.2: react-lifecycles-compat "^3.0.0" warning "^3.0.0" +react-reconciler@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.10.0.tgz#5dc75e73348de97b992deaba75ec72019918f71b" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.0" + +react-scheduler@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/react-scheduler/-/react-scheduler-0.1.0.tgz#d16c0ee90d2895ff1941e0d681293dbe4f4b4f38" + react-split-pane@^0.1.77: version "0.1.77" resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" @@ -7189,15 +7202,14 @@ react-treebeard@^2.1.0: shallowequal "^0.2.2" velocity-react "^1.3.1" -react@15.6: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72" +react@^16.3.2: + version "16.3.2" + resolved "https://registry.yarnpkg.com/react/-/react-16.3.2.tgz#fdc8420398533a1e58872f59091b272ce2f91ea9" dependencies: - create-react-class "^15.6.0" - fbjs "^0.8.9" + fbjs "^0.8.16" loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" + object-assign "^4.1.1" + prop-types "^15.6.0" read-chunk@^2.1.0: version "2.1.0" From d5c5e00e0532a91f5f5a85a3e12d8c4a691b50c4 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Fri, 18 May 2018 21:50:43 -0700 Subject: [PATCH 05/60] Canvas rendering --- package.json | 5 - src/CanvasHostConfig.js | 6 +- src/ContainerMixin.js | 121 ------------------------ src/Group.js | 3 +- src/ReactDOMFrameScheduling.js | 168 +++++++++++++++++++++++++++++++++ src/Surface.js | 8 +- stories/canvasStory.js | 15 +-- 7 files changed, 176 insertions(+), 150 deletions(-) delete mode 100644 src/ContainerMixin.js create mode 100644 src/ReactDOMFrameScheduling.js diff --git a/package.json b/package.json index e8b8e86..a1b851a 100644 --- a/package.json +++ b/package.json @@ -48,10 +48,6 @@ "webpack": "^4.0.0", "webpack-cli": "^2.1.3" }, - "peerDependencies": { - "react": "^15.0.0", - "react-dom": "^15.0.0" - }, "dependencies": { "@craigmorton/linebreak": "^0.4.5", "create-react-class": "^15.6.0", @@ -61,7 +57,6 @@ "react": "^16.3.2", "react-dom": "^16.3.2", "react-reconciler": "^0.10.0", - "react-scheduler": "^0.1.0", "scroller": "git://github.com/mjohnston/scroller" } } diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index ecc1fa7..0bb7a9a 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -1,7 +1,7 @@ -import * as ReactScheduler from "react-scheduler"; import invariant from "fbjs/lib/invariant"; import emptyObject from "fbjs/lib/emptyObject"; import { Surface, Gradient } from "./index"; +import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; const UPDATE_SIGNAL = {}; @@ -71,7 +71,7 @@ const CanvasHostConfig = { return emptyObject; }, - scheduleDeferredCallback: ReactScheduler.scheduleWork, + scheduleDeferredCallback: ReactDOMFrameScheduling.rIC, shouldSetTextContent(type, props) { return ( @@ -79,7 +79,7 @@ const CanvasHostConfig = { ); }, - now: ReactScheduler.now, + now: ReactDOMFrameScheduling.now, isPrimaryRenderer: true, diff --git a/src/ContainerMixin.js b/src/ContainerMixin.js deleted file mode 100644 index be585a9..0000000 --- a/src/ContainerMixin.js +++ /dev/null @@ -1,121 +0,0 @@ -"use strict"; - -// Adapted from ReactART: -// https://github.com/reactjs/react-art -import React from "react"; -import ReactMultiChild from "react-dom/lib/ReactMultiChild"; -import emptyObject from "fbjs/lib/emptyObject"; - -const ContainerMixin = Object.assign({}, ReactMultiChild.Mixin, { - /** - * Moves a child component to the supplied index. - * - * @param {ReactComponent} child Component to move. - * @param {number} toIndex Destination index of the element. - * @protected - */ - moveChild: function(child, afterNode, toIndex, lastIndex) { - const childNode = child._mountImage; - const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; - if (mostRecentlyPlacedChild == null) { - // I'm supposed to be first. - if (childNode.previousSibling) { - if (this.node.firstChild) { - childNode.injectBefore(this.node.firstChild); - } else { - childNode.inject(this.node); - } - } - } else { - // I'm supposed to be after the previous one. - if (mostRecentlyPlacedChild.nextSibling !== childNode) { - if (mostRecentlyPlacedChild.nextSibling) { - childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); - } else { - childNode.inject(this.node); - } - } - } - this._mostRecentlyPlacedChild = childNode; - }, - - /** - * Creates a child component. - * - * @param {ReactComponent} child Component to create. - * @param {object} childNode ART node to insert. - * @protected - */ - createChild: function(child, afterNode, childNode) { - child._mountImage = childNode; - const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; - if (mostRecentlyPlacedChild == null) { - // I'm supposed to be first. - if (this.node.firstChild) { - childNode.injectBefore(this.node.firstChild); - } else { - childNode.inject(this.node); - } - } else { - // I'm supposed to be after the previous one. - if (mostRecentlyPlacedChild.nextSibling) { - childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); - } else { - childNode.inject(this.node); - } - } - this._mostRecentlyPlacedChild = childNode; - }, - - /** - * Removes a child component. - * - * @param {ReactComponent} child Child to remove. - * @protected - */ - removeChild: function(child) { - child._mountImage.remove(); - child._mountImage = null; - this.node.invalidateLayout(); - }, - - updateChildrenAtRoot: function(nextChildren, transaction) { - this.updateChildren(nextChildren, transaction, emptyObject); - }, - - mountAndInjectChildrenAtRoot: function(children, transaction) { - this.mountAndInjectChildren(children, transaction, emptyObject); - }, - - /** - * Override to bypass batch updating because it is not necessary. - * - * @param {?object} nextChildren. - * @param {ReactReconcileTransaction} transaction - * @internal - * @override {ReactMultiChild.Mixin.updateChildren} - */ - updateChildren: function(nextChildren, transaction, context) { - this._mostRecentlyPlacedChild = null; - this._updateChildren(nextChildren, transaction, context); - }, - - // Shorthands - - mountAndInjectChildren: function(children, transaction, context) { - const mountedImages = this.mountChildren(children, transaction, context); - - // Each mount image corresponds to one of the flattened children - let i = 0; - for (const key in this._renderedChildren) { - if (this._renderedChildren.hasOwnProperty(key)) { - const child = this._renderedChildren[key]; - child._mountImage = mountedImages[i]; - mountedImages[i].inject(this.node); - i++; - } - } - } -}); - -export default ContainerMixin; diff --git a/src/Group.js b/src/Group.js index 8591593..dfb534d 100644 --- a/src/Group.js +++ b/src/Group.js @@ -1,10 +1,9 @@ "use strict"; import createComponent from "./createComponent"; -import ContainerMixin from "./ContainerMixin"; import LayerMixin from "./LayerMixin"; -const Group = createComponent("Group", LayerMixin, ContainerMixin, { +const Group = createComponent("Group", { mountComponent: function( transaction, nativeParent, diff --git a/src/ReactDOMFrameScheduling.js b/src/ReactDOMFrameScheduling.js new file mode 100644 index 0000000..721b7fa --- /dev/null +++ b/src/ReactDOMFrameScheduling.js @@ -0,0 +1,168 @@ +// adapted FROM: https://github.com/facebook/react/blob/3019210df2b486416ed94d7b9becffaf254e81c4/src/renderers/shared/ReactDOMFrameScheduling.js + +"use strict"; + +// This is a built-in polyfill for requestIdleCallback. It works by scheduling +// a requestAnimationFrame, storing the time for the start of the frame, then +// scheduling a postMessage which gets scheduled after paint. Within the +// postMessage handler do as much work as possible until time + frame rate. +// By separating the idle call into a separate event tick we ensure that +// layout, paint and other browser work is counted against the available time. +// The frame rate is dynamically adjusted. + +const _typeof = + typeof Symbol === "function" && typeof Symbol.iterator === "symbol" + ? function(obj) { + return typeof obj; + } + : function(obj) { + return obj && + typeof Symbol === "function" && + obj.constructor === Symbol && + obj !== Symbol.prototype + ? "symbol" + : typeof obj; + }; + +const ExecutionEnvironment = require("fbjs/lib/ExecutionEnvironment"); + +const hasNativePerformanceNow = + (typeof performance === "undefined" ? "undefined" : _typeof(performance)) === + "object" && typeof performance.now === "function"; + +let now = void 0; +if (hasNativePerformanceNow) { + now = function now() { + return performance.now(); + }; +} else { + now = function now() { + return Date.now(); + }; +} + +// TODO: There's no way to cancel, because Fiber doesn't atm. +let rIC = void 0; + +if (!ExecutionEnvironment.canUseDOM) { + rIC = function rIC(frameCallback) { + setTimeout(function() { + frameCallback({ + timeRemaining: function timeRemaining() { + return Infinity; + } + }); + }); + return 0; + }; +} else if (typeof requestIdleCallback !== "function") { + // Polyfill requestIdleCallback. + + let scheduledRAFCallback = null; + let scheduledRICCallback = null; + + let isIdleScheduled = false; + let isAnimationFrameScheduled = false; + + let frameDeadline = 0; + // We start out assuming that we run at 30fps but then the heuristic tracking + // will adjust this value to a faster fps if we get more frequent animation + // frames. + let previousFrameTime = 33; + let activeFrameTime = 33; + + let frameDeadlineObject; + if (hasNativePerformanceNow) { + frameDeadlineObject = { + timeRemaining: function timeRemaining() { + // We assume that if we have a performance timer that the rAF callback + // gets a performance timer value. Not sure if this is always true. + return frameDeadline - performance.now(); + } + }; + } else { + frameDeadlineObject = { + timeRemaining: function timeRemaining() { + // Fallback to Date.now() + return frameDeadline - Date.now(); + } + }; + } + + // We use the postMessage trick to defer idle work until after the repaint. + const messageKey = + "__reactIdleCallback$" + + Math.random() + .toString(36) + .slice(2); + const idleTick = function idleTick(event) { + if (event.source !== window || event.data !== messageKey) { + return; + } + isIdleScheduled = false; + const callback = scheduledRICCallback; + scheduledRICCallback = null; + if (callback !== null) { + callback(frameDeadlineObject); + } + }; + // Assumes that we have addEventListener in this environment. Might need + // something better for old IE. + window.addEventListener("message", idleTick, false); + + const animationTick = function animationTick(rafTime) { + isAnimationFrameScheduled = false; + let nextFrameTime = rafTime - frameDeadline + activeFrameTime; + if ( + nextFrameTime < activeFrameTime && + previousFrameTime < activeFrameTime + ) { + if (nextFrameTime < 8) { + // Defensive coding. We don't support higher frame rates than 120hz. + // If we get lower than that, it is probably a bug. + nextFrameTime = 8; + } + // If one frame goes long, then the next one can be short to catch up. + // If two frames are short in a row, then that's an indication that we + // actually have a higher frame rate than what we're currently optimizing. + // We adjust our heuristic dynamically accordingly. For example, if we're + // running on 120hz display or 90hz VR display. + // Take the max of the two in case one of them was an anomaly due to + // missed frame deadlines. + activeFrameTime = + nextFrameTime < previousFrameTime ? previousFrameTime : nextFrameTime; + } else { + previousFrameTime = nextFrameTime; + } + frameDeadline = rafTime + activeFrameTime; + if (!isIdleScheduled) { + isIdleScheduled = true; + window.postMessage(messageKey, "*"); + } + const callback = scheduledRAFCallback; + scheduledRAFCallback = null; + if (callback !== null) { + callback(rafTime); + } + }; + + rIC = function rIC(callback) { + // This assumes that we only schedule one callback at a time because that's + // how Fiber uses it. + scheduledRICCallback = callback; + if (!isAnimationFrameScheduled) { + // If rAF didn't already schedule one, we need to schedule a frame. + // TODO: If this rAF doesn't materialize because the browser throttles, we + // might want to still have setTimeout trigger rIC as a backup to ensure + // that we keep performing work. + isAnimationFrameScheduled = true; + requestAnimationFrame(animationTick); + } + return 0; + }; +} else { + rIC = requestIdleCallback; +} + +exports.now = now; +exports.rIC = rIC; diff --git a/src/Surface.js b/src/Surface.js index a91a5a8..39e952e 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -19,7 +19,7 @@ const CanvasRenderer = ReactFiberReconciler(CanvasHostConfig); class Surface extends React.Component { displayName = "Surface"; - propTypes = { + static propTypes = { className: PropTypes.string, id: PropTypes.string, top: PropTypes.number.isRequired, @@ -32,10 +32,8 @@ class Surface extends React.Component { style: PropTypes.object }; - getDefaultProps = () => { - return { - scale: window.devicePixelRatio || 1 - }; + static defaultProps = { + scale: window.devicePixelRatio || 1 }; setCanvasRef = canvas => { diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 6f9d41f..dcab9d1 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -13,20 +13,7 @@ storiesOf("Gradient", module) left={0} width={props.size.width} height={props.size.height} - > - - + /> ); }) From 101c355bd0c32ba23c9d16147cb9416cde078c9c Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 11:07:05 -0700 Subject: [PATCH 06/60] Gradient example working --- src/{LayerMixin.js => CanvasComponent.js} | 56 +++++----- src/CanvasComponentDecorator.js | 111 -------------------- src/CanvasHostConfig.js | 13 ++- src/ContainerDecorator.js | 121 ---------------------- src/Gradient.js | 12 ++- src/Group.js | 4 +- src/Image.js | 4 +- src/Layer.js | 4 +- src/Surface.js | 4 +- src/Text.js | 4 +- src/createCanvasComponent.js | 42 -------- src/createComponent.js | 30 ------ src/index.js | 2 - stories/canvasStory.js | 18 +++- 14 files changed, 74 insertions(+), 351 deletions(-) rename src/{LayerMixin.js => CanvasComponent.js} (75%) delete mode 100644 src/CanvasComponentDecorator.js delete mode 100644 src/ContainerDecorator.js delete mode 100644 src/createCanvasComponent.js delete mode 100644 src/createComponent.js diff --git a/src/LayerMixin.js b/src/CanvasComponent.js similarity index 75% rename from src/LayerMixin.js rename to src/CanvasComponent.js index f49f5e0..214de0c 100644 --- a/src/LayerMixin.js +++ b/src/CanvasComponent.js @@ -1,24 +1,30 @@ -"use strict"; - -// Adapted from ReactART: -// https://github.com/reactjs/react-art - +import React from "react"; +import RenderLayer from "./RenderLayer"; import { make } from "./FrameUtils"; import * as EventTypes from "./EventTypes"; let LAYER_GUID = 0; -const LayerMixin = { - construct: function(element) { - this._currentElement = element; +export default class CanvasComponent extends React.Component { + constructor(props) { + super(props); + + this.subscriptions = null; + this.listeners = null; + this.node = new RenderLayer(); + this._currentElement = null; this._layerId = LAYER_GUID++; - }, + } + + construct = element => { + this._currentElement = element; + }; - getPublicInstance: function() { + getPublicInstance = () => { return this.node; - }, + }; - putEventListener: function(type, listener) { + putEventListener = (type, listener) => { const subscriptions = this.subscriptions || (this.subscriptions = {}); const listeners = this.listeners || (this.listeners = {}); listeners[type] = listener; @@ -32,17 +38,17 @@ const LayerMixin = { delete subscriptions[type]; } } - }, + }; - handleEvent: function() { + handleEvent = () => { // TODO - }, + }; - destroyEventListeners: function() { + destroyEventListeners = () => { // TODO - }, + }; - applyLayerProps: function(prevProps, props) { + applyCommonLayerProps = (prevProps, props) => { const layer = this.node; const style = props && props.style ? props.style : {}; layer._originalStyle = style; @@ -80,18 +86,18 @@ const LayerMixin = { for (const type in EventTypes) { this.putEventListener(EventTypes[type], props[type]); } - }, + }; - mountComponentIntoNode: function() { + mountComponentIntoNode = () => { throw new Error( "You cannot render a Canvas component standalone. " + "You need to wrap it in a Surface." ); - }, + }; - unmountComponent: function() { + unmountComponent = () => { this.destroyEventListeners(); - } -}; + }; -export default LayerMixin; + getLayer = () => this.node; +} diff --git a/src/CanvasComponentDecorator.js b/src/CanvasComponentDecorator.js deleted file mode 100644 index fd908bd..0000000 --- a/src/CanvasComponentDecorator.js +++ /dev/null @@ -1,111 +0,0 @@ -import React from "react"; -import RenderLayer from "./RenderLayer"; -import { make } from "./FrameUtils"; -import * as EventTypes from "./EventTypes"; - -export default function apply(Class) { - let LAYER_GUID = 0; - - return class extends React.Component { - displayName = "CanvasComponent"; - - constructor(props) { - super(props); - - this.subscriptions = null; - this.listeners = null; - this.node = new RenderLayer(); - this._currentElement = null; - this._layerId = LAYER_GUID++; - } - - construct = element => { - this._currentElement = element; - }; - - getPublicInstance = () => { - return this.node; - }; - - putEventListener = (type, listener) => { - const subscriptions = this.subscriptions || (this.subscriptions = {}); - const listeners = this.listeners || (this.listeners = {}); - listeners[type] = listener; - if (listener) { - if (!subscriptions[type]) { - subscriptions[type] = this.node.subscribe(type, listener, this); - } - } else { - if (subscriptions[type]) { - subscriptions[type](); - delete subscriptions[type]; - } - } - }; - - handleEvent = () => { - // TODO - }; - - destroyEventListeners = () => { - // TODO - }; - - applyCommonLayerProps = (prevProps, props) => { - const layer = this.node; - const style = props && props.style ? props.style : {}; - layer._originalStyle = style; - - // Common layer properties - layer.alpha = style.alpha; - layer.backgroundColor = style.backgroundColor; - layer.borderColor = style.borderColor; - layer.borderWidth = style.borderWidth; - layer.borderRadius = style.borderRadius; - layer.clipRect = style.clipRect; - layer.frame = make( - style.left || 0, - style.top || 0, - style.width || 0, - style.height || 0 - ); - layer.scale = style.scale; - layer.translateX = style.translateX; - layer.translateY = style.translateY; - layer.zIndex = style.zIndex; - - // Shadow - layer.shadowColor = style.shadowColor; - layer.shadowBlur = style.shadowBlur; - layer.shadowOffsetX = style.shadowOffsetX; - layer.shadowOffsetY = style.shadowOffsetY; - - // Generate backing store ID as needed. - if (props.useBackingStore) { - layer.backingStoreId = this._layerId; - } - - // Register events - for (const type in EventTypes) { - this.putEventListener(EventTypes[type], props[type]); - } - }; - - mountComponentIntoNode = () => { - throw new Error( - "You cannot render a Canvas component standalone. " + - "You need to wrap it in a Surface." - ); - }; - - unmountComponent = () => { - this.destroyEventListeners(); - }; - - getLayer = () => this.node; - - render() { - return ; - } - }; -} diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index 0bb7a9a..a74fe4e 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -1,6 +1,6 @@ import invariant from "fbjs/lib/invariant"; import emptyObject from "fbjs/lib/emptyObject"; -import { Surface, Gradient } from "./index"; +import Gradient from "./Gradient"; import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; const UPDATE_SIGNAL = {}; @@ -14,15 +14,16 @@ const CanvasHostConfig = { } child.inject(parentInstance); + + // TODO draw? }, createInstance(type, props /*, internalInstanceHandle*/) { const ctors = { - SURFACE: () => new Surface(props), - GRADIENT: () => new Gradient(props) + Gradient: Gradient }; - const instance = ctors[type](); + const instance = new ctors[type](props); if (typeof instance.applyLayerProps !== "undefined") { instance.applyLayerProps({}, props); @@ -81,7 +82,9 @@ const CanvasHostConfig = { now: ReactDOMFrameScheduling.now, - isPrimaryRenderer: true, + isPrimaryRenderer: false, + + useSyncScheduling: true, mutation: { appendChild(parentInstance, child) { diff --git a/src/ContainerDecorator.js b/src/ContainerDecorator.js deleted file mode 100644 index 5500347..0000000 --- a/src/ContainerDecorator.js +++ /dev/null @@ -1,121 +0,0 @@ -import React from "react"; -import emptyObject from "fbjs/lib/emptyObject"; - -export default function apply(Class) { - return class extends React.Component { - displayName = "Container"; - - /** - * Moves a child component to the supplied index. - * - * @param {ReactComponent} child Component to move. - * @protected - */ - moveChild = child => { - const childNode = child._mountImage; - const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; - if (mostRecentlyPlacedChild == null) { - // I'm supposed to be first. - if (childNode.previousSibling) { - if (this.node.firstChild) { - childNode.injectBefore(this.node.firstChild); - } else { - childNode.inject(this.node); - } - } - } else { - // I'm supposed to be after the previous one. - if (mostRecentlyPlacedChild.nextSibling !== childNode) { - if (mostRecentlyPlacedChild.nextSibling) { - childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); - } else { - childNode.inject(this.node); - } - } - } - this._mostRecentlyPlacedChild = childNode; - }; - - /** - * Creates a child component. - * - * @param {ReactComponent} child Component to create. - * @param {object} childNode ART node to insert. - * @protected - */ - createChild = (child, afterNode, childNode) => { - child._mountImage = childNode; - const mostRecentlyPlacedChild = this._mostRecentlyPlacedChild; - if (mostRecentlyPlacedChild == null) { - // I'm supposed to be first. - if (this.node.firstChild) { - childNode.injectBefore(this.node.firstChild); - } else { - childNode.inject(this.node); - } - } else { - // I'm supposed to be after the previous one. - if (mostRecentlyPlacedChild.nextSibling) { - childNode.injectBefore(mostRecentlyPlacedChild.nextSibling); - } else { - childNode.inject(this.node); - } - } - this._mostRecentlyPlacedChild = childNode; - }; - - /** - * Removes a child component. - * - * @param {ReactComponent} child Child to remove. - * @protected - */ - removeChild = child => { - child._mountImage.remove(); - child._mountImage = null; - this.node.invalidateLayout(); - }; - - updateChildrenAtRoot = (nextChildren, transaction) => { - this.updateChildren(nextChildren, transaction, emptyObject); - }; - - mountAndInjectChildrenAtRoot = (children, transaction) => { - this.mountAndInjectChildren(children, transaction, emptyObject); - }; - - /** - * Override to bypass batch updating because it is not necessary. - * - * @param {?object} nextChildren. - * @param {ReactReconcileTransaction} transaction - * @internal - * @override {ReactMultiChild.Mixin.updateChildren} - */ - updateChildren = (nextChildren, transaction, context) => { - this._mostRecentlyPlacedChild = null; - this._updateChildren(nextChildren, transaction, context); - }; - - // Shorthands - - mountAndInjectChildren = (children, transaction, context) => { - const mountedImages = this.mountChildren(children, transaction, context); - - // Each mount image corresponds to one of the flattened children - let i = 0; - for (const key in this._renderedChildren) { - if (this._renderedChildren.hasOwnProperty(key)) { - const child = this._renderedChildren[key]; - child._mountImage = mountedImages[i]; - mountedImages[i].inject(this.node); - i++; - } - } - }; - - render() { - return ; - } - }; -} diff --git a/src/Gradient.js b/src/Gradient.js index 24440ed..925642c 100644 --- a/src/Gradient.js +++ b/src/Gradient.js @@ -1,10 +1,10 @@ "use strict"; -import React from "react"; -import CanvasComponent from "./CanvasComponentDecorator"; +import CanvasComponent from "./CanvasComponent"; + +class Gradient extends CanvasComponent { + displayName = "Gradient"; -@CanvasComponent -class Gradient extends React.Component { applyLayerProps = (prevProps, props) => { const layer = this.node; layer.type = "gradient"; @@ -12,6 +12,10 @@ class Gradient extends React.Component { this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); }; + + render() { + return []; + } } export default Gradient; diff --git a/src/Group.js b/src/Group.js index dfb534d..411a836 100644 --- a/src/Group.js +++ b/src/Group.js @@ -1,4 +1,4 @@ -"use strict"; +/*"use strict"; import createComponent from "./createComponent"; import LayerMixin from "./LayerMixin"; @@ -34,4 +34,4 @@ const Group = createComponent("Group", { } }); -export default Group; +export default Group;*/ diff --git a/src/Image.js b/src/Image.js index e8085a4..d9d963e 100644 --- a/src/Image.js +++ b/src/Image.js @@ -1,4 +1,4 @@ -'use strict'; +/*'use strict'; import React, {Component} from 'react'; import PropTypes from 'prop-types'; @@ -134,4 +134,4 @@ class Image extends Component { }; } -export default Image; +export default Image;*/ diff --git a/src/Layer.js b/src/Layer.js index 15c603f..ca39884 100644 --- a/src/Layer.js +++ b/src/Layer.js @@ -1,4 +1,4 @@ -'use strict'; +/*'use strict'; import createComponent from './createComponent'; import LayerMixin from './LayerMixin'; @@ -27,4 +27,4 @@ const Layer = createComponent('Layer', LayerMixin, { }); -export default Layer; +export default Layer;*/ diff --git a/src/Surface.js b/src/Surface.js index 39e952e..f4328d4 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -56,7 +56,7 @@ class Surface extends React.Component { ); this.node.draw = this.batchedTick; - this.mountNode = CanvasRenderer.createContainer(this.node); + this.mountNode = CanvasRenderer.createContainer(this); CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); // Execute initial draw on mount. @@ -77,6 +77,7 @@ class Surface extends React.Component { this.scale(); } + console.log("did update"); CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); // Redraw updated render tree to . @@ -122,6 +123,7 @@ class Surface extends React.Component { // Drawing // ======= + getLayer = () => this.node; getContext = () => { return this.canvas.getContext("2d"); diff --git a/src/Text.js b/src/Text.js index 7127c5e..1f3e732 100644 --- a/src/Text.js +++ b/src/Text.js @@ -1,4 +1,4 @@ -"use strict"; +/*"use strict"; import createComponent from "./createComponent"; import LayerMixin from "./LayerMixin"; @@ -54,4 +54,4 @@ function childrenAsString(children) { return ""; } -export default Text; +export default Text;*/ diff --git a/src/createCanvasComponent.js b/src/createCanvasComponent.js deleted file mode 100644 index 0235ed9..0000000 --- a/src/createCanvasComponent.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -import createComponent from './createComponent'; -import LayerMixin from './LayerMixin'; - - -/** - * Create a new component - * - * @param {{layerType: String, applyCustomProps: ?Function}} specs component specs - * @return {Function} Generated ReactCanvas component class - */ -function createCanvasComponent(specs) { - if (!specs.layerType) { - throw new Error('createCanvasComponent(...): specification should contains an unique `layerType` property'); - } - - return createComponent(specs.displayName || 'CanvasComponent', LayerMixin, { - applyCustomProps: specs.applyCustomProps, - - mountComponent: function (transaction, nativeParent, nativeContainerInfo, context) { - var props = this._currentElement.props; - var layer = this.node; - layer.type = specs.layerType; - var emptyProps = {}; - this.applyLayerProps(emptyProps, props); - this.applyCustomProps && this.applyCustomProps(emptyProps, props); - return layer; - }, - - receiveComponent: function (nextComponent, transaction, context) { - var prevProps = this._currentElement.props; - var props = nextComponent.props; - this.applyLayerProps(prevProps, props); - this.applyCustomProps && this.applyCustomProps(prevProps, props); - this._currentElement = nextComponent; - this.node.invalidateLayout(); - } - }); -} - -export default createCanvasComponent; diff --git a/src/createComponent.js b/src/createComponent.js deleted file mode 100644 index ceda393..0000000 --- a/src/createComponent.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -// Adapted from ReactART: -// https://github.com/reactjs/react-art - -import RenderLayer from "./RenderLayer"; - -let LAYER_GUID = 0; - -function createComponent(name) { - const ReactCanvasComponent = function(element) { - this.node = null; - this.subscriptions = null; - this.listeners = null; - this.node = new RenderLayer(); - this._mountImage = null; - this._renderedChildren = null; - this._mostRecentlyPlacedChild = null; - this._currentElement = element; - this._layerId = LAYER_GUID++; - }; - ReactCanvasComponent.displayName = name; - for (let i = 1, l = arguments.length; i < l; i++) { - Object.assign(ReactCanvasComponent.prototype, arguments[i]); - } - - return ReactCanvasComponent; -} - -export default createComponent; diff --git a/src/index.js b/src/index.js index ec6c06e..6e498bc 100644 --- a/src/index.js +++ b/src/index.js @@ -7,7 +7,6 @@ import ListView from "./ListView"; import Gradient from "./Gradient"; import FontFace from "./FontFace"; import FrameUtils from "./FrameUtils"; -import createCanvasComponent from "./createCanvasComponent"; import measureText from "./measureText"; import { registerLayerType } from "./DrawingUtils"; @@ -21,7 +20,6 @@ export default { Gradient, FontFace, measureText, - createCanvasComponent, FrameUtils, registerLayerType }; diff --git a/stories/canvasStory.js b/stories/canvasStory.js index dcab9d1..6257eeb 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,7 +1,8 @@ import React from "react"; import { storiesOf } from "@storybook/react"; import ReactCanvas from "../src/index"; -const { Gradient, Surface } = ReactCanvas; +const { Surface } = ReactCanvas; +const Gradient = "Gradient"; storiesOf("Gradient", module) .add("transparent-grey", () => { @@ -13,7 +14,20 @@ storiesOf("Gradient", module) left={0} width={props.size.width} height={props.size.height} - /> + > + + ); }) From 0adc567b45220cd62e05dc7799d310d78910d281 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 11:27:19 -0700 Subject: [PATCH 07/60] Text working --- src/CanvasHostConfig.js | 14 ++++++---- src/Group.js | 41 +++++------------------------ src/Layer.js | 30 --------------------- src/Text.js | 58 +++++++++++++---------------------------- src/index.js | 27 ++++++++----------- stories/canvasStory.js | 41 +++++++++++++++++++++++++++-- 6 files changed, 84 insertions(+), 127 deletions(-) delete mode 100644 src/Layer.js diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index a74fe4e..1476b28 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -1,10 +1,18 @@ import invariant from "fbjs/lib/invariant"; import emptyObject from "fbjs/lib/emptyObject"; import Gradient from "./Gradient"; +import Text from "./Text"; +import Group from "./Group"; import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; const UPDATE_SIGNAL = {}; +const ctors = { + Gradient: Gradient, + Text: Text, + Group: Group +}; + const CanvasHostConfig = { appendInitialChild(parentInstance, child) { if (typeof child === "string") { @@ -13,16 +21,12 @@ const CanvasHostConfig = { return; } - child.inject(parentInstance); + child.getLayer().inject(parentInstance.getLayer()); // TODO draw? }, createInstance(type, props /*, internalInstanceHandle*/) { - const ctors = { - Gradient: Gradient - }; - const instance = new ctors[type](props); if (typeof instance.applyLayerProps !== "undefined") { diff --git a/src/Group.js b/src/Group.js index 411a836..546dd3f 100644 --- a/src/Group.js +++ b/src/Group.js @@ -1,37 +1,10 @@ -/*"use strict"; +import CanvasComponent from "./CanvasComponent"; -import createComponent from "./createComponent"; -import LayerMixin from "./LayerMixin"; - -const Group = createComponent("Group", { - mountComponent: function( - transaction, - nativeParent, - nativeContainerInfo, - context - ) { - const props = this._currentElement.props; - const layer = this.node; - - this.applyLayerProps({}, props); - this.mountAndInjectChildren(props.children, transaction, context); - - return layer; - }, - - receiveComponent: function(nextComponent, transaction, context) { - const props = nextComponent.props; - const prevProps = this._currentElement.props; - this.applyLayerProps(prevProps, props); - this.updateChildren(props.children, transaction, context); - this._currentElement = nextComponent; +class Group extends CanvasComponent { + applyLayerProps = (prevProps, props) => { + this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); - }, - - unmountComponent: function() { - LayerMixin.unmountComponent.call(this); - this.unmountChildren(); - } -}); + }; +} -export default Group;*/ +export default Group; diff --git a/src/Layer.js b/src/Layer.js deleted file mode 100644 index ca39884..0000000 --- a/src/Layer.js +++ /dev/null @@ -1,30 +0,0 @@ -/*'use strict'; - -import createComponent from './createComponent'; -import LayerMixin from './LayerMixin'; - -const Layer = createComponent('Layer', LayerMixin, { - - mountComponent: function ( - transaction, - nativeParent, - nativeContainerInfo, - context - ) { - var props = this._currentElement.props; - var layer = this.node; - this.applyLayerProps({}, props); - return layer; - }, - - receiveComponent: function (nextComponent, transaction, context) { - var prevProps = this._currentElement.props; - var props = nextComponent.props; - this.applyLayerProps(prevProps, props); - this._currentElement = nextComponent; - this.node.invalidateLayout(); - } - -}); - -export default Layer;*/ diff --git a/src/Text.js b/src/Text.js index 1f3e732..b412d78 100644 --- a/src/Text.js +++ b/src/Text.js @@ -1,10 +1,20 @@ -/*"use strict"; +import CanvasComponent from "./CanvasComponent"; -import createComponent from "./createComponent"; -import LayerMixin from "./LayerMixin"; +function childrenAsString(children) { + if (!children) { + return ""; + } + if (typeof children === "string") { + return children; + } + if (children.length) { + return children.join("\n"); + } + return ""; +} -const Text = createComponent("Text", LayerMixin, { - applyTextProps: function(prevProps, props) { +class Text extends CanvasComponent { + applyLayerProps = (prevProps, props) => { const style = props && props.style ? props.style : {}; const layer = this.node; @@ -16,42 +26,10 @@ const Text = createComponent("Text", LayerMixin, { layer.fontSize = style.fontSize; layer.lineHeight = style.lineHeight; layer.textAlign = style.textAlign; - }, - - mountComponent: function( - transaction, - nativeParent, - nativeContainerInfo, - context - ) { - const props = this._currentElement.props; - const layer = this.node; - this.applyLayerProps({}, props); - this.applyTextProps({}, props); - return layer; - }, - receiveComponent: function(nextComponent, transaction, context) { - const props = nextComponent.props; - const prevProps = this._currentElement.props; - this.applyLayerProps(prevProps, props); - this.applyTextProps(prevProps, props); - this._currentElement = nextComponent; + this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); - } -}); - -function childrenAsString(children) { - if (!children) { - return ""; - } - if (typeof children === "string") { - return children; - } - if (children.length) { - return children.join("\n"); - } - return ""; + }; } -export default Text;*/ +export default Text; diff --git a/src/index.js b/src/index.js index 6e498bc..034d0b7 100644 --- a/src/index.js +++ b/src/index.js @@ -1,25 +1,20 @@ import Surface from "./Surface"; -import Layer from "./Layer"; -import Group from "./Group"; -import Image from "./Image"; -import Text from "./Text"; import ListView from "./ListView"; -import Gradient from "./Gradient"; import FontFace from "./FontFace"; import FrameUtils from "./FrameUtils"; import measureText from "./measureText"; import { registerLayerType } from "./DrawingUtils"; export default { - Surface, - Layer, - Group, - Image, - Text, - ListView, - Gradient, - FontFace, - measureText, - FrameUtils, - registerLayerType + Surface: Surface, + Layer: "Layer", + Group: "Group", + Image: "Image", + Text: "Text", + Gradient: "Gradient", + ListView: ListView, + FontFace: FontFace, + measureText: measureText, + FrameUtils: FrameUtils, + registerLayerType: registerLayerType }; diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 6257eeb..2cf9890 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,8 +1,7 @@ import React from "react"; import { storiesOf } from "@storybook/react"; import ReactCanvas from "../src/index"; -const { Surface } = ReactCanvas; -const Gradient = "Gradient"; +const { Gradient, Text, Group, Surface } = ReactCanvas; storiesOf("Gradient", module) .add("transparent-grey", () => { @@ -57,3 +56,41 @@ storiesOf("Gradient", module) ); }); + +storiesOf("Text", module).add("hello-world", () => { + const props = { size: { width: 200, height: 200 } }; + return ( +
+ + + + Hello World + + + Hello World 2 + + + +
+ ); +}); From cc088217522e83f2268f6d3d5c14dfcbf3b150c9 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 11:55:15 -0700 Subject: [PATCH 08/60] Image WIP --- src/CanvasHostConfig.js | 5 +- src/Group.js | 4 ++ src/Image.js | 142 +++++++++++++++++++--------------------- src/index.js | 3 +- stories/canvasStory.js | 12 +++- 5 files changed, 87 insertions(+), 79 deletions(-) diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index 1476b28..3f4a560 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -3,6 +3,7 @@ import emptyObject from "fbjs/lib/emptyObject"; import Gradient from "./Gradient"; import Text from "./Text"; import Group from "./Group"; +import { RawImage } from "./Image"; import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; const UPDATE_SIGNAL = {}; @@ -10,7 +11,8 @@ const UPDATE_SIGNAL = {}; const ctors = { Gradient: Gradient, Text: Text, - Group: Group + Group: Group, + RawImage: RawImage }; const CanvasHostConfig = { @@ -27,6 +29,7 @@ const CanvasHostConfig = { }, createInstance(type, props /*, internalInstanceHandle*/) { + console.log(type); const instance = new ctors[type](props); if (typeof instance.applyLayerProps !== "undefined") { diff --git a/src/Group.js b/src/Group.js index 546dd3f..ac10fa1 100644 --- a/src/Group.js +++ b/src/Group.js @@ -5,6 +5,10 @@ class Group extends CanvasComponent { this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); }; + + render() { + return []; + } } export default Group; diff --git a/src/Image.js b/src/Image.js index d9d963e..94073db 100644 --- a/src/Image.js +++ b/src/Image.js @@ -1,51 +1,28 @@ -/*'use strict'; - -import React, {Component} from 'react'; -import PropTypes from 'prop-types'; -import createComponent from './createComponent'; -import LayerMixin from './LayerMixin'; -import Layer from './Layer'; -import Group from './Group'; -import ImageCache from './ImageCache'; -import {easeInCubic} from './Easing'; -import clamp from './clamp'; - -var FADE_DURATION = 200; - -var RawImage = createComponent('Image', LayerMixin, { - - applyImageProps: function (prevProps, props) { - var layer = this.node; - - layer.type = 'image'; +import React from "react"; +import PropTypes from "prop-types"; +import CanvasComponent from "./CanvasComponent"; +//import Layer from "./Layer"; +import Group from "./Group"; +import ImageCache from "./ImageCache"; +import { easeInCubic } from "./Easing"; +import clamp from "./clamp"; + +const FADE_DURATION = 200; + +export class RawImage extends CanvasComponent { + applyLayerProps = (prevProps, props) => { + const layer = this.node; + + layer.type = "image"; layer.imageUrl = props.src; - }, - - mountComponent: function ( - transaction, - nativeParent, - nativeContainerInfo, - context - ) { - var props = this._currentElement.props; - var layer = this.node; - this.applyLayerProps({}, props); - this.applyImageProps({}, props); - return layer; - }, - - receiveComponent: function (nextComponent, transaction, context) { - var prevProps = this._currentElement.props; - var props = nextComponent.props; - this.applyLayerProps(prevProps, props); - this.applyImageProps(prevProps, props); - this._currentElement = nextComponent; + this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); - }, + }; +} -}); +const RawImageName = "RawImage"; -class Image extends Component { +export default class Image extends React.Component { static propTypes = { src: PropTypes.string.isRequired, style: PropTypes.object, @@ -56,7 +33,7 @@ class Image extends Component { constructor(props) { super(props); - var loaded = ImageCache.get(props.src).isLoaded(); + const loaded = ImageCache.get(props.src).isLoaded(); this.state = { loaded: loaded, @@ -65,37 +42,42 @@ class Image extends Component { } componentDidMount() { - ImageCache.get(this.props.src).on('load', this.handleImageLoad); - } - - componentWillUpdate(nextProps, nextState) { - if(nextProps.src !== this.props.src) { - ImageCache.get(this.props.src).removeListener('load', this.handleImageLoad); - ImageCache.get(nextProps.src).on('load', this.handleImageLoad); - var loaded = ImageCache.get(nextProps.src).isLoaded(); - this.setState({loaded: loaded}); - } + ImageCache.get(this.props.src).on("load", this.handleImageLoad); } componentWillUnmount() { if (this._pendingAnimationFrame) { cancelAnimationFrame(this._pendingAnimationFrame); } - ImageCache.get(this.props.src).removeListener('load', this.handleImageLoad); + ImageCache.get(this.props.src).removeListener("load", this.handleImageLoad); } - componentDidUpdate(prevProps, prevState) { - if (this.refs.image) { - this.refs.image.invalidateLayout(); + componentDidUpdate(prevProps) { + if (this.props.src !== prevProps.src) { + ImageCache.get(prevProps.src).removeListener( + "load", + this.handleImageLoad + ); + ImageCache.get(this.props.src).on("load", this.handleImageLoad); + const loaded = ImageCache.get(this.props.src).isLoaded(); + this.setState({ loaded: loaded }); + } + + if (this.rawImageRef) { + this.rawImageRef.invalidateLayout(); } } + setRawImageRef = ref => (this.rawImageRef = ref); + setGroupRef = ref => (this.groupRef = ref); + render() { - var rawImage; - var imageStyle = Object.assign({}, this.props.style); - var style = Object.assign({}, this.props.style); - var backgroundStyle = Object.assign({}, this.props.style); - var useBackingStore = this.state.loaded ? this.props.useBackingStore : false; + const imageStyle = Object.assign({}, this.props.style); + const style = Object.assign({}, this.props.style); + const backgroundStyle = Object.assign({}, this.props.style); + const useBackingStore = this.state.loaded + ? this.props.useBackingStore + : false; // Hide the image until loaded. imageStyle.alpha = this.state.imageAlpha; @@ -105,33 +87,43 @@ class Image extends Component { style.backgroundColor = imageStyle.backgroundColor = null; backgroundStyle.alpha = clamp(1 - this.state.imageAlpha, 0, 1); + // TODO background + // return ( - React.createElement(Group, {ref: 'main', style: style}, - React.createElement(Layer, {ref: 'background', style: backgroundStyle}), - React.createElement(RawImage, {ref: 'image', src: this.props.src, style: imageStyle, useBackingStore: useBackingStore}) - ) + + + ); } handleImageLoad = () => { - var imageAlpha = 1; + let imageAlpha = 1; if (this.props.fadeIn) { imageAlpha = 0; this._animationStartTime = Date.now(); - this._pendingAnimationFrame = requestAnimationFrame(this.stepThroughAnimation); + this._pendingAnimationFrame = requestAnimationFrame( + this.stepThroughAnimation + ); } this.setState({ loaded: true, imageAlpha: imageAlpha }); }; stepThroughAnimation = () => { - var fadeInDuration = this.props.fadeInDuration || FADE_DURATION; - var alpha = easeInCubic((Date.now() - this._animationStartTime) / fadeInDuration); + const fadeInDuration = this.props.fadeInDuration || FADE_DURATION; + let alpha = easeInCubic( + (Date.now() - this._animationStartTime) / fadeInDuration + ); alpha = clamp(alpha, 0, 1); this.setState({ imageAlpha: alpha }); if (alpha < 1) { - this._pendingAnimationFrame = requestAnimationFrame(this.stepThroughAnimation); + this._pendingAnimationFrame = requestAnimationFrame( + this.stepThroughAnimation + ); } }; } - -export default Image;*/ diff --git a/src/index.js b/src/index.js index 034d0b7..500b9e7 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,5 @@ import Surface from "./Surface"; +import Image from "./Image"; import ListView from "./ListView"; import FontFace from "./FontFace"; import FrameUtils from "./FrameUtils"; @@ -9,7 +10,7 @@ export default { Surface: Surface, Layer: "Layer", Group: "Group", - Image: "Image", + Image: Image, Text: "Text", Gradient: "Gradient", ListView: ListView, diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 2cf9890..9d2660c 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,7 +1,7 @@ import React from "react"; import { storiesOf } from "@storybook/react"; import ReactCanvas from "../src/index"; -const { Gradient, Text, Group, Surface } = ReactCanvas; +const { Gradient, Text, Group, Image, Surface } = ReactCanvas; storiesOf("Gradient", module) .add("transparent-grey", () => { @@ -58,7 +58,7 @@ storiesOf("Gradient", module) }); storiesOf("Text", module).add("hello-world", () => { - const props = { size: { width: 200, height: 200 } }; + const props = { size: { width: 400, height: 400 } }; return (
{ > Hello World 2 + +
From 5ed71c26bb40d3335fd019ec210db44a194c7df8 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 14:41:59 -0700 Subject: [PATCH 09/60] Image working --- src/CanvasHostConfig.js | 1 - src/Core.js | 8 ++++++++ src/Image.js | 10 +++++----- src/index.js | 24 ++++++++++++------------ stories/canvasStory.js | 24 ++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 src/Core.js diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index 3f4a560..14fdebf 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -29,7 +29,6 @@ const CanvasHostConfig = { }, createInstance(type, props /*, internalInstanceHandle*/) { - console.log(type); const instance = new ctors[type](props); if (typeof instance.applyLayerProps !== "undefined") { diff --git a/src/Core.js b/src/Core.js new file mode 100644 index 0000000..1df9eb8 --- /dev/null +++ b/src/Core.js @@ -0,0 +1,8 @@ +const Core = { + Layer: "Layer", + Group: "Group", + Text: "Text", + Gradient: "Gradient" +}; + +export default Core; diff --git a/src/Image.js b/src/Image.js index 94073db..6cc8677 100644 --- a/src/Image.js +++ b/src/Image.js @@ -1,12 +1,14 @@ import React from "react"; import PropTypes from "prop-types"; import CanvasComponent from "./CanvasComponent"; -//import Layer from "./Layer"; -import Group from "./Group"; +import Core from "./Core"; import ImageCache from "./ImageCache"; import { easeInCubic } from "./Easing"; import clamp from "./clamp"; +const RawImageName = "RawImage"; +const { Group } = Core; + const FADE_DURATION = 200; export class RawImage extends CanvasComponent { @@ -20,8 +22,6 @@ export class RawImage extends CanvasComponent { }; } -const RawImageName = "RawImage"; - export default class Image extends React.Component { static propTypes = { src: PropTypes.string.isRequired, @@ -64,7 +64,7 @@ export default class Image extends React.Component { } if (this.rawImageRef) { - this.rawImageRef.invalidateLayout(); + this.rawImageRef.getLayer().invalidateLayout(); } } diff --git a/src/index.js b/src/index.js index 500b9e7..54216b0 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,5 @@ import Surface from "./Surface"; +import Core from "./Core"; import Image from "./Image"; import ListView from "./ListView"; import FontFace from "./FontFace"; @@ -6,16 +7,15 @@ import FrameUtils from "./FrameUtils"; import measureText from "./measureText"; import { registerLayerType } from "./DrawingUtils"; -export default { - Surface: Surface, - Layer: "Layer", - Group: "Group", - Image: Image, - Text: "Text", - Gradient: "Gradient", - ListView: ListView, - FontFace: FontFace, - measureText: measureText, - FrameUtils: FrameUtils, - registerLayerType: registerLayerType +const ReactCanvas = { + ...Core, + Surface, + Image, + ListView, + FontFace, + measureText, + FrameUtils, + registerLayerType }; + +export default ReactCanvas; diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 9d2660c..276ccb4 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -102,3 +102,27 @@ storiesOf("Text", module).add("hello-world", () => { ); }); + +storiesOf("Image", module).add("hello-world", () => { + const props = { size: { width: 400, height: 400 } }; + return ( +
+ + + +
+ ); +}); From e845874e5013659e088d711cdc27489011e0d7fa Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 15:23:14 -0700 Subject: [PATCH 10/60] Cleanup --- src/CanvasComponent.js | 12 +- src/Easing.js | 10 +- src/FontFace.js | 41 ++--- src/FontUtils.js | 169 +++++++++++---------- src/Gradient.js | 6 - src/ImageCache.js | 96 ++++++------ src/Layout.js | 333 ++++++++++++++++++++++------------------- src/Surface.js | 1 + src/clamp.js | 8 +- src/hitTest.js | 103 ++++++------- src/layoutNode.js | 40 ++--- 11 files changed, 423 insertions(+), 396 deletions(-) diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 214de0c..6c717c0 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -1,14 +1,11 @@ -import React from "react"; import RenderLayer from "./RenderLayer"; import { make } from "./FrameUtils"; import * as EventTypes from "./EventTypes"; let LAYER_GUID = 0; -export default class CanvasComponent extends React.Component { - constructor(props) { - super(props); - +export default class CanvasComponent { + constructor() { this.subscriptions = null; this.listeners = null; this.node = new RenderLayer(); @@ -20,10 +17,6 @@ export default class CanvasComponent extends React.Component { this._currentElement = element; }; - getPublicInstance = () => { - return this.node; - }; - putEventListener = (type, listener) => { const subscriptions = this.subscriptions || (this.subscriptions = {}); const listeners = this.listeners || (this.listeners = {}); @@ -96,6 +89,7 @@ export default class CanvasComponent extends React.Component { }; unmountComponent = () => { + console.log("Unmount"); this.destroyEventListeners(); }; diff --git a/src/Easing.js b/src/Easing.js index d2fc9f2..63ca108 100644 --- a/src/Easing.js +++ b/src/Easing.js @@ -10,11 +10,11 @@ function easeInQuad(t) { } function easeOutQuad(t) { - return t * (2-t); + return t * (2 - t); } function easeInOutQuad(t) { - return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t; + return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t; } function easeInCubic(t) { @@ -22,11 +22,11 @@ function easeInCubic(t) { } function easeOutCubic(t) { - return (--t) * t * t + 1; + return --t * t * t + 1; } function easeInOutCubic(t) { - return t < .5 ? 4 * t * t * t : (t-1) * (2*t - 2) * (2*t - 2) + 1; + return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; } export { @@ -36,5 +36,5 @@ export { easeInOutQuad, easeInCubic, easeOutCubic, - easeInOutCubic, + easeInOutCubic }; diff --git a/src/FontFace.js b/src/FontFace.js index 7745c16..7990c46 100644 --- a/src/FontFace.js +++ b/src/FontFace.js @@ -1,6 +1,21 @@ -'use strict'; +"use strict"; -var _fontFaces = {}; +const _fontFaces = {}; + +/** + * @internal + */ +function getCacheKey(family, url, attributes) { + return ( + family + + url + + Object.keys(attributes) + .sort() + .map(function(key) { + return attributes[key]; + }) + ); +} /** * @param {String} family The CSS font-family value @@ -8,15 +23,14 @@ var _fontFaces = {}; * @param {Object} attributes Font attributes supported: style, weight * @return {Object} */ -function FontFace (family, url, attributes) { - var fontFace; - var fontId; +function FontFace(family, url, attributes) { + let fontFace; attributes = attributes || {}; - attributes.style = attributes.style || 'normal'; + attributes.style = attributes.style || "normal"; attributes.weight = attributes.weight || 400; - fontId = getCacheKey(family, url, attributes); + const fontId = getCacheKey(family, url, attributes); fontFace = _fontFaces[fontId]; if (!fontFace) { @@ -37,17 +51,8 @@ function FontFace (family, url, attributes) { * @param {Number} fontWeight * @return {FontFace} */ -FontFace.Default = function (fontWeight) { - return FontFace('sans-serif', null, {weight: fontWeight}); +FontFace.Default = function(fontWeight) { + return FontFace("sans-serif", null, { weight: fontWeight }); }; -/** - * @internal - */ -function getCacheKey (family, url, attributes) { - return family + url + Object.keys(attributes).sort().map(function (key) { - return attributes[key]; - }); -} - export default FontFace; diff --git a/src/FontUtils.js b/src/FontUtils.js index 02e4da3..819dc6f 100644 --- a/src/FontUtils.js +++ b/src/FontUtils.js @@ -1,16 +1,70 @@ -var _useNativeImpl = (typeof window.FontFace !== 'undefined'); -var _pendingFonts = {}; -var _loadedFonts = {}; -var _failedFonts = {}; +const _useNativeImpl = typeof window.FontFace !== "undefined"; +const _pendingFonts = {}; +const _loadedFonts = {}; +const _failedFonts = {}; -var kFontLoadTimeout = 3000; +const kFontLoadTimeout = 3000; + +/** + * Helper method for created a hidden with a given font. + * Uses TypeKit's default test string, which is said to result + * in highly varied measured widths when compared to the default font. + * @internal + */ +function createTestNode(family, attributes) { + const span = document.createElement("span"); + span.setAttribute("data-fontfamily", family); + span.style.cssText = + "position:absolute; left:-5000px; top:-5000px; visibility:hidden;" + + 'font-size:100px; font-family:"' + + family + + '", Helvetica;font-weight: ' + + attributes.weight + + ";" + + "font-style:" + + attributes.style + + ";"; + span.innerHTML = "BESs"; + return span; +} + +/** + * @internal + */ +function handleFontLoad(fontFace, timeout) { + const error = timeout + ? "Exceeded load timeout of " + kFontLoadTimeout + "ms" + : null; + + if (!error) { + _loadedFonts[fontFace.id] = true; + } else { + _failedFonts[fontFace.id] = error; + } + + // Execute pending callbacks. + _pendingFonts[fontFace.id].callbacks.forEach(function(callback) { + callback(error); + }); + + // Clean up DOM + if (_pendingFonts[fontFace.id].defaultNode) { + document.body.removeChild(_pendingFonts[fontFace.id].defaultNode); + } + if (_pendingFonts[fontFace.id].testNode) { + document.body.removeChild(_pendingFonts[fontFace.id].testNode); + } + + // Clean up waiting queue + delete _pendingFonts[fontFace.id]; +} /** * Check if a font face has loaded * @param {FontFace} fontFace * @return {Boolean} */ -function isFontLoaded (fontFace) { +function isFontLoaded(fontFace) { // For remote URLs, check the cache. System fonts (sans url) assume loaded. return _loadedFonts[fontFace.id] !== undefined || !fontFace.url; } @@ -20,11 +74,7 @@ function isFontLoaded (fontFace) { * @param {FontFace} fontFace The font to Load * @param {Function} callback Function executed upon font Load */ -function loadFontNormal (fontFace, callback) { - var defaultNode; - var testNode; - var checkFont; - +function loadFontNormal(fontFace, callback) { // See if we've previously loaded it. if (_loadedFonts[fontFace.id]) { return callback(null); @@ -47,8 +97,8 @@ function loadFontNormal (fontFace, callback) { } // Create the test 's for measuring. - defaultNode = createTestNode('Helvetica', fontFace.attributes); - testNode = createTestNode(fontFace.family, fontFace.attributes); + const defaultNode = createTestNode("Helvetica", fontFace.attributes); + const testNode = createTestNode(fontFace.family, fontFace.attributes); document.body.appendChild(testNode); document.body.appendChild(defaultNode); @@ -60,16 +110,19 @@ function loadFontNormal (fontFace, callback) { }; // Font watcher - checkFont = function () { - var currWidth = testNode.getBoundingClientRect().width; - var defaultWidth = defaultNode.getBoundingClientRect().width; - var loaded = currWidth !== defaultWidth; + const checkFont = function() { + const currWidth = testNode.getBoundingClientRect().width; + const defaultWidth = defaultNode.getBoundingClientRect().width; + const loaded = currWidth !== defaultWidth; if (loaded) { handleFontLoad(fontFace, null); } else { // Timeout? - if (Date.now() - _pendingFonts[fontFace.id].startTime >= kFontLoadTimeout) { + if ( + Date.now() - _pendingFonts[fontFace.id].startTime >= + kFontLoadTimeout + ) { handleFontLoad(fontFace, true); } else { requestAnimationFrame(checkFont); @@ -88,9 +141,7 @@ function loadFontNormal (fontFace, callback) { * Native FontFace loader implementation * @internal */ -function loadFontNative (fontFace, callback) { - var theFontFace; - +function loadFontNative(fontFace, callback) { // See if we've previously loaded it. if (_loadedFonts[fontFace.id]) { return callback(null); @@ -118,66 +169,24 @@ function loadFontNative (fontFace, callback) { }; // Use font loader API - theFontFace = new window.FontFace(fontFace.family, - 'url(' + fontFace.url + ')', fontFace.attributes); - - theFontFace.load().then(function () { - _loadedFonts[fontFace.id] = true; - callback(null); - }, function (err) { - _failedFonts[fontFace.id] = err; - callback(err); - }); -} - -/** - * Helper method for created a hidden with a given font. - * Uses TypeKit's default test string, which is said to result - * in highly varied measured widths when compared to the default font. - * @internal - */ -function createTestNode (family, attributes) { - var span = document.createElement('span'); - span.setAttribute('data-fontfamily', family); - span.style.cssText = 'position:absolute; left:-5000px; top:-5000px; visibility:hidden;' + - 'font-size:100px; font-family:"' + family + '", Helvetica;font-weight: ' + attributes.weight + ';' + - 'font-style:' + attributes.style + ';'; - span.innerHTML = 'BESs'; - return span; -} - -/** - * @internal - */ -function handleFontLoad (fontFace, timeout) { - var error = timeout ? 'Exceeded load timeout of ' + kFontLoadTimeout + 'ms' : null; - - if (!error) { - _loadedFonts[fontFace.id] = true; - } else { - _failedFonts[fontFace.id] = error; - } - - // Execute pending callbacks. - _pendingFonts[fontFace.id].callbacks.forEach(function (callback) { - callback(error); - }); - - // Clean up DOM - if (_pendingFonts[fontFace.id].defaultNode) { - document.body.removeChild(_pendingFonts[fontFace.id].defaultNode); - } - if (_pendingFonts[fontFace.id].testNode) { - document.body.removeChild(_pendingFonts[fontFace.id].testNode); - } - - // Clean up waiting queue - delete _pendingFonts[fontFace.id]; + const theFontFace = new window.FontFace( + fontFace.family, + "url(" + fontFace.url + ")", + fontFace.attributes + ); + + theFontFace.load().then( + function() { + _loadedFonts[fontFace.id] = true; + callback(null); + }, + function(err) { + _failedFonts[fontFace.id] = err; + callback(err); + } + ); } const loadFont = _useNativeImpl ? loadFontNative : loadFontNormal; -export { - isFontLoaded, - loadFont -}; +export { isFontLoaded, loadFont }; diff --git a/src/Gradient.js b/src/Gradient.js index 925642c..5cba99e 100644 --- a/src/Gradient.js +++ b/src/Gradient.js @@ -1,5 +1,3 @@ -"use strict"; - import CanvasComponent from "./CanvasComponent"; class Gradient extends CanvasComponent { @@ -12,10 +10,6 @@ class Gradient extends CanvasComponent { this.applyCommonLayerProps(prevProps, props); this.node.invalidateLayout(); }; - - render() { - return []; - } } export default Gradient; diff --git a/src/ImageCache.js b/src/ImageCache.js index c696fe9..bebb945 100644 --- a/src/ImageCache.js +++ b/src/ImageCache.js @@ -1,30 +1,29 @@ -import EventEmitter from 'events'; +import EventEmitter from "events"; -var NOOP = function () {}; +const NOOP = function() {}; -function Img (src) { +function Img(src) { this._originalSrc = src; this._img = new Image(); - this._img.onload = this.emit.bind(this, 'load'); - this._img.onerror = this.emit.bind(this, 'error'); + this._img.onload = this.emit.bind(this, "load"); + this._img.onerror = this.emit.bind(this, "error"); this._img.crossOrigin = true; this._img.src = src; // The default impl of events emitter will throw on any 'error' event unless // there is at least 1 handler. Logging anything in this case is unnecessary // since the browser console will log it too. - this.on('error', NOOP); + this.on("error", NOOP); // Default is just 10. this.setMaxListeners(100); } Object.assign(Img.prototype, EventEmitter.prototype, { - /** * Pooling owner looks for this */ - destructor: function () { + destructor: function() { // Make sure we aren't leaking callbacks. this.removeAllListeners(); }, @@ -34,7 +33,7 @@ Object.assign(Img.prototype, EventEmitter.prototype, { * * @return {String} */ - getOriginalSrc: function () { + getOriginalSrc: function() { return this._originalSrc; }, @@ -43,7 +42,7 @@ Object.assign(Img.prototype, EventEmitter.prototype, { * * @return {HTMLImageElement} */ - getRawImage: function () { + getRawImage: function() { return this._img; }, @@ -52,7 +51,7 @@ Object.assign(Img.prototype, EventEmitter.prototype, { * * @return {Number} */ - getWidth: function () { + getWidth: function() { return this._img.naturalWidth; }, @@ -61,89 +60,87 @@ Object.assign(Img.prototype, EventEmitter.prototype, { * * @return {Number} */ - getHeight: function () { + getHeight: function() { return this._img.naturalHeight; }, /** * @return {Bool} */ - isLoaded: function () { + isLoaded: function() { return this._img.naturalHeight > 0; } - }); -var kInstancePoolLength = 300; +const kInstancePoolLength = 300; -var _instancePool = { +const _instancePool = { length: 0, // Keep all the nodes in memory. - elements: { - - }, - + elements: {}, + // Push with 0 frequency - push: function (hash, data) { + push: function(hash, data) { this.length++; this.elements[hash] = { - hash: hash, // Helps identifying + hash: hash, // Helps identifying freq: 0, data: data }; }, - - get: function (path) { - var element = this.elements[path]; - - if( element ){ + + get: function(path) { + const element = this.elements[path]; + + if (element) { element.freq++; return element.data; } - + return null; }, - + // used to explicitely remove the path - removeElement: function (path) { + removeElement: function(path) { // Now almighty GC can claim this soul - var element = this.elements[path]; + const element = this.elements[path]; delete this.elements[path]; this.length--; return element; }, - - _reduceLeastUsed: function (least, currentHash) { - var current = _instancePool.elements[currentHash]; - - if( least.freq > current.freq ){ + + _reduceLeastUsed: function(least, currentHash) { + const current = _instancePool.elements[currentHash]; + + if (least.freq > current.freq) { return current; } - + return least; }, - - popLeastUsed: function () { - var reducer = _instancePool._reduceLeastUsed; - var minUsed = Object.keys(this.elements).reduce(reducer, { freq: Infinity }); - - if( minUsed.hash ){ - return this.removeElement(minUsed.hash); + + popLeastUsed: function() { + const reducer = _instancePool._reduceLeastUsed; + const minUsed = Object.keys(this.elements).reduce(reducer, { + freq: Infinity + }); + + if (minUsed.hash) { + return this.removeElement(minUsed.hash); } - + return null; } }; -var ImageCache = { - +const ImageCache = { /** * Retrieve an image from the cache * * @return {Img} */ - get: function (src) { - var image = _instancePool.get(src); + get: function(src) { + let image = _instancePool.get(src); if (!image) { // Awesome LRU image = new Img(src); @@ -154,7 +151,6 @@ var ImageCache = { } return image; } - }; export default ImageCache; diff --git a/src/Layout.js b/src/Layout.js index c9cde62..53a2ec9 100644 --- a/src/Layout.js +++ b/src/Layout.js @@ -9,14 +9,13 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -var computeLayout = (function() { - +let computeLayout = (function() { function capitalizeFirst(str) { return str.charAt(0).toUpperCase() + str.slice(1); } function getSpacing(node, type, suffix, location) { - var key = type + capitalizeFirst(location) + suffix; + let key = type + capitalizeFirst(location) + suffix; if (key in node.style) { return node.style[key]; } @@ -30,7 +29,7 @@ var computeLayout = (function() { } function getPositiveSpacing(node, type, suffix, location) { - var key = type + capitalizeFirst(location) + suffix; + let key = type + capitalizeFirst(location) + suffix; if (key in node.style && node.style[key] >= 0) { return node.style[key]; } @@ -48,15 +47,15 @@ var computeLayout = (function() { } function getMargin(node, location) { - return getSpacing(node, 'margin', '', location); + return getSpacing(node, "margin", "", location); } function getPadding(node, location) { - return getPositiveSpacing(node, 'padding', '', location); + return getPositiveSpacing(node, "padding", "", location); } function getBorder(node, location) { - return getPositiveSpacing(node, 'border', 'Width', location); + return getPositiveSpacing(node, "border", "Width", location); } function getPaddingAndBorder(node, location) { @@ -68,38 +67,41 @@ var computeLayout = (function() { } function getPaddingAndBorderAxis(node, axis) { - return getPaddingAndBorder(node, leading[axis]) + getPaddingAndBorder(node, trailing[axis]); + return ( + getPaddingAndBorder(node, leading[axis]) + + getPaddingAndBorder(node, trailing[axis]) + ); } function getJustifyContent(node) { - if ('justifyContent' in node.style) { + if ("justifyContent" in node.style) { return node.style.justifyContent; } - return 'flex-start'; + return "flex-start"; } function getAlignItem(node, child) { - if ('alignSelf' in child.style) { + if ("alignSelf" in child.style) { return child.style.alignSelf; } - if ('alignItems' in node.style) { + if ("alignItems" in node.style) { return node.style.alignItems; } - return 'stretch'; + return "stretch"; } function getFlexDirection(node) { - if ('flexDirection' in node.style) { + if ("flexDirection" in node.style) { return node.style.flexDirection; } - return 'column'; + return "column"; } function getPositionType(node) { - if ('position' in node.style) { + if ("position" in node.style) { return node.style.position; } - return 'relative'; + return "relative"; } function getFlex(node) { @@ -107,14 +109,11 @@ var computeLayout = (function() { } function isFlex(node) { - return ( - getPositionType(node) === CSS_POSITION_RELATIVE && - getFlex(node) > 0 - ); + return getPositionType(node) === CSS_POSITION_RELATIVE && getFlex(node) > 0; } function isFlexWrap(node) { - return node.style.flexWrap === 'wrap'; + return node.style.flexWrap === "wrap"; } function getDimWithMargin(node, axis) { @@ -130,7 +129,7 @@ var computeLayout = (function() { } function isMeasureDefined(node) { - return 'measure' in node.style; + return "measure" in node.style; } function getPosition(node, pos) { @@ -168,20 +167,20 @@ var computeLayout = (function() { } var leading = { - row: 'left', - column: 'top' + row: "left", + column: "top" }; var trailing = { - row: 'right', - column: 'bottom' + row: "right", + column: "bottom" }; - var pos = { - row: 'left', - column: 'top' + let pos = { + row: "left", + column: "top" }; var dim = { - row: 'width', - column: 'height' + row: "width", + column: "height" }; function fmaxf(a, b) { @@ -191,30 +190,30 @@ var computeLayout = (function() { return b; } - var CSS_UNDEFINED = undefined; + let CSS_UNDEFINED = undefined; - var CSS_FLEX_DIRECTION_ROW = 'row'; - var CSS_FLEX_DIRECTION_COLUMN = 'column'; + let CSS_FLEX_DIRECTION_ROW = "row"; + let CSS_FLEX_DIRECTION_COLUMN = "column"; - var CSS_JUSTIFY_FLEX_START = 'flex-start'; - var CSS_JUSTIFY_CENTER = 'center'; - var CSS_JUSTIFY_FLEX_END = 'flex-end'; - var CSS_JUSTIFY_SPACE_BETWEEN = 'space-between'; - var CSS_JUSTIFY_SPACE_AROUND = 'space-around'; + let CSS_JUSTIFY_FLEX_START = "flex-start"; + let CSS_JUSTIFY_CENTER = "center"; + let CSS_JUSTIFY_FLEX_END = "flex-end"; + let CSS_JUSTIFY_SPACE_BETWEEN = "space-between"; + let CSS_JUSTIFY_SPACE_AROUND = "space-around"; - var CSS_ALIGN_FLEX_START = 'flex-start'; - var CSS_ALIGN_CENTER = 'center'; - var CSS_ALIGN_FLEX_END = 'flex-end'; - var CSS_ALIGN_STRETCH = 'stretch'; + let CSS_ALIGN_FLEX_START = "flex-start"; + let CSS_ALIGN_CENTER = "center"; + let CSS_ALIGN_FLEX_END = "flex-end"; + let CSS_ALIGN_STRETCH = "stretch"; - var CSS_POSITION_RELATIVE = 'relative'; - var CSS_POSITION_ABSOLUTE = 'absolute'; + var CSS_POSITION_RELATIVE = "relative"; + let CSS_POSITION_ABSOLUTE = "absolute"; return function layoutNode(node, parentMaxWidth) { - var/*css_flex_direction_t*/ mainAxis = getFlexDirection(node); - var/*css_flex_direction_t*/ crossAxis = mainAxis === CSS_FLEX_DIRECTION_ROW ? + let/*css_flex_direction_t*/ mainAxis = getFlexDirection(node); + let/*css_flex_direction_t*/ crossAxis = mainAxis === CSS_FLEX_DIRECTION_ROW ? CSS_FLEX_DIRECTION_COLUMN : - CSS_FLEX_DIRECTION_ROW; + : CSS_FLEX_DIRECTION_ROW; // Handle width and height style attributes setDimensionFromStyle(node, mainAxis); @@ -222,43 +221,45 @@ var computeLayout = (function() { // The position is set by the parent, but we need to complete it with a // delta composed of the margin and left/top/right/bottom - node.layout[leading[mainAxis]] += getMargin(node, leading[mainAxis]) + - getRelativePosition(node, mainAxis); - node.layout[leading[crossAxis]] += getMargin(node, leading[crossAxis]) + + node.layout[leading[mainAxis]] += + getMargin(node, leading[mainAxis]) + getRelativePosition(node, mainAxis); + node.layout[leading[crossAxis]] += + getMargin(node, leading[crossAxis]) + getRelativePosition(node, crossAxis); if (isMeasureDefined(node)) { - var/*float*/ width = CSS_UNDEFINED; + let/*float*/ width = CSS_UNDEFINED; if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { width = node.style.width; } else if (!isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]])) { width = node.layout[dim[CSS_FLEX_DIRECTION_ROW]]; } else { - width = parentMaxWidth - - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW); + width = parentMaxWidth - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW); } width -= getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); // We only need to give a dimension for the text if we haven't got any // for it computed yet. It can either be from the style attribute or because // the element is flexible. - var/*bool*/ isRowUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_ROW) && + let/*bool*/ isRowUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_ROW) && isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]]); - var/*bool*/ isColumnUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && + let/*bool*/ isColumnUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_COLUMN]]); // Let's not measure the text if we already know both dimensions if (isRowUndefined || isColumnUndefined) { - var/*css_dim_t*/ measure_dim = node.style.measure( + let/*css_dim_t*/ measure_dim = node.style.measure( /*(c)!node->context,*/ width ); if (isRowUndefined) { - node.layout.width = measure_dim.width + + node.layout.width = + measure_dim.width + getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); } if (isColumnUndefined) { - node.layout.height = measure_dim.height + + node.layout.height = + measure_dim.height + getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_COLUMN); } } @@ -266,14 +267,16 @@ var computeLayout = (function() { } // Pre-fill some dimensions straight from the parent - for (var/*int*/ i = 0; i < node.children.length; ++i) { - var/*css_node_t**/ child = node.children[i]; + for (var /*int*/ i = 0; i < node.children.length; ++i) { + var /*css_node_t**/ child = node.children[i]; // Pre-fill cross axis dimensions when the child is using stretch before // we call the recursive layout pass - if (getAlignItem(node, child) === CSS_ALIGN_STRETCH && - getPositionType(child) === CSS_POSITION_RELATIVE && - !isUndefined(node.layout[dim[crossAxis]]) && - !isDimDefined(child, crossAxis)) { + if ( + getAlignItem(node, child) === CSS_ALIGN_STRETCH && + getPositionType(child) === CSS_POSITION_RELATIVE && + !isUndefined(node.layout[dim[crossAxis]]) && + !isDimDefined(child, crossAxis) + ) { child.layout[dim[crossAxis]] = fmaxf( node.layout[dim[crossAxis]] - getPaddingAndBorderAxis(node, crossAxis) - @@ -284,18 +287,21 @@ var computeLayout = (function() { } else if (getPositionType(child) == CSS_POSITION_ABSOLUTE) { // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both // left and right or top and bottom). - for (var/*int*/ ii = 0; ii < 2; ii++) { - var/*css_flex_direction_t*/ axis = (ii != 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if (!isUndefined(node.layout[dim[axis]]) && - !isDimDefined(child, axis) && - isPosDefined(child, leading[axis]) && - isPosDefined(child, trailing[axis])) { + for (var /*int*/ ii = 0; ii < 2; ii++) { + var /*css_flex_direction_t*/ axis = + ii != 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + if ( + !isUndefined(node.layout[dim[axis]]) && + !isDimDefined(child, axis) && + isPosDefined(child, leading[axis]) && + isPosDefined(child, trailing[axis]) + ) { child.layout[dim[axis]] = fmaxf( node.layout[dim[axis]] - - getPaddingAndBorderAxis(node, axis) - - getMarginAxis(child, axis) - - getPosition(child, leading[axis]) - - getPosition(child, trailing[axis]), + getPaddingAndBorderAxis(node, axis) - + getMarginAxis(child, axis) - + getPosition(child, leading[axis]) - + getPosition(child, trailing[axis]), // You never want to go smaller than padding getPaddingAndBorderAxis(child, axis) ); @@ -304,20 +310,20 @@ var computeLayout = (function() { } } - var/*float*/ definedMainDim = CSS_UNDEFINED; + let/*float*/ definedMainDim = CSS_UNDEFINED; if (!isUndefined(node.layout[dim[mainAxis]])) { - definedMainDim = node.layout[dim[mainAxis]] - - getPaddingAndBorderAxis(node, mainAxis); + definedMainDim = + node.layout[dim[mainAxis]] - getPaddingAndBorderAxis(node, mainAxis); } // We want to execute the next two loops one per line with flex-wrap - var/*int*/ startLine = 0; - var/*int*/ endLine = 0; - var/*int*/ nextOffset = 0; - var/*int*/ alreadyComputedNextLayout = 0; + let/*int*/ startLine = 0; + let/*int*/ endLine = 0; + let/*int*/ nextOffset = 0; + let/*int*/ alreadyComputedNextLayout = 0; // We aggregate the total dimensions of the container in those two variables - var/*float*/ linesCrossDim = 0; - var/*float*/ linesMainDim = 0; + let/*float*/ linesCrossDim = 0; + let/*float*/ linesMainDim = 0; while (endLine < node.children.length) { // Layout non flexible children and count children by type @@ -325,16 +331,16 @@ var computeLayout = (function() { // non flexible children. This will be used in order to either set the // dimensions of the node if none already exist, or to compute the // remaining space left for the flexible children. - var/*float*/ mainContentDim = 0; + let/*float*/ mainContentDim = 0; // There are three kind of children, non flexible, flexible and absolute. // We need to know how many there are in order to distribute the space. - var/*int*/ flexibleChildrenCount = 0; - var/*float*/ totalFlexible = 0; - var/*int*/ nonFlexibleChildrenCount = 0; - for (var/*int*/ i = startLine; i < node.children.length; ++i) { - var/*css_node_t**/ child = node.children[i]; - var/*float*/ nextContentDim = 0; + let/*int*/ flexibleChildrenCount = 0; + let/*float*/ totalFlexible = 0; + let/*int*/ nonFlexibleChildrenCount = 0; + for (var /*int*/ i = startLine; i < node.children.length; ++i) { + var /*css_node_t**/ child = node.children[i]; + let/*float*/ nextContentDim = 0; // It only makes sense to consider a child flexible if we have a computed // dimension for the node. @@ -345,18 +351,20 @@ var computeLayout = (function() { // Even if we don't know its exact size yet, we already know the padding, // border and margin. We'll use this partial information to compute the // remaining space. - nextContentDim = getPaddingAndBorderAxis(child, mainAxis) + + nextContentDim = + getPaddingAndBorderAxis(child, mainAxis) + getMarginAxis(child, mainAxis); - } else { - var/*float*/ maxWidth = CSS_UNDEFINED; + var /*float*/ maxWidth = CSS_UNDEFINED; if (mainAxis === CSS_FLEX_DIRECTION_ROW) { // do nothing } else if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { - maxWidth = node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - + maxWidth = + node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); } else { - maxWidth = parentMaxWidth - + maxWidth = + parentMaxWidth - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW) - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); } @@ -376,12 +384,14 @@ var computeLayout = (function() { } // The element we are about to add would make us go to the next line - if (isFlexWrap(node) && - !isUndefined(node.layout[dim[mainAxis]]) && - mainContentDim + nextContentDim > definedMainDim && - // If there's only one element, then it's bigger than the content - // and needs its own line - i !== startLine) { + if ( + isFlexWrap(node) && + !isUndefined(node.layout[dim[mainAxis]]) && + mainContentDim + nextContentDim > definedMainDim && + // If there's only one element, then it's bigger than the content + // and needs its own line + i !== startLine + ) { alreadyComputedNextLayout = 1; break; } @@ -395,11 +405,11 @@ var computeLayout = (function() { // In order to position the elements in the main axis, we have two // controls. The space between the beginning and the first element // and the space between each two elements. - var/*float*/ leadingMainDim = 0; - var/*float*/ betweenMainDim = 0; + let/*float*/ leadingMainDim = 0; + let/*float*/ betweenMainDim = 0; // The remaining available space that needs to be allocated - var/*float*/ remainingMainDim = 0; + let/*float*/ remainingMainDim = 0; if (!isUndefined(node.layout[dim[mainAxis]])) { remainingMainDim = definedMainDim - mainContentDim; } else { @@ -409,7 +419,7 @@ var computeLayout = (function() { // If there are flexible children in the mix, they are going to fill the // remaining space if (flexibleChildrenCount !== 0) { - var/*float*/ flexibleMainDim = remainingMainDim / totalFlexible; + let/*float*/ flexibleMainDim = remainingMainDim / totalFlexible; // The non flexible children can overflow the container, in this case // we should just assume that there is no space available. @@ -419,22 +429,25 @@ var computeLayout = (function() { // We iterate over the full array and only apply the action on flexible // children. This is faster than actually allocating a new array that // contains only flexible children. - for (var/*int*/ i = startLine; i < endLine; ++i) { - var/*css_node_t**/ child = node.children[i]; + for (var /*int*/ i = startLine; i < endLine; ++i) { + var /*css_node_t**/ child = node.children[i]; if (isFlex(child)) { // At this point we know the final size of the element in the main // dimension - child.layout[dim[mainAxis]] = flexibleMainDim * getFlex(child) + + child.layout[dim[mainAxis]] = + flexibleMainDim * getFlex(child) + getPaddingAndBorderAxis(child, mainAxis); - var/*float*/ maxWidth = CSS_UNDEFINED; + var /*float*/ maxWidth = CSS_UNDEFINED; if (mainAxis === CSS_FLEX_DIRECTION_ROW) { // do nothing } else if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { - maxWidth = node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - + maxWidth = + node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); } else { - maxWidth = parentMaxWidth - + maxWidth = + parentMaxWidth - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW) - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); } @@ -444,10 +457,10 @@ var computeLayout = (function() { } } - // We use justifyContent to figure out how to allocate the remaining - // space available + // We use justifyContent to figure out how to allocate the remaining + // space available } else { - var/*css_justify_t*/ justifyContent = getJustifyContent(node); + let/*css_justify_t*/ justifyContent = getJustifyContent(node); if (justifyContent === CSS_JUSTIFY_FLEX_START) { // Do nothing } else if (justifyContent === CSS_JUSTIFY_CENTER) { @@ -457,14 +470,16 @@ var computeLayout = (function() { } else if (justifyContent === CSS_JUSTIFY_SPACE_BETWEEN) { remainingMainDim = fmaxf(remainingMainDim, 0); if (flexibleChildrenCount + nonFlexibleChildrenCount - 1 !== 0) { - betweenMainDim = remainingMainDim / + betweenMainDim = + remainingMainDim / (flexibleChildrenCount + nonFlexibleChildrenCount - 1); } else { betweenMainDim = 0; } } else if (justifyContent === CSS_JUSTIFY_SPACE_AROUND) { // Space on the edges is half of the space between elements - betweenMainDim = remainingMainDim / + betweenMainDim = + remainingMainDim / (flexibleChildrenCount + nonFlexibleChildrenCount); leadingMainDim = betweenMainDim / 2; } @@ -476,19 +491,22 @@ var computeLayout = (function() { // find their position. In order to do that, we accumulate data in // variables that are also useful to compute the total dimensions of the // container! - var/*float*/ crossDim = 0; - var/*float*/ mainDim = leadingMainDim + + let/*float*/ crossDim = 0; + let/*float*/ mainDim = leadingMainDim + getPaddingAndBorder(node, leading[mainAxis]); - for (var/*int*/ i = startLine; i < endLine; ++i) { - var/*css_node_t**/ child = node.children[i]; + for (var /*int*/ i = startLine; i < endLine; ++i) { + var /*css_node_t**/ child = node.children[i]; - if (getPositionType(child) === CSS_POSITION_ABSOLUTE && - isPosDefined(child, leading[mainAxis])) { + if ( + getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[mainAxis]) + ) { // In case the child is position absolute and has left/top being // defined, we override the position to whatever the user said // (and margin/border). - child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]) + + child.layout[pos[mainAxis]] = + getPosition(child, leading[mainAxis]) + getBorder(node, leading[mainAxis]) + getMargin(child, leading[mainAxis]); } else { @@ -510,7 +528,7 @@ var computeLayout = (function() { } } - var/*float*/ containerMainAxis = node.layout[dim[mainAxis]]; + let/*float*/ containerMainAxis = node.layout[dim[mainAxis]]; // If the user didn't specify a width or height, and it has not been set // by the container, then we set it via the children. if (isUndefined(node.layout[dim[mainAxis]])) { @@ -523,7 +541,7 @@ var computeLayout = (function() { ); } - var/*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; + let/*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; if (isUndefined(node.layout[dim[crossAxis]])) { containerCrossAxis = fmaxf( // For the cross dim, we add both sides at the end because the value @@ -536,25 +554,27 @@ var computeLayout = (function() { // Position elements in the cross axis - for (var/*int*/ i = startLine; i < endLine; ++i) { - var/*css_node_t**/ child = node.children[i]; + for (var /*int*/ i = startLine; i < endLine; ++i) { + var /*css_node_t**/ child = node.children[i]; - if (getPositionType(child) === CSS_POSITION_ABSOLUTE && - isPosDefined(child, leading[crossAxis])) { + if ( + getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[crossAxis]) + ) { // In case the child is absolutely positionned and has a // top/left/bottom/right being set, we override all the previously // computed positions to set it correctly. - child.layout[pos[crossAxis]] = getPosition(child, leading[crossAxis]) + + child.layout[pos[crossAxis]] = + getPosition(child, leading[crossAxis]) + getBorder(node, leading[crossAxis]) + getMargin(child, leading[crossAxis]); - } else { - var/*float*/ leadingCrossDim = getPaddingAndBorder(node, leading[crossAxis]); + let/*float*/ leadingCrossDim = getPaddingAndBorder(node, leading[crossAxis]); // For a relative children, we're either using alignItems (parent) or // alignSelf (child) in order to determine the position in the cross axis if (getPositionType(child) === CSS_POSITION_RELATIVE) { - var/*css_align_t*/ alignItem = getAlignItem(node, child); + let/*css_align_t*/ alignItem = getAlignItem(node, child); if (alignItem === CSS_ALIGN_FLEX_START) { // Do nothing } else if (alignItem === CSS_ALIGN_STRETCH) { @@ -572,13 +592,14 @@ var computeLayout = (function() { } else { // The remaining space between the parent dimensions+padding and child // dimensions+margin. - var/*float*/ remainingCrossDim = containerCrossAxis - + let/*float*/ remainingCrossDim = containerCrossAxis - getPaddingAndBorderAxis(node, crossAxis) - getDimWithMargin(child, crossAxis); if (alignItem === CSS_ALIGN_CENTER) { leadingCrossDim += remainingCrossDim / 2; - } else { // CSS_ALIGN_FLEX_END + } else { + // CSS_ALIGN_FLEX_END leadingCrossDim += remainingCrossDim; } } @@ -618,32 +639,38 @@ var computeLayout = (function() { // Calculate dimensions for absolutely positioned elements - for (var/*int*/ i = 0; i < node.children.length; ++i) { - var/*css_node_t**/ child = node.children[i]; + for (var /*int*/ i = 0; i < node.children.length; ++i) { + var /*css_node_t**/ child = node.children[i]; if (getPositionType(child) == CSS_POSITION_ABSOLUTE) { // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both // left and right or top and bottom). - for (var/*int*/ ii = 0; ii < 2; ii++) { - var/*css_flex_direction_t*/ axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if (!isUndefined(node.layout[dim[axis]]) && - !isDimDefined(child, axis) && - isPosDefined(child, leading[axis]) && - isPosDefined(child, trailing[axis])) { + for (var /*int*/ ii = 0; ii < 2; ii++) { + var /*css_flex_direction_t*/ axis = + ii !== 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + if ( + !isUndefined(node.layout[dim[axis]]) && + !isDimDefined(child, axis) && + isPosDefined(child, leading[axis]) && + isPosDefined(child, trailing[axis]) + ) { child.layout[dim[axis]] = fmaxf( node.layout[dim[axis]] - - getPaddingAndBorderAxis(node, axis) - - getMarginAxis(child, axis) - - getPosition(child, leading[axis]) - - getPosition(child, trailing[axis]), + getPaddingAndBorderAxis(node, axis) - + getMarginAxis(child, axis) - + getPosition(child, leading[axis]) - + getPosition(child, trailing[axis]), // You never want to go smaller than padding getPaddingAndBorderAxis(child, axis) ); } } - for (var/*int*/ ii = 0; ii < 2; ii++) { - var/*css_flex_direction_t*/ axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if (isPosDefined(child, trailing[axis]) && - !isPosDefined(child, leading[axis])) { + for (var /*int*/ ii = 0; ii < 2; ii++) { + var /*css_flex_direction_t*/ axis = + ii !== 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + if ( + isPosDefined(child, trailing[axis]) && + !isPosDefined(child, leading[axis]) + ) { child.layout[leading[axis]] = node.layout[dim[axis]] - child.layout[dim[axis]] - diff --git a/src/Surface.js b/src/Surface.js index f4328d4..c6211cb 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -66,6 +66,7 @@ class Surface extends React.Component { componentWillUnmount = () => { // Implemented in ReactMultiChild.Mixin //this.unmountChildren(); + console.log("unmount"); }; componentDidUpdate = prevProps => { diff --git a/src/clamp.js b/src/clamp.js index c3f72a4..75a778c 100644 --- a/src/clamp.js +++ b/src/clamp.js @@ -1,12 +1,10 @@ -'use strict'; - /** * Clamp a number between a minimum and maximum value. * @param {Number} number * @param {Number} min * @param {Number} max * @return {Number} -*/ -export default function (number, min, max) { + */ +export default function(number, min, max) { return Math.min(Math.max(number, min), max); -}; +} diff --git a/src/hitTest.js b/src/hitTest.js index 8fffde3..a9d185e 100755 --- a/src/hitTest.js +++ b/src/hitTest.js @@ -1,51 +1,19 @@ -'use strict'; - -import {make, clone, inset, intersects} from './FrameUtils'; -import * as EventTypes from './EventTypes'; - -/** - * RenderLayer hit testing - * - * @param {Event} e - * @param {RenderLayer} rootLayer - * @param {?HTMLElement} rootNode - * @return {RenderLayer} - */ -function hitTest (e, rootLayer, rootNode) { - var touch = e.touches ? e.touches[0] : e; - var touchX = touch.pageX; - var touchY = touch.pageY; - var rootNodeBox; - if (rootNode) { - rootNodeBox = rootNode.getBoundingClientRect(); - touchX -= rootNodeBox.left; - touchY -= rootNodeBox.top; - } - - touchY = touchY - window.pageYOffset; - touchX = touchX - window.pageXOffset; - return getLayerAtPoint( - rootLayer, - e.type, - make(touchX, touchY, 1, 1), - rootLayer.translateX || 0, - rootLayer.translateY || 0 - ); -} +import { make, clone, inset, intersects } from "./FrameUtils"; +import * as EventTypes from "./EventTypes"; /** * @private */ -function sortByZIndexDescending (layer, otherLayer) { +function sortByZIndexDescending(layer, otherLayer) { return (otherLayer.zIndex || 0) - (layer.zIndex || 0); } /** * @private */ -function getHitHandle (type) { - var hitHandle; - for (var tryHandle in EventTypes) { +function getHitHandle(type) { + let hitHandle; + for (const tryHandle in EventTypes) { if (EventTypes[tryHandle] === type) { hitHandle = tryHandle; break; @@ -57,21 +25,24 @@ function getHitHandle (type) { /** * @private */ -function getLayerAtPoint (root, type, point, tx, ty) { - var layer = null; - var hitHandle = getHitHandle(type); - var sortedChildren; - var hitFrame = clone(root.frame); +function getLayerAtPoint(root, type, point, tx, ty) { + let layer = null; + const hitHandle = getHitHandle(type); + let sortedChildren; + let hitFrame = clone(root.frame); // Early bail for non-visible layers - if (typeof root.alpha === 'number' && root.alpha < 0.01) { + if (typeof root.alpha === "number" && root.alpha < 0.01) { return null; } // Child-first search if (root.children) { - sortedChildren = root.children.slice().reverse().sort(sortByZIndexDescending); - for (var i=0, len=sortedChildren.length; i < len; i++) { + sortedChildren = root.children + .slice() + .reverse() + .sort(sortByZIndexDescending); + for (let i = 0, len = sortedChildren.length; i < len; i++) { layer = getLayerAtPoint( sortedChildren[i], type, @@ -87,9 +58,12 @@ function getLayerAtPoint (root, type, point, tx, ty) { // Check for hit outsets if (root.hitOutsets) { - hitFrame = inset(clone(hitFrame), - -root.hitOutsets[0], -root.hitOutsets[1], - -root.hitOutsets[2], -root.hitOutsets[3] + hitFrame = inset( + clone(hitFrame), + -root.hitOutsets[0], + -root.hitOutsets[1], + -root.hitOutsets[2], + -root.hitOutsets[3] ); } @@ -110,6 +84,35 @@ function getLayerAtPoint (root, type, point, tx, ty) { return layer; } +/** + * RenderLayer hit testing + * + * @param {Event} e + * @param {RenderLayer} rootLayer + * @param {?HTMLElement} rootNode + * @return {RenderLayer} + */ +function hitTest(e, rootLayer, rootNode) { + const touch = e.touches ? e.touches[0] : e; + let touchX = touch.pageX; + let touchY = touch.pageY; + let rootNodeBox; + if (rootNode) { + rootNodeBox = rootNode.getBoundingClientRect(); + touchX -= rootNodeBox.left; + touchY -= rootNodeBox.top; + } + + touchY = touchY - window.pageYOffset; + touchX = touchX - window.pageXOffset; + return getLayerAtPoint( + rootLayer, + e.type, + make(touchX, touchY, 1, 1), + rootLayer.translateX || 0, + rootLayer.translateY || 0 + ); +} + hitTest.getHitHandle = getHitHandle; export default hitTest; - diff --git a/src/layoutNode.js b/src/layoutNode.js index 2835e8f..7c1256c 100644 --- a/src/layoutNode.js +++ b/src/layoutNode.js @@ -1,45 +1,45 @@ -'use strict'; +"use strict"; -import computeLayout from './Layout'; +import computeLayout from "./Layout"; -/** - * This computes the CSS layout for a RenderLayer tree and mutates the frame - * objects at each node. - * - * @param {Renderlayer} root - * @return {Object} - */ -function layoutNode (root) { - var rootNode = createNode(root); - computeLayout(rootNode); - walkNode(rootNode); - return rootNode; -} - -function createNode (layer) { +function createNode(layer) { return { layer: layer, layout: { width: undefined, // computeLayout will mutate height: undefined, // computeLayout will mutate top: 0, - left: 0, + left: 0 }, style: layer._originalStyle || {}, children: (layer.children || []).map(createNode) }; } -function walkNode (node, parentLeft, parentTop) { +function walkNode(node, parentLeft, parentTop) { node.layer.frame.x = node.layout.left + (parentLeft || 0); node.layer.frame.y = node.layout.top + (parentTop || 0); node.layer.frame.width = node.layout.width; node.layer.frame.height = node.layout.height; if (node.children && node.children.length > 0) { - node.children.forEach(function (child) { + node.children.forEach(function(child) { walkNode(child, node.layer.frame.x, node.layer.frame.y); }); } } +/** + * This computes the CSS layout for a RenderLayer tree and mutates the frame + * objects at each node. + * + * @param {Renderlayer} root + * @return {Object} + */ +function layoutNode(root) { + const rootNode = createNode(root); + computeLayout(rootNode); + walkNode(rootNode); + return rootNode; +} + export default layoutNode; From 36dbeab447aa237dc582c21027d6d1ed35b248de Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 15:47:19 -0700 Subject: [PATCH 11/60] List view kinda working --- src/CanvasComponent.js | 2 +- src/Layout.js | 101 +++++------ src/ListView.js | 3 +- src/Surface.js | 5 +- stories/index.js | 2 +- stories/listviewStory.js | 350 ++++++++++++++++++++------------------- 6 files changed, 236 insertions(+), 227 deletions(-) diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 6c717c0..018c4f9 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -89,7 +89,7 @@ export default class CanvasComponent { }; unmountComponent = () => { - console.log("Unmount"); + console.log("Unmount canvas component"); this.destroyEventListeners(); }; diff --git a/src/Layout.js b/src/Layout.js index 53a2ec9..86cdde0 100644 --- a/src/Layout.js +++ b/src/Layout.js @@ -9,7 +9,7 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -let computeLayout = (function() { +const computeLayout = (function() { function capitalizeFirst(str) { return str.charAt(0).toUpperCase() + str.slice(1); } @@ -174,7 +174,7 @@ let computeLayout = (function() { row: "right", column: "bottom" }; - let pos = { + const pos = { row: "left", column: "top" }; @@ -190,29 +190,30 @@ let computeLayout = (function() { return b; } - let CSS_UNDEFINED = undefined; + const CSS_UNDEFINED = undefined; - let CSS_FLEX_DIRECTION_ROW = "row"; - let CSS_FLEX_DIRECTION_COLUMN = "column"; + const CSS_FLEX_DIRECTION_ROW = "row"; + const CSS_FLEX_DIRECTION_COLUMN = "column"; - let CSS_JUSTIFY_FLEX_START = "flex-start"; - let CSS_JUSTIFY_CENTER = "center"; - let CSS_JUSTIFY_FLEX_END = "flex-end"; - let CSS_JUSTIFY_SPACE_BETWEEN = "space-between"; - let CSS_JUSTIFY_SPACE_AROUND = "space-around"; + const CSS_JUSTIFY_FLEX_START = "flex-start"; + const CSS_JUSTIFY_CENTER = "center"; + const CSS_JUSTIFY_FLEX_END = "flex-end"; + const CSS_JUSTIFY_SPACE_BETWEEN = "space-between"; + const CSS_JUSTIFY_SPACE_AROUND = "space-around"; - let CSS_ALIGN_FLEX_START = "flex-start"; - let CSS_ALIGN_CENTER = "center"; - let CSS_ALIGN_FLEX_END = "flex-end"; - let CSS_ALIGN_STRETCH = "stretch"; + const CSS_ALIGN_FLEX_START = "flex-start"; + const CSS_ALIGN_CENTER = "center"; + const CSS_ALIGN_FLEX_END = "flex-end"; + const CSS_ALIGN_STRETCH = "stretch"; var CSS_POSITION_RELATIVE = "relative"; - let CSS_POSITION_ABSOLUTE = "absolute"; + const CSS_POSITION_ABSOLUTE = "absolute"; return function layoutNode(node, parentMaxWidth) { - let/*css_flex_direction_t*/ mainAxis = getFlexDirection(node); - let/*css_flex_direction_t*/ crossAxis = mainAxis === CSS_FLEX_DIRECTION_ROW ? - CSS_FLEX_DIRECTION_COLUMN : + const /*css_flex_direction_t*/ mainAxis = getFlexDirection(node); + const /*css_flex_direction_t*/ crossAxis = + mainAxis === CSS_FLEX_DIRECTION_ROW + ? CSS_FLEX_DIRECTION_COLUMN : CSS_FLEX_DIRECTION_ROW; // Handle width and height style attributes @@ -228,7 +229,7 @@ let computeLayout = (function() { getRelativePosition(node, crossAxis); if (isMeasureDefined(node)) { - let/*float*/ width = CSS_UNDEFINED; + let /*float*/ width = CSS_UNDEFINED; if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { width = node.style.width; } else if (!isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]])) { @@ -241,14 +242,16 @@ let computeLayout = (function() { // We only need to give a dimension for the text if we haven't got any // for it computed yet. It can either be from the style attribute or because // the element is flexible. - let/*bool*/ isRowUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_ROW) && + const /*bool*/ isRowUndefined = + !isDimDefined(node, CSS_FLEX_DIRECTION_ROW) && isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]]); - let/*bool*/ isColumnUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && + const /*bool*/ isColumnUndefined = + !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_COLUMN]]); // Let's not measure the text if we already know both dimensions if (isRowUndefined || isColumnUndefined) { - let/*css_dim_t*/ measure_dim = node.style.measure( + const /*css_dim_t*/ measure_dim = node.style.measure( /*(c)!node->context,*/ width ); @@ -310,20 +313,20 @@ let computeLayout = (function() { } } - let/*float*/ definedMainDim = CSS_UNDEFINED; + let /*float*/ definedMainDim = CSS_UNDEFINED; if (!isUndefined(node.layout[dim[mainAxis]])) { definedMainDim = node.layout[dim[mainAxis]] - getPaddingAndBorderAxis(node, mainAxis); } // We want to execute the next two loops one per line with flex-wrap - let/*int*/ startLine = 0; - let/*int*/ endLine = 0; - let/*int*/ nextOffset = 0; - let/*int*/ alreadyComputedNextLayout = 0; + let /*int*/ startLine = 0; + let /*int*/ endLine = 0; + const /*int*/ nextOffset = 0; + let /*int*/ alreadyComputedNextLayout = 0; // We aggregate the total dimensions of the container in those two variables - let/*float*/ linesCrossDim = 0; - let/*float*/ linesMainDim = 0; + let /*float*/ linesCrossDim = 0; + let /*float*/ linesMainDim = 0; while (endLine < node.children.length) { // Layout non flexible children and count children by type @@ -331,16 +334,16 @@ let computeLayout = (function() { // non flexible children. This will be used in order to either set the // dimensions of the node if none already exist, or to compute the // remaining space left for the flexible children. - let/*float*/ mainContentDim = 0; + let /*float*/ mainContentDim = 0; // There are three kind of children, non flexible, flexible and absolute. // We need to know how many there are in order to distribute the space. - let/*int*/ flexibleChildrenCount = 0; - let/*float*/ totalFlexible = 0; - let/*int*/ nonFlexibleChildrenCount = 0; + let /*int*/ flexibleChildrenCount = 0; + let /*float*/ totalFlexible = 0; + let /*int*/ nonFlexibleChildrenCount = 0; for (var /*int*/ i = startLine; i < node.children.length; ++i) { var /*css_node_t**/ child = node.children[i]; - let/*float*/ nextContentDim = 0; + let /*float*/ nextContentDim = 0; // It only makes sense to consider a child flexible if we have a computed // dimension for the node. @@ -405,11 +408,11 @@ let computeLayout = (function() { // In order to position the elements in the main axis, we have two // controls. The space between the beginning and the first element // and the space between each two elements. - let/*float*/ leadingMainDim = 0; - let/*float*/ betweenMainDim = 0; + let /*float*/ leadingMainDim = 0; + let /*float*/ betweenMainDim = 0; // The remaining available space that needs to be allocated - let/*float*/ remainingMainDim = 0; + let /*float*/ remainingMainDim = 0; if (!isUndefined(node.layout[dim[mainAxis]])) { remainingMainDim = definedMainDim - mainContentDim; } else { @@ -419,7 +422,7 @@ let computeLayout = (function() { // If there are flexible children in the mix, they are going to fill the // remaining space if (flexibleChildrenCount !== 0) { - let/*float*/ flexibleMainDim = remainingMainDim / totalFlexible; + let /*float*/ flexibleMainDim = remainingMainDim / totalFlexible; // The non flexible children can overflow the container, in this case // we should just assume that there is no space available. @@ -460,7 +463,7 @@ let computeLayout = (function() { // We use justifyContent to figure out how to allocate the remaining // space available } else { - let/*css_justify_t*/ justifyContent = getJustifyContent(node); + const /*css_justify_t*/ justifyContent = getJustifyContent(node); if (justifyContent === CSS_JUSTIFY_FLEX_START) { // Do nothing } else if (justifyContent === CSS_JUSTIFY_CENTER) { @@ -491,9 +494,9 @@ let computeLayout = (function() { // find their position. In order to do that, we accumulate data in // variables that are also useful to compute the total dimensions of the // container! - let/*float*/ crossDim = 0; - let/*float*/ mainDim = leadingMainDim + - getPaddingAndBorder(node, leading[mainAxis]); + let /*float*/ crossDim = 0; + let /*float*/ mainDim = + leadingMainDim + getPaddingAndBorder(node, leading[mainAxis]); for (var /*int*/ i = startLine; i < endLine; ++i) { var /*css_node_t**/ child = node.children[i]; @@ -528,7 +531,7 @@ let computeLayout = (function() { } } - let/*float*/ containerMainAxis = node.layout[dim[mainAxis]]; + let /*float*/ containerMainAxis = node.layout[dim[mainAxis]]; // If the user didn't specify a width or height, and it has not been set // by the container, then we set it via the children. if (isUndefined(node.layout[dim[mainAxis]])) { @@ -541,7 +544,7 @@ let computeLayout = (function() { ); } - let/*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; + let /*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; if (isUndefined(node.layout[dim[crossAxis]])) { containerCrossAxis = fmaxf( // For the cross dim, we add both sides at the end because the value @@ -569,12 +572,15 @@ let computeLayout = (function() { getBorder(node, leading[crossAxis]) + getMargin(child, leading[crossAxis]); } else { - let/*float*/ leadingCrossDim = getPaddingAndBorder(node, leading[crossAxis]); + let /*float*/ leadingCrossDim = getPaddingAndBorder( + node, + leading[crossAxis] + ); // For a relative children, we're either using alignItems (parent) or // alignSelf (child) in order to determine the position in the cross axis if (getPositionType(child) === CSS_POSITION_RELATIVE) { - let/*css_align_t*/ alignItem = getAlignItem(node, child); + const /*css_align_t*/ alignItem = getAlignItem(node, child); if (alignItem === CSS_ALIGN_FLEX_START) { // Do nothing } else if (alignItem === CSS_ALIGN_STRETCH) { @@ -592,7 +598,8 @@ let computeLayout = (function() { } else { // The remaining space between the parent dimensions+padding and child // dimensions+margin. - let/*float*/ remainingCrossDim = containerCrossAxis - + const /*float*/ remainingCrossDim = + containerCrossAxis - getPaddingAndBorderAxis(node, crossAxis) - getDimWithMargin(child, crossAxis); diff --git a/src/ListView.js b/src/ListView.js index f8e4cea..a43ec97 100644 --- a/src/ListView.js +++ b/src/ListView.js @@ -3,7 +3,8 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import Scroller from "scroller"; -import Group from "./Group"; +import Core from "./Core"; +const { Group } = Core; class ListView extends Component { static propTypes = { diff --git a/src/Surface.js b/src/Surface.js index c6211cb..58c82d2 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -64,9 +64,7 @@ class Surface extends React.Component { }; componentWillUnmount = () => { - // Implemented in ReactMultiChild.Mixin - //this.unmountChildren(); - console.log("unmount"); + // TODO destroy event listeners recursively }; componentDidUpdate = prevProps => { @@ -78,7 +76,6 @@ class Surface extends React.Component { this.scale(); } - console.log("did update"); CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); // Redraw updated render tree to . diff --git a/stories/index.js b/stories/index.js index b7928fa..c39d06d 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,5 +1,5 @@ import "./canvasStory"; -//import "./listviewStory"; +import "./listviewStory"; //import "./customDrawStory"; //import "./heatmapStory"; //import "./timeline"; diff --git a/stories/listviewStory.js b/stories/listviewStory.js index 5e37574..89cbf12 100644 --- a/stories/listviewStory.js +++ b/stories/listviewStory.js @@ -1,179 +1,183 @@ -import React from 'react'; -import { storiesOf } from '@storybook/react'; +import React from "react"; +import PropTypes from "prop-types"; +import { storiesOf } from "@storybook/react"; -import ReactCanvas from '../src/index' -const {Gradient, ListView, Surface, Group, Image, Text} = ReactCanvas; +import ReactCanvas from "../src/index"; +const { ListView, Surface, Group, Image, Text } = ReactCanvas; const articles = [ - { - title: '10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous', - excerpt: 'With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.', - imageUrl: 'http://lorempixel.com/360/420/cats/1/' - }, - { - title: 'Will Batman Save Leaf Blowing?', - excerpt: 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', - imageUrl: 'http://lorempixel.com/360/420/cats/2/' - }, - { - title: '8 Scary Things Your Professor Is Using Against You', - excerpt: 'For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.', - imageUrl: 'http://lorempixel.com/360/420/cats/3/' - }, - { - title: 'Kanye West\'s Top 10 Scandalous Microsoft Excel Secrets', - excerpt: 'My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.', - imageUrl: 'http://lorempixel.com/360/420/cats/4/' - }, - { - title: 'The Embarassing Secrets Of Julia Roberts', - excerpt: 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', - imageUrl: 'http://lorempixel.com/360/420/cats/5/' - }, - { - title: '20 Unbelievable Things Girlfriends Won\'t Tell Their Friends', - excerpt: 'On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell\'s departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.', - imageUrl: 'http://lorempixel.com/360/420/cats/6/' - }, - { - title: 'Can Vladimir Putin Save Beard Care?', - excerpt: 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', - imageUrl: 'http://lorempixel.com/360/420/cats/7/' - }, - { - title: '15 Truths That Will Make Your Psychiatrist Feel Ashamed', - excerpt: 'Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.', - imageUrl: 'http://lorempixel.com/360/420/cats/8/' - }, - { - title: '6 Terrible Facts That Make Boyfriends Stronger', - excerpt: 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', - imageUrl: 'http://lorempixel.com/360/420/cats/9/' - }, - { - title: '5 Surprising Dental Care Tips From Robert De Niro', - excerpt: 'At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o\'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.', - imageUrl: 'http://lorempixel.com/360/420/cats/10/' - }, + { + title: "10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous", + excerpt: + "With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.", + imageUrl: "http://lorempixel.com/360/420/cats/1/" + }, + { + title: "Will Batman Save Leaf Blowing?", + excerpt: + 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', + imageUrl: "http://lorempixel.com/360/420/cats/2/" + }, + { + title: "8 Scary Things Your Professor Is Using Against You", + excerpt: + "For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.", + imageUrl: "http://lorempixel.com/360/420/cats/3/" + }, + { + title: "Kanye West's Top 10 Scandalous Microsoft Excel Secrets", + excerpt: + "My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.", + imageUrl: "http://lorempixel.com/360/420/cats/4/" + }, + { + title: "The Embarassing Secrets Of Julia Roberts", + excerpt: + 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', + imageUrl: "http://lorempixel.com/360/420/cats/5/" + }, + { + title: "20 Unbelievable Things Girlfriends Won't Tell Their Friends", + excerpt: + "On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell's departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.", + imageUrl: "http://lorempixel.com/360/420/cats/6/" + }, + { + title: "Can Vladimir Putin Save Beard Care?", + excerpt: + 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', + imageUrl: "http://lorempixel.com/360/420/cats/7/" + }, + { + title: "15 Truths That Will Make Your Psychiatrist Feel Ashamed", + excerpt: + "Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.", + imageUrl: "http://lorempixel.com/360/420/cats/8/" + }, + { + title: "6 Terrible Facts That Make Boyfriends Stronger", + excerpt: + 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', + imageUrl: "http://lorempixel.com/360/420/cats/9/" + }, + { + title: "5 Surprising Dental Care Tips From Robert De Niro", + excerpt: + "At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.", + imageUrl: "http://lorempixel.com/360/420/cats/10/" + } ]; - -var Item = React.createClass({ - - propTypes: { - width: React.PropTypes.number.isRequired, - height: React.PropTypes.number.isRequired, - imageUrl: React.PropTypes.string.isRequired, - title: React.PropTypes.string.isRequired, - itemIndex: React.PropTypes.number.isRequired, - }, - - statics: { - getItemHeight: function () { - return 80; - } - }, - - render: function () { - return ( - - - {this.props.title} - - ); - }, - - getStyle: function () { - return { - width: this.props.width, - height: Item.getItemHeight(), - backgroundColor: (this.props.itemIndex % 2) ? '#eee' : '#a5d2ee' - }; - }, - - getImageStyle: function () { - return { - top: 10, - left: 10, - width: 60, - height: 60, - backgroundColor: '#ddd', - borderColor: '#999', - borderWidth: 1 - }; - }, - - getTitleStyle: function () { - return { - top: 32, - left: 80, - width: this.props.width - 90, - height: 18, - fontSize: 14, - lineHeight: 18 - }; - } - -}); - -const App = React.createClass({ - - render: function () { - var size = this.getSize(); - return ( - - - - ); - }, - - renderItem: function (itemIndex, scrollTop) { - var article = articles[itemIndex % articles.length]; - return ( - - ); - }, - - getSize: function () { - return { - width: 800, - height: 400, - } - }, - - // ListView - // ======== - - getListViewStyle: function () { - return { - top: 0, - left: 0, - width: window.innerWidth, - height: window.innerHeight - }; - }, - - getNumberOfItems: function () { - return 1000; - }, - +class Item extends React.Component { + static propTypes = { + width: PropTypes.number, + height: PropTypes.number, + imageUrl: PropTypes.string, + title: PropTypes.string, + itemIndex: PropTypes.number + }; + + static getItemHeight = () => { + return 80; + }; + + render() { + return ( + + + {this.props.title} + + ); + } + + getStyle = () => { + return { + width: this.props.width, + height: Item.getItemHeight(), + backgroundColor: this.props.itemIndex % 2 ? "#eee" : "#a5d2ee" + }; + }; + + getImageStyle = () => { + return { + top: 10, + left: 10, + width: 60, + height: 60, + backgroundColor: "#ddd", + borderColor: "#999", + borderWidth: 1 + }; + }; + + getTitleStyle = () => { + return { + top: 32, + left: 80, + width: this.props.width - 90, + height: 18, + fontSize: 14, + lineHeight: 18 + }; + }; +} + +class App extends React.Component { + render() { + const size = this.getSize(); + return ( + + + + ); + } + + renderItem = itemIndex => { + const article = articles[itemIndex % articles.length]; + return ( + + ); + }; + + getSize = () => { + return { + width: 800, + height: 400 + }; + }; + + // ListView + // ======== + + getListViewStyle = () => { + return { + top: 0, + left: 0, + width: window.innerWidth, + height: window.innerHeight + }; + }; + + getNumberOfItems = () => { + return 1000; + }; +} + +storiesOf("ListView", module).add("transparent-grey", () => { + return ( +
+ +
+ ); }); - -storiesOf('ListView', module) - .add('transparent-grey', () => { - const props = {size: {width: 80, height: 80}}; - return ( -
- -
- ); - }); From 166db2d846dafb483ca05ccd94590fa4fd6e6d12 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 20:39:10 -0700 Subject: [PATCH 12/60] ListView working great --- src/CanvasHostConfig.js | 30 ++++++------- src/EventTypes.js | 10 +++++ src/ListView.js | 35 +++++++++++++++ src/ReactDOMComponentTree.js | 38 +++++++++++++++++ src/RenderLayer.js | 33 ++++++++++++--- src/Surface.js | 82 ++++++++++++++++++++++++++++++++---- src/hitTest.js | 1 + stories/listviewStory.js | 9 ++-- 8 files changed, 204 insertions(+), 34 deletions(-) create mode 100644 src/ReactDOMComponentTree.js diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index 14fdebf..f5ce8c6 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -98,10 +98,12 @@ const CanvasHostConfig = { const parentLayer = parentInstance.getLayer(); if (childLayer.parentLayer === parentLayer) { - childLayer.eject(); + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); } - childLayer.inject(parentLayer); + parentLayer.invalidateLayout(); }, appendChildToContainer(parentInstance, child) { @@ -109,36 +111,32 @@ const CanvasHostConfig = { const parentLayer = parentInstance.getLayer(); if (childLayer.parentLayer === parentLayer) { - childLayer.eject(); + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); } - childLayer.inject(parentLayer); + parentLayer.invalidateLayout(); }, insertBefore(parentInstance, child, beforeChild) { - invariant( - child.getLayer() !== beforeChild.getLayer(), - "ReactART: Can not insert node before itself" - ); - child.getLayer().injectBefore(beforeChild.getLayer()); + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); }, insertInContainerBefore(parentInstance, child, beforeChild) { - invariant( - child.getLayer() !== beforeChild.getLayer(), - "ReactART: Can not insert node before itself" - ); - child.getLayer().injectBefore(beforeChild.getLayer()); + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); }, removeChild(parentInstance, child) { child.destroyEventListeners(); - child.getLayer().eject(); + child.getLayer().remove(); }, removeChildFromContainer(parentInstance, child) { child.destroyEventListeners(); - child.getLayer().eject(); + child.getLayer().remove(); }, commitTextUpdate(/*textInstance, oldText, newText*/) { diff --git a/src/EventTypes.js b/src/EventTypes.js index b5c0594..5168c3f 100755 --- a/src/EventTypes.js +++ b/src/EventTypes.js @@ -4,6 +4,11 @@ const onTouchStart = "touchstart"; const onTouchMove = "touchmove"; const onTouchEnd = "touchend"; const onTouchCancel = "touchcancel"; +const onMouseDown = "mousedown"; +const onMouseUp = "mouseup"; +const onMouseMove = "mousemove"; +const onMouseOver = "mouseover"; +const onMouseOut = "mouseout"; const onClick = "click"; const onContextMenu = "contextmenu"; const onDoubleClick = "dblclick"; @@ -13,6 +18,11 @@ export { onTouchMove, onTouchEnd, onTouchCancel, + onMouseDown, + onMouseUp, + onMouseMove, + onMouseOver, + onMouseOut, onClick, onContextMenu, onDoubleClick diff --git a/src/ListView.js b/src/ListView.js index a43ec97..c8e4e1a 100644 --- a/src/ListView.js +++ b/src/ListView.js @@ -43,6 +43,10 @@ class ListView extends Component { onTouchStart: this.handleTouchStart, onTouchMove: this.handleTouchMove, onTouchEnd: this.handleTouchEnd, + onMouseDown: this.handleMouseDown, + onMouseUp: this.handleMouseUp, + onMouseOut: this.handleMouseOut, + onMouseMove: this.handleMouseMove, onTouchCancel: this.handleTouchEnd }, items @@ -81,6 +85,37 @@ class ListView extends Component { }; handleTouchEnd = e => { + this.handleScrollRelease(e); + }; + + handleMouseDown = e => { + //if (e.button !== 2) return; + + if (this.scroller) { + this.scroller.doTouchStart([e], e.timeStamp); + } + }; + + handleMouseMove = e => { + if (this.scroller) { + e.preventDefault(); + this.scroller.doTouchMove([e], e.timeStamp); + } + }; + + handleMouseUp = e => { + //if (e.button !== 2) return; + + this.handleScrollRelease(e); + }; + + handleMouseOut = e => { + //if (e.button !== 2) return; + + this.handleScrollRelease(e); + }; + + handleScrollRelease = e => { if (this.scroller) { this.scroller.doTouchEnd(e.timeStamp); if (this.props.snapping) { diff --git a/src/ReactDOMComponentTree.js b/src/ReactDOMComponentTree.js new file mode 100644 index 0000000..467c83f --- /dev/null +++ b/src/ReactDOMComponentTree.js @@ -0,0 +1,38 @@ +// from https://github.com/facebook/react/blob/87ae211ccd8d61796cfdef138d1e12fb7a74f85d/packages/shared/ReactTypeOfWork.js +const HostComponent = 5; +const HostText = 6; + +// adapted FROM: https://github.com/facebook/react/blob/master/packages/react-dom/src/client/ReactDOMComponentTree.js + +const randomKey = Math.random() + .toString(36) + .slice(2); +const internalInstanceKey = "__reactInternalInstance$" + randomKey; + +/** + * Given a DOM node, return the closest ReactDOMComponent or + * ReactDOMTextComponent instance ancestor. + */ +export function getClosestInstanceFromNode(node) { + if (node[internalInstanceKey]) { + return node[internalInstanceKey]; + } + + while (!node[internalInstanceKey]) { + if (node.parentNode) { + node = node.parentNode; + } else { + // Top of the tree. This node must not be part of a React tree (or is + // unmounted, potentially). + return null; + } + } + + const inst = node[internalInstanceKey]; + if (inst.tag === HostComponent || inst.tag === HostText) { + // In Fiber, this will always be the deepest root. + return inst; + } + + return null; +} diff --git a/src/RenderLayer.js b/src/RenderLayer.js index c3318c5..d154438 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -42,9 +42,12 @@ RenderLayer.prototype = { * @param {RenderLayer} parentLayer * @param {RenderLayer} referenceLayer */ - injectBefore: function(parentLayer) { - // TODO FIXME - this.inject(parentLayer); + injectBefore: function(parentLayer, beforeLayer) { + this.remove(); + const beforeIndex = parentLayer.children.indexOf(beforeLayer); + parentLayer.children.splice(beforeIndex, 0, this); + this.parentLayer = parentLayer; + this.zIndex = beforeLayer.zIndex || 0; }, /** @@ -66,6 +69,26 @@ RenderLayer.prototype = { this.parentLayer.children.indexOf(this), 1 ); + + this.parentLayer = null; + } + }, + + /** + * Move a layer to top. + */ + moveToTop: function() { + if ( + this.parentLayer && + this.parentLayer.children.length > 1 && + this.parentLayer.children[0] !== this + ) { + this.parentLayer.children.splice( + this.parentLayer.children.indexOf(this), + 1 + ); + + this.parentLayer.children.unshift(this); } }, @@ -183,10 +206,6 @@ RenderLayer.prototype = { */ draw: function() { // Placeholer - }, - - eject: function() { - // TODO } }; diff --git a/src/Surface.js b/src/Surface.js index 58c82d2..78ae69b 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -9,8 +9,20 @@ import { make } from "./FrameUtils"; import { drawRenderLayer } from "./DrawingUtils"; import hitTest from "./hitTest"; import layoutNode from "./layoutNode"; +import { getClosestInstanceFromNode } from "./ReactDOMComponentTree"; const CanvasRenderer = ReactFiberReconciler(CanvasHostConfig); +const MOUSE_CLICK_DURATION_MS = 300; + +CanvasRenderer.injectIntoDevTools({ + findFiberByHostInstance: getClosestInstanceFromNode, + bundleType: process.env.NODE_ENV !== "production" ? 1 : 0, + version: React.version || 16, + rendererPackageName: "react-canvas", + getInspectorDataForViewTag: (...args) => { + console.log(args); + } +}); /** * Surface is a standard React component and acts as the main drawing canvas. @@ -113,9 +125,14 @@ class Surface extends React.Component { onTouchMove: this.handleTouchMove, onTouchEnd: this.handleTouchEnd, onTouchCancel: this.handleTouchEnd, - onClick: this.handleClick, + onMouseDown: this.handleMouseEvent, + onMouseUp: this.handleMouseEvent, + onMouseMove: this.handleMouseEvent, + onMouseOver: this.handleMouseEvent, + onMouseOut: this.handleMouseEvent, onContextMenu: this.handleContextMenu, - onDoubleClick: this.handleDoubleClick + onClick: this.handleMouseEvent, + onDoubleClick: this.handleMouseEvent }); } @@ -181,10 +198,12 @@ class Surface extends React.Component { handleTouchStart = e => { const hitTarget = hitTest(e, this.node, this.canvas); + let touch; if (hitTarget) { // On touchstart: capture the current hit target for the given touch. this._touches = this._touches || {}; + for (let i = 0, len = e.touches.length; i < len; i++) { touch = e.touches[i]; this._touches[touch.identifier] = hitTarget; @@ -215,15 +234,62 @@ class Surface extends React.Component { } }; - handleClick = e => { - this.hitTest(e); - }; + handleMouseEvent = e => { + if (e.type === "mousedown") { + // Keep track of initial mouse down info to detect a proper click. + this._lastMouseDownTimestamp = e.timeStamp; + this._lastMouseDownPosition = [e.pageX, e.pageY]; + this._draggedSinceMouseDown = false; + } else if ( + e.type === "click" || + e.type === "dblclick" || + e.type === "mouseout" + ) { + if (e.type === "click" || e.type === "dblclick") { + // Forward the click if the mouse did not travel and it was a short enough duration. + if ( + this._draggedSinceMouseDown || + !this._lastMouseDownTimestamp || + e.timeStamp - this._lastMouseDownTimestamp > MOUSE_CLICK_DURATION_MS + ) { + return; + } + } - handleContextMenu = e => { - this.hitTest(e); + this._lastMouseDownTimestamp = null; + this._lastMouseDownPosition = null; + this._draggedSinceMouseDown = false; + } else if ( + e.type === "mousemove" && + !this._draggedSinceMouseDown && + this._lastMouseDownPosition + ) { + // Detect dragging + this._draggedSinceMouseDown = + e.pageX !== this._lastMouseDownPosition[0] || + e.pageY !== this._lastMouseDownPosition[1]; + } + + let hitTarget = hitTest(e, this.node, this.canvas); + + // For mouseout events, we need to save the last target so we fire it again to that target + // since we won't have a hit (since the mouse has left the canvas.) + if (e.type === "mouseout") { + hitTarget = this._lastHitTarget; + } else { + this._lastHitTarget = hitTarget; + } + + if (hitTarget) { + const handler = hitTarget[hitTest.getHitHandle(e.type)]; + + if (handler) { + handler(e); + } + } }; - handleDoubleClick = e => { + handleContextMenu = e => { this.hitTest(e); }; } diff --git a/src/hitTest.js b/src/hitTest.js index a9d185e..6e43a16 100755 --- a/src/hitTest.js +++ b/src/hitTest.js @@ -105,6 +105,7 @@ function hitTest(e, rootLayer, rootNode) { touchY = touchY - window.pageYOffset; touchX = touchX - window.pageXOffset; + return getLayerAtPoint( rootLayer, e.type, diff --git a/stories/listviewStory.js b/stories/listviewStory.js index 89cbf12..5484cfc 100644 --- a/stories/listviewStory.js +++ b/stories/listviewStory.js @@ -83,7 +83,10 @@ class Item extends React.Component { render() { return ( - + console.log("Clicked " + this.props.title)} + > {this.props.title} @@ -164,8 +167,8 @@ class App extends React.Component { return { top: 0, left: 0, - width: window.innerWidth, - height: window.innerHeight + width: this.getSize().width, + height: this.getSize().height }; }; From 5650443fce6161c180c1d799f263afae6382ef72 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 21:22:06 -0700 Subject: [PATCH 13/60] Properly clear on container unmount --- src/Surface.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Surface.js b/src/Surface.js index 78ae69b..c25d936 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -76,7 +76,7 @@ class Surface extends React.Component { }; componentWillUnmount = () => { - // TODO destroy event listeners recursively + CanvasRenderer.updateContainer(null, this.mountNode, this); }; componentDidUpdate = prevProps => { From f5175da42f59a1900a8b5ebd0399d4a16353f72a Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 21:29:55 -0700 Subject: [PATCH 14/60] Properly destroy event handlers --- src/CanvasComponent.js | 13 +++---------- src/RenderLayer.js | 6 ++---- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 018c4f9..8a7561d 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -9,14 +9,9 @@ export default class CanvasComponent { this.subscriptions = null; this.listeners = null; this.node = new RenderLayer(); - this._currentElement = null; this._layerId = LAYER_GUID++; } - construct = element => { - this._currentElement = element; - }; - putEventListener = (type, listener) => { const subscriptions = this.subscriptions || (this.subscriptions = {}); const listeners = this.listeners || (this.listeners = {}); @@ -33,12 +28,10 @@ export default class CanvasComponent { } }; - handleEvent = () => { - // TODO - }; - destroyEventListeners = () => { - // TODO + this.listeners = null; + this.subscriptions = null; + this.node.destroyEventListeners(); }; applyCommonLayerProps = (prevProps, props) => { diff --git a/src/RenderLayer.js b/src/RenderLayer.js index d154438..a6b08d7 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -116,12 +116,10 @@ RenderLayer.prototype = { /** * @param {String} type - * @param {Function} callback - * @param {?Object} callbackScope */ - addEventListener: function(type) { + destroyEventListeners: function() { for (const eventType in EventTypes) { - if (EventTypes[eventType] === type) { + if (this[eventType]) { delete this[eventType]; } } From 541bec532fac5a1e86784b7d04356f78107d3ab3 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:01:12 -0700 Subject: [PATCH 15/60] Custom drawing --- index.js | 2 +- src/CanvasHostConfig.js | 6 +- src/CanvasRenderer.js | 177 +++++++++++++++++++++++++++++++++++ src/Gradient.js | 1 - src/Group.js | 1 - src/Image.js | 1 - src/Surface.js | 32 +++---- src/Text.js | 1 - src/index.js | 30 +++++- stories/customDrawStory.js | 186 +++++++++++++++++-------------------- stories/index.js | 2 +- 11 files changed, 310 insertions(+), 129 deletions(-) create mode 100644 src/CanvasRenderer.js diff --git a/index.js b/index.js index dda6cc9..a413224 100644 --- a/index.js +++ b/index.js @@ -1,2 +1,2 @@ -import ReactCanvas from './src/index' +import ReactCanvas from "./src/index"; export default ReactCanvas; diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js index f5ce8c6..d96639c 100644 --- a/src/CanvasHostConfig.js +++ b/src/CanvasHostConfig.js @@ -24,8 +24,6 @@ const CanvasHostConfig = { } child.getLayer().inject(parentInstance.getLayer()); - - // TODO draw? }, createInstance(type, props /*, internalInstanceHandle*/) { @@ -33,6 +31,7 @@ const CanvasHostConfig = { if (typeof instance.applyLayerProps !== "undefined") { instance.applyLayerProps({}, props); + instance.getLayer().invalidateLayout(); } return instance; @@ -149,7 +148,8 @@ const CanvasHostConfig = { commitUpdate(instance, updatePayload, type, oldProps, newProps) { if (typeof instance.applyLayerProps !== "undefined") { - instance.applyLayerProps(instance, newProps, oldProps); + instance.applyLayerProps(newProps, oldProps); + instance.getLayer().invalidateLayout(); } } } diff --git a/src/CanvasRenderer.js b/src/CanvasRenderer.js new file mode 100644 index 0000000..0e472f0 --- /dev/null +++ b/src/CanvasRenderer.js @@ -0,0 +1,177 @@ +import React from "react"; +import invariant from "fbjs/lib/invariant"; +import emptyObject from "fbjs/lib/emptyObject"; +import Gradient from "./Gradient"; +import Text from "./Text"; +import Group from "./Group"; +import { RawImage } from "./Image"; +import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; +import ReactFiberReconciler from "react-reconciler"; +import { getClosestInstanceFromNode } from "./ReactDOMComponentTree"; + +const UPDATE_SIGNAL = {}; + +const ctors = { + Gradient: Gradient, + Text: Text, + Group: Group, + RawImage: RawImage +}; + +const CanvasHostConfig = { + appendInitialChild(parentInstance, child) { + if (typeof child === "string") { + // Noop for string children of Text (eg {'foo'}{'bar'}) + invariant(false, "Text children should already be flattened."); + return; + } + + child.getLayer().inject(parentInstance.getLayer()); + }, + + createInstance(type, props /*, internalInstanceHandle*/) { + const instance = new ctors[type](props); + + if (typeof instance.applyLayerProps !== "undefined") { + instance.applyLayerProps({}, props); + instance.getLayer().invalidateLayout(); + } + + return instance; + }, + + createTextInstance(text /*, rootContainerInstance, internalInstanceHandle*/) { + return text; + }, + + finalizeInitialChildren(/*domElement, type, props*/) { + return false; + }, + + getPublicInstance(instance) { + return instance; + }, + + prepareForCommit() { + // Noop + }, + + prepareUpdate(/*domElement, type, oldProps, newProps*/) { + return UPDATE_SIGNAL; + }, + + resetAfterCommit() { + // Noop + }, + + resetTextContent(/*domElement*/) { + // Noop + }, + + shouldDeprioritizeSubtree(/*type, props*/) { + return false; + }, + + getRootHostContext() { + return emptyObject; + }, + + getChildHostContext() { + return emptyObject; + }, + + scheduleDeferredCallback: ReactDOMFrameScheduling.rIC, + + shouldSetTextContent(type, props) { + return ( + typeof props.children === "string" || typeof props.children === "number" + ); + }, + + now: ReactDOMFrameScheduling.now, + + isPrimaryRenderer: false, + + useSyncScheduling: true, + + mutation: { + appendChild(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); + } + + parentLayer.invalidateLayout(); + }, + + appendChildToContainer(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); + } + + parentLayer.invalidateLayout(); + }, + + insertBefore(parentInstance, child, beforeChild) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + }, + + insertInContainerBefore(parentInstance, child, beforeChild) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + }, + + removeChild(parentInstance, child) { + child.destroyEventListeners(); + child.getLayer().remove(); + }, + + removeChildFromContainer(parentInstance, child) { + child.destroyEventListeners(); + child.getLayer().remove(); + }, + + commitTextUpdate(/*textInstance, oldText, newText*/) { + // Noop + }, + + commitMount(/*instance, type, newProps*/) { + // Noop + }, + + commitUpdate(instance, updatePayload, type, oldProps, newProps) { + if (typeof instance.applyLayerProps !== "undefined") { + instance.applyLayerProps(newProps, oldProps); + instance.getLayer().invalidateLayout(); + } + } + } +}; + +const CanvasRenderer = ReactFiberReconciler(CanvasHostConfig); + +CanvasRenderer.injectIntoDevTools({ + findFiberByHostInstance: getClosestInstanceFromNode, + bundleType: process.env.NODE_ENV !== "production" ? 1 : 0, + version: React.version || 16, + rendererPackageName: "react-canvas", + getInspectorDataForViewTag: (...args) => { + console.log(args); + } +}); + +CanvasRenderer.registerComponentConstructor = (name, ctor) => { + ctors[name] = ctor; +}; + +export default CanvasRenderer; diff --git a/src/Gradient.js b/src/Gradient.js index 5cba99e..6061325 100644 --- a/src/Gradient.js +++ b/src/Gradient.js @@ -8,7 +8,6 @@ class Gradient extends CanvasComponent { layer.type = "gradient"; layer.colorStops = props.colorStops || []; this.applyCommonLayerProps(prevProps, props); - this.node.invalidateLayout(); }; } diff --git a/src/Group.js b/src/Group.js index ac10fa1..5bb066a 100644 --- a/src/Group.js +++ b/src/Group.js @@ -3,7 +3,6 @@ import CanvasComponent from "./CanvasComponent"; class Group extends CanvasComponent { applyLayerProps = (prevProps, props) => { this.applyCommonLayerProps(prevProps, props); - this.node.invalidateLayout(); }; render() { diff --git a/src/Image.js b/src/Image.js index 6cc8677..653f7d9 100644 --- a/src/Image.js +++ b/src/Image.js @@ -18,7 +18,6 @@ export class RawImage extends CanvasComponent { layer.type = "image"; layer.imageUrl = props.src; this.applyCommonLayerProps(prevProps, props); - this.node.invalidateLayout(); }; } diff --git a/src/Surface.js b/src/Surface.js index c25d936..e9f276c 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -1,29 +1,15 @@ "use strict"; import React from "react"; -import ReactFiberReconciler from "react-reconciler"; -import CanvasHostConfig from "./CanvasHostConfig"; import PropTypes from "prop-types"; import RenderLayer from "./RenderLayer"; import { make } from "./FrameUtils"; import { drawRenderLayer } from "./DrawingUtils"; import hitTest from "./hitTest"; import layoutNode from "./layoutNode"; -import { getClosestInstanceFromNode } from "./ReactDOMComponentTree"; -const CanvasRenderer = ReactFiberReconciler(CanvasHostConfig); const MOUSE_CLICK_DURATION_MS = 300; -CanvasRenderer.injectIntoDevTools({ - findFiberByHostInstance: getClosestInstanceFromNode, - bundleType: process.env.NODE_ENV !== "production" ? 1 : 0, - version: React.version || 16, - rendererPackageName: "react-canvas", - getInspectorDataForViewTag: (...args) => { - console.log(args); - } -}); - /** * Surface is a standard React component and acts as the main drawing canvas. * ReactCanvas components cannot be rendered outside a Surface. @@ -48,6 +34,8 @@ class Surface extends React.Component { scale: window.devicePixelRatio || 1 }; + static canvasRenderer = null; + setCanvasRef = canvas => { this.canvas = canvas; }; @@ -68,15 +56,19 @@ class Surface extends React.Component { ); this.node.draw = this.batchedTick; - this.mountNode = CanvasRenderer.createContainer(this); - CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); + this.mountNode = Surface.canvasRenderer.createContainer(this); + Surface.canvasRenderer.updateContainer( + this.props.children, + this.mountNode, + this + ); // Execute initial draw on mount. this.node.draw(); }; componentWillUnmount = () => { - CanvasRenderer.updateContainer(null, this.mountNode, this); + Surface.canvasRenderer.updateContainer(null, this.mountNode, this); }; componentDidUpdate = prevProps => { @@ -88,7 +80,11 @@ class Surface extends React.Component { this.scale(); } - CanvasRenderer.updateContainer(this.props.children, this.mountNode, this); + Surface.canvasRenderer.updateContainer( + this.props.children, + this.mountNode, + this + ); // Redraw updated render tree to . if (this.node) { diff --git a/src/Text.js b/src/Text.js index b412d78..9872b64 100644 --- a/src/Text.js +++ b/src/Text.js @@ -28,7 +28,6 @@ class Text extends CanvasComponent { layer.textAlign = style.textAlign; this.applyCommonLayerProps(prevProps, props); - this.node.invalidateLayout(); }; } diff --git a/src/index.js b/src/index.js index 54216b0..555672d 100644 --- a/src/index.js +++ b/src/index.js @@ -5,17 +5,43 @@ import ListView from "./ListView"; import FontFace from "./FontFace"; import FrameUtils from "./FrameUtils"; import measureText from "./measureText"; +import CanvasComponent from "./CanvasComponent"; +import CanvasRenderer from "./CanvasRenderer"; import { registerLayerType } from "./DrawingUtils"; +Surface.canvasRenderer = CanvasRenderer; + +const registerCustomComponent = function(name, applyProps, drawFunction) { + const layerType = name.toLowerCase(); + + registerLayerType(layerType, drawFunction); + + const klass = class extends CanvasComponent { + displayName = name; + + applyLayerProps = (prevProps, props) => { + const style = props && props.style ? props.style : {}; + const layer = this.node; + layer.type = layerType; + applyProps(layer, style, prevProps, props); + this.applyCommonLayerProps(prevProps, props); + }; + }; + + CanvasRenderer.registerComponentConstructor(name, klass); + + return name; +}; + const ReactCanvas = { ...Core, Surface, Image, ListView, FontFace, - measureText, FrameUtils, - registerLayerType + measureText, + registerCustomComponent }; export default ReactCanvas; diff --git a/stories/customDrawStory.js b/stories/customDrawStory.js index f8e1c79..507fdca 100644 --- a/stories/customDrawStory.js +++ b/stories/customDrawStory.js @@ -1,103 +1,89 @@ -import React from 'react'; -import ReactDom from 'react-dom'; -import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; - -import ReactCanvas from '../src/index' - -const { registerLayerType, createCanvasComponent, Surface } = ReactCanvas; - - -registerLayerType('circle', function (ctx, layer) { - var x = layer.frame.x; - var y = layer.frame.y; - var width = layer.frame.width; - var height = layer.frame.height; - var centerX = x + width / 2; - var centerY = y + height / 2; - - var fillColor = layer.backgroundColor || '#FFF'; - var strokeColor = layer.borderColor || '#FFF'; - var strokeWidth = layer.borderWidth || 0; - - var shadowColor = layer.shadowColor || 0; - var shadowOffsetX = layer.shadowOffsetX || 0; - var shadowOffsetY = layer.shadowOffsetY || 0; - var shadowBlur = layer.shadowBlur || 0; - - var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); - - - - ctx.beginPath(); - ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); - if (shadowOffsetX || shadowOffsetY) { - ctx.shadowColor = shadowColor; - ctx.shadowBlur = shadowBlur; - ctx.shadowOffsetX = shadowOffsetX; - ctx.shadowOffsetY = shadowOffsetY; - } - - ctx.fillStyle = fillColor; - ctx.fill(); - if (strokeWidth > 0) { - ctx.lineWidth = strokeWidth; - ctx.strokeStyle = strokeColor; - ctx.stroke(); - } -}); - -const Circle = createCanvasComponent({ - displayName: 'Circle', - layerType: 'circle', - - applyCustomProps: function (prevProps, props) { - var style = props.style || {}; - var layer = this.node; - layer.shadowColor = style.shadowColor || 0; - layer.shadowOffsetX = style.shadowOffsetX || 0; - layer.shadowOffsetY = style.shadowOffsetY || 0; - layer.shadowBlur = style.shadowBlur || 0; +import React from "react"; +import { storiesOf } from "@storybook/react"; + +import ReactCanvas from "../src/index"; + +const { Surface } = ReactCanvas; + +const circleDraw = function(ctx, layer) { + const x = layer.frame.x; + const y = layer.frame.y; + const width = layer.frame.width; + const height = layer.frame.height; + const centerX = x + width / 2; + const centerY = y + height / 2; + + const fillColor = layer.backgroundColor || "#FFF"; + const strokeColor = layer.borderColor || "#FFF"; + const strokeWidth = layer.borderWidth || 0; + + const shadowColor = layer.shadowColor || 0; + const shadowOffsetX = layer.shadowOffsetX || 0; + const shadowOffsetY = layer.shadowOffsetY || 0; + const shadowBlur = layer.shadowBlur || 0; + + const radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); + + ctx.beginPath(); + ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); + if (shadowOffsetX || shadowOffsetY) { + ctx.shadowColor = shadowColor; + ctx.shadowBlur = shadowBlur; + ctx.shadowOffsetX = shadowOffsetX; + ctx.shadowOffsetY = shadowOffsetY; } -}); - - - -var App = React.createClass({ - - render: function () { - return ( - - - - ); - }, + ctx.fillStyle = fillColor; + ctx.fill(); + if (strokeWidth > 0) { + ctx.lineWidth = strokeWidth; + ctx.strokeStyle = strokeColor; + ctx.stroke(); + } +}; + +const circleApplyProps = (layer, style /*, prevProps, props*/) => { + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; +}; + +const Circle = ReactCanvas.registerCustomComponent( + "Circle", + circleApplyProps, + circleDraw +); + +class App extends React.Component { + render() { + return ( + + + + ); + } +} + +storiesOf("CustomDraw", module).add("green-circle", () => { + return ( +
+ +
+ ); }); - - - -storiesOf('CustomDraw', module) - .add('green-circle', () => { - const props = {size: {width: 80, height: 80}}; - return ( -
- -
- ); - }); diff --git a/stories/index.js b/stories/index.js index c39d06d..600bcbd 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,5 +1,5 @@ import "./canvasStory"; import "./listviewStory"; -//import "./customDrawStory"; +import "./customDrawStory"; //import "./heatmapStory"; //import "./timeline"; From 50445648e0bc15d737e5cdeb8868f59bd104918d Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:08:09 -0700 Subject: [PATCH 16/60] Heatmap example working --- stories/heatmapStory.js | 211 ++++++++++++++++++++-------------------- stories/index.js | 2 +- 2 files changed, 108 insertions(+), 105 deletions(-) diff --git a/stories/heatmapStory.js b/stories/heatmapStory.js index 48508f8..dae7a32 100644 --- a/stories/heatmapStory.js +++ b/stories/heatmapStory.js @@ -1,15 +1,16 @@ -import React from 'react'; +import React from "react"; +import PropTypes from "prop-types"; -import { storiesOf } from '@storybook/react'; +import { storiesOf } from "@storybook/react"; -import range from 'lodash.range'; -import { scaleBand, interpolateInferno } from 'd3-scale'; +import range from "lodash.range"; +import { scaleBand, interpolateInferno } from "d3-scale"; -import ReactCanvas from '../src/index'; +import ReactCanvas from "../src/index"; -const {Gradient, ListView, Surface, Group, Image, Text, registerLayerType, createCanvasComponent} = ReactCanvas; +const { Surface } = ReactCanvas; -import Alea from 'alea'; +import Alea from "alea"; const random = new Alea(0); random(); @@ -17,103 +18,105 @@ const NUM_ROWS = 16; const NUM_COLS = 1000; const rowsRange = range(0, NUM_ROWS); const colRange = range(0, NUM_COLS); -const rows = rowsRange.map( () => colRange.map(() => random())); - - -registerLayerType('heatmap', function (ctx, layer) { - const data = layer.data; - var x = layer.frame.x; - var y = layer.frame.y; - var width = layer.frame.width; - var height = layer.frame.height; - var centerX = x + width / 2; - var centerY = y + height / 2; - - var fillColor = layer.backgroundColor || '#FFF'; - var strokeColor = layer.borderColor || '#FFF'; - var strokeWidth = layer.borderWidth || 0; - - var shadowColor = layer.shadowColor || 0; - var shadowOffsetX = layer.shadowOffsetX || 0; - var shadowOffsetY = layer.shadowOffsetY || 0; - var shadowBlur = layer.shadowBlur || 0; - - const horizontalScale = scaleBand().domain(rowsRange).range([x, x + width]); - const verticalScale = scaleBand().domain(colRange).range([y, y + height]); - - ctx.fillStyle = fillColor; - data.forEach((row, rowIdx) => { - - row.forEach((col, colIdx) => { - ctx.fillStyle = interpolateInferno(col); - const rectDimensions = { - x: horizontalScale(rowIdx), - y: verticalScale(colIdx), - width: horizontalScale.bandwidth(), - height: verticalScale.bandwidth(), - }; - ctx.fillRect(rectDimensions.x, rectDimensions.y, rectDimensions.width, rectDimensions.height); - }) +const rows = rowsRange.map(() => colRange.map(() => random())); + +const heatmapDraw = (ctx, layer) => { + const data = layer.data; + const x = layer.frame.x; + const y = layer.frame.y; + const width = layer.frame.width; + const height = layer.frame.height; + + const fillColor = layer.backgroundColor || "#FFF"; + + const horizontalScale = scaleBand() + .domain(rowsRange) + .range([x, x + width]); + const verticalScale = scaleBand() + .domain(colRange) + .range([y, y + height]); + + ctx.fillStyle = fillColor; + data.forEach((row, rowIdx) => { + row.forEach((col, colIdx) => { + ctx.fillStyle = interpolateInferno(col); + const rectDimensions = { + x: horizontalScale(rowIdx), + y: verticalScale(colIdx), + width: horizontalScale.bandwidth(), + height: verticalScale.bandwidth() + }; + ctx.fillRect( + rectDimensions.x, + rectDimensions.y, + rectDimensions.width, + rectDimensions.height + ); }); - - - -}); - -const Heatmap = createCanvasComponent({ - displayName: 'Heatmap', - layerType: 'heatmap', - - applyCustomProps: function (prevProps, props) { - var style = props.style || {}; - var layer = this.node; - layer.shadowColor = style.shadowColor || 0; - layer.shadowOffsetX = style.shadowOffsetX || 0; - layer.shadowOffsetY = style.shadowOffsetY || 0; - layer.shadowBlur = style.shadowBlur || 0; - layer.data = props.data || []; + }); +}; + +const heatmapApplyProps = (layer, style, prevProps, props) => { + layer.shadowColor = style.shadowColor || 0; + layer.shadowOffsetX = style.shadowOffsetX || 0; + layer.shadowOffsetY = style.shadowOffsetY || 0; + layer.shadowBlur = style.shadowBlur || 0; + layer.data = props.data || []; +}; + +const Heatmap = ReactCanvas.registerCustomComponent( + "Heatmap", + heatmapApplyProps, + heatmapDraw +); + +class App extends React.Component { + static propTypes = { + data: PropTypes.array, + x: PropTypes.number, + y: PropTypes.number, + width: PropTypes.number, + height: PropTypes.number + }; + + render() { + const { data, height, width, x, y } = this.props; + + return ( + + + + ); } +} + +storiesOf("Heatmap", module).add("heatmap", () => { + const props = { + height: 800, + width: 800, + x: 0, + y: 0, + size: { width: 80, height: 80 } + }; + return ( +
+ +
+ ); }); - - - -const App = React.createClass({ - - render: function () { - const {data, height, width, x, y} = this.props; - return ( - - - - ); - }, - -}); - - - -storiesOf('Heatmap', module) - .add('heatmap', () => { - const props = {height: 800, width: 800, x: 0, y: 0, size: {width: 80, height: 80}}; - return ( -
- -
- ); - }); diff --git a/stories/index.js b/stories/index.js index 600bcbd..fa12dcd 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,5 +1,5 @@ import "./canvasStory"; import "./listviewStory"; import "./customDrawStory"; -//import "./heatmapStory"; +import "./heatmapStory"; //import "./timeline"; From 6d8130ec4a724cb5eb77197b2d10012a6cb27095 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:09:03 -0700 Subject: [PATCH 17/60] Timeline example working --- stories/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stories/index.js b/stories/index.js index fa12dcd..a39297e 100644 --- a/stories/index.js +++ b/stories/index.js @@ -2,4 +2,4 @@ import "./canvasStory"; import "./listviewStory"; import "./customDrawStory"; import "./heatmapStory"; -//import "./timeline"; +import "./timeline"; From 156343917e9c1d35460baf7b93b4f416e750963c Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:27:21 -0700 Subject: [PATCH 18/60] Fix arg issue with prop changes --- src/CanvasRenderer.js | 8 +++- tools/rollup_build.js | 98 ------------------------------------------- 2 files changed, 7 insertions(+), 99 deletions(-) delete mode 100644 tools/rollup_build.js diff --git a/src/CanvasRenderer.js b/src/CanvasRenderer.js index 0e472f0..22e8dac 100644 --- a/src/CanvasRenderer.js +++ b/src/CanvasRenderer.js @@ -124,21 +124,27 @@ const CanvasHostConfig = { insertBefore(parentInstance, child, beforeChild) { const parentLayer = parentInstance.getLayer(); child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + parentLayer.invalidateLayout(); }, insertInContainerBefore(parentInstance, child, beforeChild) { const parentLayer = parentInstance.getLayer(); child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + parentLayer.invalidateLayout(); }, removeChild(parentInstance, child) { + const parentLayer = parentInstance.getLayer(); child.destroyEventListeners(); child.getLayer().remove(); + parentLayer.invalidateLayout(); }, removeChildFromContainer(parentInstance, child) { + const parentLayer = parentInstance.getLayer(); child.destroyEventListeners(); child.getLayer().remove(); + parentLayer.invalidateLayout(); }, commitTextUpdate(/*textInstance, oldText, newText*/) { @@ -151,7 +157,7 @@ const CanvasHostConfig = { commitUpdate(instance, updatePayload, type, oldProps, newProps) { if (typeof instance.applyLayerProps !== "undefined") { - instance.applyLayerProps(newProps, oldProps); + instance.applyLayerProps(oldProps, newProps); instance.getLayer().invalidateLayout(); } } diff --git a/tools/rollup_build.js b/tools/rollup_build.js deleted file mode 100644 index 98c32d7..0000000 --- a/tools/rollup_build.js +++ /dev/null @@ -1,98 +0,0 @@ -const rollup = require('rollup') -const pkg = require('../package.json') -const del = require('del') - -const sourcemaps = require('rollup-plugin-sourcemaps') -const babel = require('rollup-plugin-babel') -const builtins = require('rollup-plugin-node-builtins') -const nodeResolve = require('rollup-plugin-node-resolve') -const commonjs = require('rollup-plugin-commonjs') -const babili = require('rollup-plugin-babili') - -const bundles = [ - { - format: 'cjs', - dest: pkg.main, - plugins: [ - babel({ - exclude: 'node_modules/**', - babelrc: false, - plugins: [ - 'transform-class-properties', - 'external-helpers', - ], - presets: [ - ['es2015', {modules: false}] - ], - }), - ], - }, - { - format: 'es', - dest: pkg.module, - plugins: [ - babel({ - exclude: 'node_modules/**', - babelrc: false, - plugins: [ - 'transform-class-properties', - 'external-helpers', - ], - }), - ], - }, -] - -const prePlugins = [ - sourcemaps(), -] - -const postPlugins = [ - builtins(), - nodeResolve(), - commonjs(), - babili({comments: false}), -] - -let promise = Promise.resolve() -promise = promise.then(() => del(['dist/'])) - -function supressWarnings(supressed, cb) { - return function (warning) { - if (supressed.indexOf(warning.code) === -1) { - if (typeof cb === 'function') cb(warning) - else console.log(warning.message) - } - } -} - -function logWarningCodes(warning) { - console.log(warning.code) - console.log(warning.message) -} - -const externalDependencides = Object.keys(pkg.dependencies) - .concat(Object.keys(pkg.peerDependencies)) - .concat([ - 'react-dom/lib/ReactUpdates', - 'react-dom/lib/ReactMultiChild' - ]) - -for (const config of bundles) { - promise = promise.then(() => rollup.rollup({ - entry: 'lib/ReactCanvas.js', - external: externalDependencides, - plugins: prePlugins - .concat(config.plugins) - .concat(postPlugins), - onwarn: supressWarnings(['MISSING_GLOBAL_NAME'], logWarningCodes), - })) - .then(bundle => bundle.write({ - dest: config.dest, - format: config.format, - moduleName: config.moduleName, - sourceMap: true, - })) -} - -promise.catch((err) => console.error(err.stack)) From 0e9546a3cca866f06a9b8e2e6c4dbfbdacdd95a2 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:30:58 -0700 Subject: [PATCH 19/60] Update README --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 91a4c97..927620e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # react-canvas This is a fork of [Flipboard/react-canvas](https://github.com/Flipboard/react-canvas) which: -- Fixes all deprecation warnings from [React v15.5](https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#new-deprecation-warnings) in preparation for React v16 -- Converts to ES modules with a [Rollup](https://github.com/rollup/rollup) build process to create CommonJS and ES modules versions of this package. +- Upgrades to React 16 and uses a custom renderer with `react-reconciler` +- Converts to ES modules and modern ES6+ +- Storybook for ease of testing examples - Removes the need to use [brfs](https://github.com/substack/brfs) and `transform-loader` when using webpack. +This fork builds upon work by [CraigMorton](https://github.com/CraigMorton/react-canvas) and [CSBerger](https://github.com/CSberger/react-canvas) + # Original repo's README [Introductory blog post](http://engineering.flipboard.com/2015/02/mobile-web) From d9a38050f47c2d71f73e1709da293d172aae75f3 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sat, 19 May 2018 22:32:13 -0700 Subject: [PATCH 20/60] Fix up package --- package.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a1b851a..1dc341b 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,15 @@ { - "name": "@craigmorton/react-canvas", - "version": "1.4.0", + "name": "@gfodor/react-canvas", + "version": "1.5.0", "description": "High performance rendering for React components", "main": "index.js", "module": "dist/index.js", "repository": { "type": "git", - "url": "https://github.com/CraigMorton/react-canvas.git" + "url": "https://github.com/gfodor/react-canvas.git" }, "scripts": { "build": "./node_modules/.bin/webpack .", - "test": "./node_modules/.bin/jest", "storybook": "start-storybook -p 6006 -c .storybook", "build-storybook": "build-storybook -c .storybook" }, @@ -20,9 +19,9 @@ ], "author": "Michael Johnston ", "license": "BSD-3-Clause", - "homepage": "https://github.com/CraigMorton/react-canvas", + "homepage": "https://github.com/gfodor/react-canvas", "bugs": { - "url": "https://github.com/Flipboard/react-canvas/issues" + "url": "https://github.com/gfodor/react-canvas/issues" }, "devDependencies": { "@storybook/react": "^3.4.5", From 8ae16d4cf8b4735188d759b0751d86637ce64bcc Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 12:00:05 -0700 Subject: [PATCH 21/60] Move over CSS example --- examples/common/data.js | 52 ---- examples/common/examples.css | 16 -- examples/common/touch-emulator.js | 363 --------------------------- examples/css-layout/app.js | 107 -------- examples/css-layout/index.html | 17 -- examples/custom-draw-es6/app.js | 95 ------- examples/custom-draw-es6/index.html | 17 -- examples/custom-draw/app.js | 94 ------- examples/custom-draw/index.html | 17 -- examples/gradient/app.js | 41 --- examples/gradient/index.html | 17 -- examples/listview/app.js | 64 ----- examples/listview/components/Item.js | 65 ----- examples/listview/index.html | 17 -- stories/csslayout.js | 122 +++++++++ stories/index.js | 1 + 16 files changed, 123 insertions(+), 982 deletions(-) delete mode 100644 examples/common/data.js delete mode 100644 examples/common/examples.css delete mode 100644 examples/common/touch-emulator.js delete mode 100644 examples/css-layout/app.js delete mode 100644 examples/css-layout/index.html delete mode 100644 examples/custom-draw-es6/app.js delete mode 100644 examples/custom-draw-es6/index.html delete mode 100644 examples/custom-draw/app.js delete mode 100644 examples/custom-draw/index.html delete mode 100644 examples/gradient/app.js delete mode 100644 examples/gradient/index.html delete mode 100644 examples/listview/app.js delete mode 100644 examples/listview/components/Item.js delete mode 100644 examples/listview/index.html create mode 100644 stories/csslayout.js diff --git a/examples/common/data.js b/examples/common/data.js deleted file mode 100644 index b86730c..0000000 --- a/examples/common/data.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = [ - { - title: '10 Unbelievable Secrets That Will Make Your Airline Pilot Nervous', - excerpt: 'With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land.', - imageUrl: 'http://lorempixel.com/360/420/cats/1/' - }, - { - title: 'Will Batman Save Leaf Blowing?', - excerpt: 'The splendid fellow sprang to his feet, and grasping me by the shoulder raised his sword on high, exclaiming: "And had the choice been left to me I could not have chosen a more fitting mate for the first princess of Barsoom. Here is my hand upon your shoulder, John Carter, and my word that Sab Than shall go out at the point of my sword for the sake of my love for Helium, for Dejah Thoris, and for you. This very night I shall try to reach his quarters in the palace." "How?" I asked. "You are strongly guarded and a quadruple force patrols the sky." He bent his head in thought a moment, then raised it with an air of confidence.', - imageUrl: 'http://lorempixel.com/360/420/cats/2/' - }, - { - title: '8 Scary Things Your Professor Is Using Against You', - excerpt: 'For a minute he scarcely realised what this meant, and, although the heat was excessive, he clambered down into the pit close to the bulk to see the Thing more clearly. He fancied even then that the cooling of the body might account for this, but what disturbed that idea was the fact that the ash was falling only from the end of the cylinder. And then he perceived that, very slowly, the circular top of the cylinder was rotating on its body. It was such a gradual movement that he discovered it only through noticing that a black mark that had been near him five minutes ago was now at the other side of the circumference.', - imageUrl: 'http://lorempixel.com/360/420/cats/3/' - }, - { - title: 'Kanye West\'s Top 10 Scandalous Microsoft Excel Secrets', - excerpt: 'My wife was curiously silent throughout the drive, and seemed oppressed with forebodings of evil. I talked to her reassuringly, pointing out that the Martians were tied to the Pit by sheer heaviness, and at the utmost could but crawl a little out of it; but she answered only in monosyllables. Had it not been for my promise to the innkeeper, she would, I think, have urged me to stay in Leatherhead that night. Would that I had! Her face, I remember, was very white as we parted. For my own part, I had been feverishly excited all day.', - imageUrl: 'http://lorempixel.com/360/420/cats/4/' - }, - { - title: 'The Embarassing Secrets Of Julia Roberts', - excerpt: 'Passepartout heard the street door shut once; it was his new master going out. He heard it shut again; it was his predecessor, James Forster, departing in his turn. Passepartout remained alone in the house in Saville Row. "Faith," muttered Passepartout, somewhat flurried, "I\'ve seen people at Madame Tussaud\'s as lively as my new master!" Madame Tussaud\'s "people," let it be said, are of wax, and are much visited in London; speech is all that is wanting to make them human. During his brief interview with Mr. Fogg, Passepartout had been carefully observing him.', - imageUrl: 'http://lorempixel.com/360/420/cats/5/' - }, - { - title: '20 Unbelievable Things Girlfriends Won\'t Tell Their Friends', - excerpt: 'On March 3, 1866, Powell and I packed his provisions on two of our burros, and bidding me good-bye he mounted his horse, and started down the mountainside toward the valley, across which led the first stage of his journey. The morning of Powell\'s departure was, like nearly all Arizona mornings, clear and beautiful; I could see him and his little pack animals picking their way down the mountainside toward the valley, and all during the morning I would catch occasional glimpses of them as they topped a hog back or came out upon a level plateau.', - imageUrl: 'http://lorempixel.com/360/420/cats/6/' - }, - { - title: 'Can Vladimir Putin Save Beard Care?', - excerpt: 'So powerfully did the whole grim aspect of Ahab affect me, and the livid brand which streaked it, that for the first few moments I hardly noted that not a little of this overbearing grimness was owing to the barbaric white leg upon which he partly stood. It had previously come to me that this ivory leg had at sea been fashioned from the polished bone of the sperm whale\'s jaw. "Aye, he was dismasted off Japan," said the old Gay-Head Indian once; "but like his dismasted craft, he shipped another mast without coming home for it.', - imageUrl: 'http://lorempixel.com/360/420/cats/7/' - }, - { - title: '15 Truths That Will Make Your Psychiatrist Feel Ashamed', - excerpt: 'Again was I suddenly recalled to my immediate surroundings by a repetition of the weird moan from the depths of the cave. Naked and unarmed as I was, I had no desire to face the unseen thing which menaced me. My revolvers were strapped to my lifeless body which, for some unfathomable reason, I could not bring myself to touch. My carbine was in its boot, strapped to my saddle, and as my horse had wandered off I was left without means of defense. My only alternative seemed to lie in flight and my decision was crystallized by a recurrence of the rustling sound.', - imageUrl: 'http://lorempixel.com/360/420/cats/8/' - }, - { - title: '6 Terrible Facts That Make Boyfriends Stronger', - excerpt: 'First they came to a great hall in which were many ladies and gentlemen of the court, all dressed in rich costumes. These people had nothing to do but talk to each other, but they always came to wait outside the Throne Room every morning, although they were never permitted to see Oz. As Dorothy entered they looked at her curiously, and one of them whispered: "Are you really going to look upon the face of Oz the Terrible?" "Of course," answered the girl, "if he will see me." "Oh, he will see you," said the soldier who had taken her message to the Wizard.', - imageUrl: 'http://lorempixel.com/360/420/cats/9/' - }, - { - title: '5 Surprising Dental Care Tips From Robert De Niro', - excerpt: 'At once, with a quick mental leap, he linked the Thing with the flash upon Mars. The thought of the confined creature was so dreadful to him that he forgot the heat and went forward to the cylinder to help turn. But luckily the dull radiation arrested him before he could burn his hands on the still-glowing metal. At that he stood irresolute for a moment, then turned, scrambled out of the pit, and set off running wildly into Woking. The time then must have been somewhere about six o\'clock. He met a waggoner and tried to make him understand, but the tale he told and his appearance were so wild--his hat had fallen off in the pit--that the man simply drove on.', - imageUrl: 'http://lorempixel.com/360/420/cats/10/' - }, -]; diff --git a/examples/common/examples.css b/examples/common/examples.css deleted file mode 100644 index 77ba683..0000000 --- a/examples/common/examples.css +++ /dev/null @@ -1,16 +0,0 @@ -html, body { - margin: 0; - padding: 0; - font: 16px Helvetica, sans-serif; - height: 100%; - overflow: hidden; - background: #ddd; -} - -#main { - background: #fff; - position: relative; - height: 100%; - max-width: 420px; - max-height: 700px; -} diff --git a/examples/common/touch-emulator.js b/examples/common/touch-emulator.js deleted file mode 100644 index aa246df..0000000 --- a/examples/common/touch-emulator.js +++ /dev/null @@ -1,363 +0,0 @@ -// https://github.com/hammerjs/touchemulator - -(function(window, document, exportName, undefined) { - "use strict"; - - var isMultiTouch = false; - var multiTouchStartPos; - var eventTarget; - var touchElements = {}; - - // polyfills - if(!document.createTouch) { - document.createTouch = function(view, target, identifier, pageX, pageY, screenX, screenY, clientX, clientY) { - // auto set - if(clientX == undefined || clientY == undefined) { - clientX = pageX - window.pageXOffset; - clientY = pageY - window.pageYOffset; - } - - return new Touch(target, identifier, { - pageX: pageX, - pageY: pageY, - screenX: screenX, - screenY: screenY, - clientX: clientX, - clientY: clientY - }); - }; - } - - if(!document.createTouchList) { - document.createTouchList = function() { - var touchList = new TouchList(); - for (var i = 0; i < arguments.length; i++) { - touchList[i] = arguments[i]; - } - touchList.length = arguments.length; - return touchList; - }; - } - - /** - * create an touch point - * @constructor - * @param target - * @param identifier - * @param pos - * @param deltaX - * @param deltaY - * @returns {Object} touchPoint - */ - function Touch(target, identifier, pos, deltaX, deltaY) { - deltaX = deltaX || 0; - deltaY = deltaY || 0; - - this.identifier = identifier; - this.target = target; - this.clientX = pos.clientX + deltaX; - this.clientY = pos.clientY + deltaY; - this.screenX = pos.screenX + deltaX; - this.screenY = pos.screenY + deltaY; - this.pageX = pos.pageX + deltaX; - this.pageY = pos.pageY + deltaY; - } - - /** - * create empty touchlist with the methods - * @constructor - * @returns touchList - */ - function TouchList() { - var touchList = []; - - touchList.item = function(index) { - return this[index] || null; - }; - - // specified by Mozilla - touchList.identifiedTouch = function(id) { - return this[id + 1] || null; - }; - - return touchList; - } - - - /** - * Simple trick to fake touch event support - * this is enough for most libraries like Modernizr and Hammer - */ - function fakeTouchSupport() { - var objs = [window, document.documentElement]; - var props = ['ontouchstart', 'ontouchmove', 'ontouchcancel', 'ontouchend']; - - for(var o=0; o 2; // pointer events - } - - /** - * disable mouseevents on the page - * @param ev - */ - function preventMouseEvents(ev) { - ev.preventDefault(); - ev.stopPropagation(); - } - - /** - * only trigger touches when the left mousebutton has been pressed - * @param touchType - * @returns {Function} - */ - function onMouse(touchType) { - return function(ev) { - // prevent mouse events - preventMouseEvents(ev); - - if (ev.which !== 1) { - return; - } - - // The EventTarget on which the touch point started when it was first placed on the surface, - // even if the touch point has since moved outside the interactive area of that element. - // also, when the target doesnt exist anymore, we update it - if (ev.type == 'mousedown' || !eventTarget || (eventTarget && !eventTarget.dispatchEvent)) { - eventTarget = ev.target; - } - - // shiftKey has been lost, so trigger a touchend - if (isMultiTouch && !ev.shiftKey) { - triggerTouch('touchend', ev); - isMultiTouch = false; - } - - triggerTouch(touchType, ev); - - // we're entering the multi-touch mode! - if (!isMultiTouch && ev.shiftKey) { - isMultiTouch = true; - multiTouchStartPos = { - pageX: ev.pageX, - pageY: ev.pageY, - clientX: ev.clientX, - clientY: ev.clientY, - screenX: ev.screenX, - screenY: ev.screenY - }; - triggerTouch('touchstart', ev); - } - - // reset - if (ev.type == 'mouseup') { - multiTouchStartPos = null; - isMultiTouch = false; - eventTarget = null; - } - } - } - - /** - * trigger a touch event - * @param eventName - * @param mouseEv - */ - function triggerTouch(eventName, mouseEv) { - var touchEvent = document.createEvent('Event'); - touchEvent.initEvent(eventName, true, true); - - touchEvent.altKey = mouseEv.altKey; - touchEvent.ctrlKey = mouseEv.ctrlKey; - touchEvent.metaKey = mouseEv.metaKey; - touchEvent.shiftKey = mouseEv.shiftKey; - - touchEvent.touches = getActiveTouches(mouseEv, eventName); - touchEvent.targetTouches = getActiveTouches(mouseEv, eventName); - touchEvent.changedTouches = getChangedTouches(mouseEv, eventName); - - eventTarget.dispatchEvent(touchEvent); - } - - /** - * create a touchList based on the mouse event - * @param mouseEv - * @returns {TouchList} - */ - function createTouchList(mouseEv) { - var touchList = new TouchList(); - - if (isMultiTouch) { - var f = TouchEmulator.multiTouchOffset; - var deltaX = multiTouchStartPos.pageX - mouseEv.pageX; - var deltaY = multiTouchStartPos.pageY - mouseEv.pageY; - - touchList.push(new Touch(eventTarget, 1, multiTouchStartPos, (deltaX*-1) - f, (deltaY*-1) + f)); - touchList.push(new Touch(eventTarget, 2, multiTouchStartPos, deltaX+f, deltaY-f)); - } else { - touchList.push(new Touch(eventTarget, 1, mouseEv, 0, 0)); - } - - return touchList; - } - - /** - * receive all active touches - * @param mouseEv - * @returns {TouchList} - */ - function getActiveTouches(mouseEv, eventName) { - // empty list - if (mouseEv.type == 'mouseup') { - return new TouchList(); - } - - var touchList = createTouchList(mouseEv); - if(isMultiTouch && mouseEv.type != 'mouseup' && eventName == 'touchend') { - touchList.splice(1, 1); - } - return touchList; - } - - /** - * receive a filtered set of touches with only the changed pointers - * @param mouseEv - * @param eventName - * @returns {TouchList} - */ - function getChangedTouches(mouseEv, eventName) { - var touchList = createTouchList(mouseEv); - - // we only want to return the added/removed item on multitouch - // which is the second pointer, so remove the first pointer from the touchList - // - // but when the mouseEv.type is mouseup, we want to send all touches because then - // no new input will be possible - if(isMultiTouch && mouseEv.type != 'mouseup' && - (eventName == 'touchstart' || eventName == 'touchend')) { - touchList.splice(0, 1); - } - - return touchList; - } - - /** - * show the touchpoints on the screen - */ - function showTouches(ev) { - var touch, i, el, styles; - - // first all visible touches - for(i = 0; i < ev.touches.length; i++) { - touch = ev.touches[i]; - el = touchElements[touch.identifier]; - if(!el) { - el = touchElements[touch.identifier] = document.createElement("div"); - document.body.appendChild(el); - } - - styles = TouchEmulator.template(touch); - for(var prop in styles) { - el.style[prop] = styles[prop]; - } - } - - // remove all ended touches - if(ev.type == 'touchend' || ev.type == 'touchcancel') { - for(i = 0; i < ev.changedTouches.length; i++) { - touch = ev.changedTouches[i]; - el = touchElements[touch.identifier]; - if(el) { - el.parentNode.removeChild(el); - delete touchElements[touch.identifier]; - } - } - } - } - - /** - * TouchEmulator initializer - */ - function TouchEmulator() { - if (hasTouchSupport()) { - return; - } - - fakeTouchSupport(); - - window.addEventListener("mousedown", onMouse('touchstart'), true); - window.addEventListener("mousemove", onMouse('touchmove'), true); - window.addEventListener("mouseup", onMouse('touchend'), true); - - window.addEventListener("mouseenter", preventMouseEvents, true); - window.addEventListener("mouseleave", preventMouseEvents, true); - window.addEventListener("mouseout", preventMouseEvents, true); - window.addEventListener("mouseover", preventMouseEvents, true); - - // it uses itself! - window.addEventListener("touchstart", showTouches, false); - window.addEventListener("touchmove", showTouches, false); - window.addEventListener("touchend", showTouches, false); - window.addEventListener("touchcancel", showTouches, false); - } - - // start distance when entering the multitouch mode - TouchEmulator.multiTouchOffset = 75; - - /** - * css template for the touch rendering - * @param touch - * @returns object - */ - TouchEmulator.template = function(touch) { - var size = 30; - var transform = 'translate('+ (touch.clientX-(size/2)) +'px, '+ (touch.clientY-(size/2)) +'px)'; - return { - position: 'fixed', - left: 0, - top: 0, - background: '#fff', - border: 'solid 1px #999', - opacity: .6, - borderRadius: '100%', - height: size + 'px', - width: size + 'px', - padding: 0, - margin: 0, - display: 'block', - overflow: 'hidden', - pointerEvents: 'none', - webkitUserSelect: 'none', - mozUserSelect: 'none', - userSelect: 'none', - webkitTransform: transform, - mozTransform: transform, - transform: transform - } - }; - - // export - if (typeof define == "function" && define.amd) { - define(function() { - return TouchEmulator; - }); - } else if (typeof module != "undefined" && module.exports) { - module.exports = TouchEmulator; - } else { - window[exportName] = TouchEmulator; - } -})(window, document, "TouchEmulator"); \ No newline at end of file diff --git a/examples/css-layout/app.js b/examples/css-layout/app.js deleted file mode 100644 index 3c12b15..0000000 --- a/examples/css-layout/app.js +++ /dev/null @@ -1,107 +0,0 @@ -/** @jsx React.DOM */ - -var React = require('react'); -var ReactDOM = require('react-dom'); -var ReactCanvas = require('react-canvas'); - -var Surface = ReactCanvas.Surface; -var Group = ReactCanvas.Group; -var Image = ReactCanvas.Image; -var Text = ReactCanvas.Text; -var FontFace = ReactCanvas.FontFace; - -var App = React.createClass({ - - componentDidMount: function () { - window.addEventListener('resize', this.handleResize, true); - }, - - render: function () { - var size = this.getSize(); - return ( - - - - Professor PuddinPop - - - - - - With these words the Witch fell down in a brown, melted, shapeless mass and began to spread over the clean boards of the kitchen floor. Seeing that she had really melted away to nothing, Dorothy drew another bucket of water and threw it over the mess. She then swept it all out the door. After picking out the silver shoe, which was all that was left of the old woman, she cleaned and dried it with a cloth, and put it on her foot again. Then, being at last free to do as she chose, she ran out to the courtyard to tell the Lion that the Wicked Witch of the West had come to an end, and that they were no longer prisoners in a strange land. - - - - ); - }, - - // Styles - // ====== - - getSize: function () { - return document.getElementById('main').getBoundingClientRect(); - }, - - getPageStyle: function () { - var size = this.getSize(); - return { - position: 'relative', - padding: 14, - width: size.width, - height: size.height, - backgroundColor: '#f7f7f7', - flexDirection: 'column' - }; - }, - - getImageGroupStyle: function () { - return { - position: 'relative', - flex: 1, - backgroundColor: '#eee' - }; - }, - - getImageStyle: function () { - return { - position: 'absolute', - left: 0, - top: 0, - right: 0, - bottom: 0 - }; - }, - - getTitleStyle: function () { - return { - fontFace: FontFace('Georgia'), - fontSize: 22, - lineHeight: 28, - height: 28, - marginBottom: 10, - color: '#333', - textAlign: 'center' - }; - }, - - getExcerptStyle: function () { - return { - fontFace: FontFace('Georgia'), - fontSize: 17, - lineHeight: 25, - marginTop: 15, - flex: 1, - color: '#333' - }; - }, - - // Events - // ====== - - handleResize: function () { - this.forceUpdate(); - } - -}); - -ReactDOM.render(, document.getElementById('main')); diff --git a/examples/css-layout/index.html b/examples/css-layout/index.html deleted file mode 100644 index 1bd8096..0000000 --- a/examples/css-layout/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: css-layout - - - - - -
- - - diff --git a/examples/custom-draw-es6/app.js b/examples/custom-draw-es6/app.js deleted file mode 100644 index f1df6be..0000000 --- a/examples/custom-draw-es6/app.js +++ /dev/null @@ -1,95 +0,0 @@ -/** @jsx React.DOM */ - -'use strict'; - -var React = require('react'); -var ReactDom = require('react-dom'); - - - -import ReactCanvas from '../../lib/ReactCanvas'; -const {registerLayerType, Surface } = ReactCanvas; - -registerLayerType('circle', function (ctx, layer) { - var x = layer.frame.x; - var y = layer.frame.y; - var width = layer.frame.width; - var height = layer.frame.height; - var centerX = x + width / 2; - var centerY = y + height / 2; - - var fillColor = layer.backgroundColor || '#FFF'; - var strokeColor = layer.borderColor || '#FFF'; - var strokeWidth = layer.borderWidth || 0; - - var shadowColor = layer.shadowColor || 0; - var shadowOffsetX = layer.shadowOffsetX || 0; - var shadowOffsetY = layer.shadowOffsetY || 0; - var shadowBlur = layer.shadowBlur || 0; - - var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); - - - - ctx.beginPath(); - ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); - if (shadowOffsetX || shadowOffsetY) { - ctx.shadowColor = shadowColor; - ctx.shadowBlur = shadowBlur; - ctx.shadowOffsetX = shadowOffsetX; - ctx.shadowOffsetY = shadowOffsetY; - } - - ctx.fillStyle = fillColor; - ctx.fill(); - if (strokeWidth > 0) { - ctx.lineWidth = strokeWidth; - ctx.strokeStyle = strokeColor; - ctx.stroke(); - } -}); - -var Circle = ReactCanvas.createCanvasComponent({ - displayName: 'Circle', - layerType: 'circle', - - applyCustomProps: function (prevProps, props) { - var style = props.style || {}; - var layer = this.node; - layer.shadowColor = style.shadowColor || 0; - layer.shadowOffsetX = style.shadowOffsetX || 0; - layer.shadowOffsetY = style.shadowOffsetY || 0; - layer.shadowBlur = style.shadowBlur || 0; - } -}); - - - -var App = React.createClass({ - - render: function () { - return ( - - - - ); - }, - -}); - -ReactDom.render(, document.getElementById('main')); diff --git a/examples/custom-draw-es6/index.html b/examples/custom-draw-es6/index.html deleted file mode 100644 index b2ab84c..0000000 --- a/examples/custom-draw-es6/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: ListView - - - - - -
- - - diff --git a/examples/custom-draw/app.js b/examples/custom-draw/app.js deleted file mode 100644 index e9c6001..0000000 --- a/examples/custom-draw/app.js +++ /dev/null @@ -1,94 +0,0 @@ -/** @jsx React.DOM */ - -'use strict'; - -var React = require('react'); -var ReactDom = require('react-dom'); - - -import ReactCanvas from '../../lib/ReactCanvas'; -const {registerLayerType, Surface, Group} = ReactCanvas; - -registerLayerType('circle', function (ctx, layer) { - var x = layer.frame.x; - var y = layer.frame.y; - var width = layer.frame.width; - var height = layer.frame.height; - var centerX = x + width / 2; - var centerY = y + height / 2; - - var fillColor = layer.backgroundColor || '#FFF'; - var strokeColor = layer.borderColor || '#FFF'; - var strokeWidth = layer.borderWidth || 0; - - var shadowColor = layer.shadowColor || 0; - var shadowOffsetX = layer.shadowOffsetX || 0; - var shadowOffsetY = layer.shadowOffsetY || 0; - var shadowBlur = layer.shadowBlur || 0; - - var radius = Math.min(width / 2, height / 2) - Math.ceil(strokeWidth / 2); - - - - ctx.beginPath(); - ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); - if (shadowOffsetX || shadowOffsetY) { - ctx.shadowColor = shadowColor; - ctx.shadowBlur = shadowBlur; - ctx.shadowOffsetX = shadowOffsetX; - ctx.shadowOffsetY = shadowOffsetY; - } - - ctx.fillStyle = fillColor; - ctx.fill(); - if (strokeWidth > 0) { - ctx.lineWidth = strokeWidth; - ctx.strokeStyle = strokeColor; - ctx.stroke(); - } -}); - -var Circle = ReactCanvas.createCanvasComponent({ - displayName: 'Circle', - layerType: 'circle', - - applyCustomProps: function (prevProps, props) { - var style = props.style || {}; - var layer = this.node; - layer.shadowColor = style.shadowColor || 0; - layer.shadowOffsetX = style.shadowOffsetX || 0; - layer.shadowOffsetY = style.shadowOffsetY || 0; - layer.shadowBlur = style.shadowBlur || 0; - } -}); - - - -var App = React.createClass({ - - render: function () { - return ( - - - - ); - }, - -}); - -ReactDom.render(, document.getElementById('main')); diff --git a/examples/custom-draw/index.html b/examples/custom-draw/index.html deleted file mode 100644 index 71b6817..0000000 --- a/examples/custom-draw/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: ListView - - - - - -
- - - diff --git a/examples/gradient/app.js b/examples/gradient/app.js deleted file mode 100644 index a8138be..0000000 --- a/examples/gradient/app.js +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; -import {Gradient, Surface} from 'react-canvas'; - - -var App = React.createClass({ - - render: function () { - var size = this.getSize(); - return ( - - - - ); - }, - - getGradientStyle: function(){ - var size = this.getSize(); - return { - top: 0, - left: 0, - width: size.width, - height: size.height - }; - }, - - getGradientColors: function(){ - return [ - { color: "transparent", position: 0 }, - { color: "#000", position: 1 } - ]; - }, - - getSize: function () { - return {top: 0, right: 80, bottom: 80, left: 0, width: 80, height: 80} - } - -}); - -export default App; - diff --git a/examples/gradient/index.html b/examples/gradient/index.html deleted file mode 100644 index 34d8082..0000000 --- a/examples/gradient/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: ListView - - - - - -
- - - diff --git a/examples/listview/app.js b/examples/listview/app.js deleted file mode 100644 index 7459fb4..0000000 --- a/examples/listview/app.js +++ /dev/null @@ -1,64 +0,0 @@ -/** @jsx React.DOM */ - -'use strict'; - -var React = require('react'); -var ReactDOM = require('react-dom'); -var ReactCanvas = require('react-canvas'); -var Item = require('./components/Item'); -var articles = require('../common/data'); - -var Surface = ReactCanvas.Surface; -var ListView = ReactCanvas.ListView; - - -var App = React.createClass({ - - render: function () { - var size = this.getSize(); - return ( - - - - ); - }, - - renderItem: function (itemIndex, scrollTop) { - var article = articles[itemIndex % articles.length]; - return ( - - ); - }, - - getSize: function () { - return document.getElementById('main').getBoundingClientRect(); - }, - - // ListView - // ======== - - getListViewStyle: function () { - return { - top: 0, - left: 0, - width: window.innerWidth, - height: window.innerHeight - }; - }, - - getNumberOfItems: function () { - return 1000; - }, - -}); - -ReactDOM.render(, document.getElementById('main')); diff --git a/examples/listview/components/Item.js b/examples/listview/components/Item.js deleted file mode 100644 index e8abfc2..0000000 --- a/examples/listview/components/Item.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from 'react'; - -var ReactCanvas = require('react-canvas'); - -const { Group, Image, Text } = ReactCanvas; - -const Item = React.createClass({ - - propTypes: { - width: React.PropTypes.number.isRequired, - height: React.PropTypes.number.isRequired, - imageUrl: React.PropTypes.string.isRequired, - title: React.PropTypes.string.isRequired, - itemIndex: React.PropTypes.number.isRequired, - }, - - statics: { - getItemHeight: function () { - return 80; - } - }, - - render: function () { - return ( - - - {this.props.title} - - ); - }, - - getStyle: function () { - return { - width: this.props.width, - height: Item.getItemHeight(), - backgroundColor: (this.props.itemIndex % 2) ? '#eee' : '#a5d2ee' - }; - }, - - getImageStyle: function () { - return { - top: 10, - left: 10, - width: 60, - height: 60, - backgroundColor: '#ddd', - borderColor: '#999', - borderWidth: 1 - }; - }, - - getTitleStyle: function () { - return { - top: 32, - left: 80, - width: this.props.width - 90, - height: 18, - fontSize: 14, - lineHeight: 18 - }; - } - -}); - -module.exports = Item; diff --git a/examples/listview/index.html b/examples/listview/index.html deleted file mode 100644 index a285824..0000000 --- a/examples/listview/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - ReactCanvas: ListView - - - - - -
- - - diff --git a/stories/csslayout.js b/stories/csslayout.js new file mode 100644 index 0000000..74c98c5 --- /dev/null +++ b/stories/csslayout.js @@ -0,0 +1,122 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import ReactCanvas from "../src/index"; +const { FontFace, Text, Group, Image, Surface } = ReactCanvas; + +class App extends React.Component { + componentDidMount() { + window.addEventListener("resize", this.handleResize, true); + } + + render() { + const size = this.getSize(); + + return ( + + + Professor PuddinPop + + + + + With these words the Witch fell down in a brown, melted, shapeless + mass and began to spread over the clean boards of the kitchen floor. + Seeing that she had really melted away to nothing, Dorothy drew + another bucket of water and threw it over the mess. She then swept + it all out the door. After picking out the silver shoe, which was + all that was left of the old woman, she cleaned and dried it with a + cloth, and put it on her foot again. Then, being at last free to do + as she chose, she ran out to the courtyard to tell the Lion that the + Wicked Witch of the West had come to an end, and that they were no + longer prisoners in a strange land. + + + + ); + } + + // Styles + // ====== + + getSize = () => { + return { width: window.innerWidth - 200, height: window.innerHeight - 200 }; + }; + + getPageStyle = () => { + const size = this.getSize(); + return { + position: "relative", + padding: 14, + width: size.width, + height: size.height, + backgroundColor: "#f7f7f7", + flexDirection: "column" + }; + }; + + getImageGroupStyle = () => { + return { + position: "relative", + flex: 1, + backgroundColor: "#eee" + }; + }; + + getImageStyle = () => { + return { + position: "absolute", + left: 0, + top: 0, + right: 0, + bottom: 0 + }; + }; + + getTitleStyle = () => { + return { + fontFace: FontFace("Georgia"), + fontSize: 22, + lineHeight: 28, + height: 28, + marginBottom: 10, + color: "#333", + textAlign: "center" + }; + }; + + getExcerptStyle = () => { + return { + fontFace: FontFace("Georgia"), + fontSize: 17, + lineHeight: 25, + marginTop: 15, + flex: 1, + color: "#333" + }; + }; + + // Events + // ====== + + handleResize = () => { + this.forceUpdate(); + }; +} + +storiesOf("CSS", module).add("test-css", () => { + return ( +
+ +
+ ); +}); diff --git a/stories/index.js b/stories/index.js index a39297e..1afc631 100644 --- a/stories/index.js +++ b/stories/index.js @@ -3,3 +3,4 @@ import "./listviewStory"; import "./customDrawStory"; import "./heatmapStory"; import "./timeline"; +import "./csslayout"; From 6d0fa6148ef338e4fe94d5f686d2e2b4bf260fb1 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 13:01:27 -0700 Subject: [PATCH 22/60] Fixes for font layout --- src/CanvasUtils.js | 2 +- src/measureText.js | 2 +- stories/csslayout.js | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/CanvasUtils.js b/src/CanvasUtils.js index 45f58f2..62e88c5 100644 --- a/src/CanvasUtils.js +++ b/src/CanvasUtils.js @@ -137,7 +137,7 @@ function drawText(ctx, text, x, y, width, height, fontFace, _options) { ctx.fillStyle = options.color; ctx.font = fontFace.attributes.style + - " " + + " normal " + fontFace.attributes.weight + " " + options.fontSize + diff --git a/src/measureText.js b/src/measureText.js index 59a516b..32bbd39 100644 --- a/src/measureText.js +++ b/src/measureText.js @@ -58,7 +58,7 @@ export default function measureText( fontFace.attributes.weight + " " + fontSize + - "pt " + + "px " + fontFace.family; textMetrics = ctx.measureText(text); diff --git a/stories/csslayout.js b/stories/csslayout.js index 74c98c5..cbfada3 100644 --- a/stories/csslayout.js +++ b/stories/csslayout.js @@ -8,6 +8,10 @@ class App extends React.Component { window.addEventListener("resize", this.handleResize, true); } + componentWillUnmount() { + this._unmounted = true; + } + render() { const size = this.getSize(); @@ -49,7 +53,7 @@ class App extends React.Component { // ====== getSize = () => { - return { width: window.innerWidth - 200, height: window.innerHeight - 200 }; + return { width: window.innerWidth - 30, height: window.innerHeight - 30 }; }; getPageStyle = () => { @@ -109,7 +113,9 @@ class App extends React.Component { // ====== handleResize = () => { - this.forceUpdate(); + if (!this._unmounted) { + this.forceUpdate(); + } }; } From f0cb7c7792e5151b46f5d0989fa213b267990cbf Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 18:36:50 -0700 Subject: [PATCH 23/60] Component and layer pooling --- src/CanvasComponent.js | 19 +++++++++++----- src/CanvasRenderer.js | 50 +++++++++++++++++++++++++++++++++++++----- src/Image.js | 1 + src/RenderLayer.js | 21 +++++++++++++++--- 4 files changed, 77 insertions(+), 14 deletions(-) diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 8a7561d..d036157 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -5,10 +5,11 @@ import * as EventTypes from "./EventTypes"; let LAYER_GUID = 0; export default class CanvasComponent { - constructor() { + constructor(type) { + this.type = type; this.subscriptions = null; this.listeners = null; - this.node = new RenderLayer(); + this.node = new RenderLayer(this); this._layerId = LAYER_GUID++; } @@ -81,10 +82,16 @@ export default class CanvasComponent { ); }; - unmountComponent = () => { - console.log("Unmount canvas component"); + getLayer = () => this.node; + + /** + * Resets all the state on this CanvasComponent so it can be added to a pool for re-use. + * + * @return {RenderLayer} + */ + reset = () => { this.destroyEventListeners(); + this._originalStyle = null; + this.node.reset(this); }; - - getLayer = () => this.node; } diff --git a/src/CanvasRenderer.js b/src/CanvasRenderer.js index 22e8dac..5d9fd52 100644 --- a/src/CanvasRenderer.js +++ b/src/CanvasRenderer.js @@ -7,17 +7,49 @@ import Group from "./Group"; import { RawImage } from "./Image"; import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; import ReactFiberReconciler from "react-reconciler"; +import CanvasComponent from "./CanvasComponent"; import { getClosestInstanceFromNode } from "./ReactDOMComponentTree"; const UPDATE_SIGNAL = {}; +const MAX_POOLED_COMPONENTS_PER_TYPE = 1024; -const ctors = { +const componentConstructors = { Gradient: Gradient, Text: Text, Group: Group, RawImage: RawImage }; +const componentPool = {}; + +const freeComponentToPool = component => { + const type = component.type; + + if (!(component.type in componentPool)) { + componentPool[type] = []; + } + + const pool = componentPool[type]; + + if (pool.length < MAX_POOLED_COMPONENTS_PER_TYPE) { + pool.push(component); + } +}; + +const freeComponentAndChildren = c => { + if (!(c instanceof CanvasComponent)) return; + + const children = c.getLayer().children; + + for (let i = 0; i < children.length; i++) { + const childLayer = children[i]; + freeComponentAndChildren(childLayer.component); + } + + c.reset(); + freeComponentToPool(c); +}; + const CanvasHostConfig = { appendInitialChild(parentInstance, child) { if (typeof child === "string") { @@ -30,7 +62,15 @@ const CanvasHostConfig = { }, createInstance(type, props /*, internalInstanceHandle*/) { - const instance = new ctors[type](props); + let instance; + + const pool = componentPool[type]; + + if (pool && pool.length > 0) { + instance = componentPool[type].pop(); + } else { + instance = new componentConstructors[type](type); + } if (typeof instance.applyLayerProps !== "undefined") { instance.applyLayerProps({}, props); @@ -135,15 +175,15 @@ const CanvasHostConfig = { removeChild(parentInstance, child) { const parentLayer = parentInstance.getLayer(); - child.destroyEventListeners(); child.getLayer().remove(); + freeComponentAndChildren(child); parentLayer.invalidateLayout(); }, removeChildFromContainer(parentInstance, child) { const parentLayer = parentInstance.getLayer(); - child.destroyEventListeners(); child.getLayer().remove(); + freeComponentAndChildren(child); parentLayer.invalidateLayout(); }, @@ -177,7 +217,7 @@ CanvasRenderer.injectIntoDevTools({ }); CanvasRenderer.registerComponentConstructor = (name, ctor) => { - ctors[name] = ctor; + componentConstructors[name] = ctor; }; export default CanvasRenderer; diff --git a/src/Image.js b/src/Image.js index 653f7d9..1cacec1 100644 --- a/src/Image.js +++ b/src/Image.js @@ -47,6 +47,7 @@ export default class Image extends React.Component { componentWillUnmount() { if (this._pendingAnimationFrame) { cancelAnimationFrame(this._pendingAnimationFrame); + this._pendingAnimationFrame = null; } ImageCache.get(this.props.src).removeListener("load", this.handleImageLoad); } diff --git a/src/RenderLayer.js b/src/RenderLayer.js index a6b08d7..cf06462 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -2,12 +2,27 @@ import { zero } from "./FrameUtils"; import { invalidateBackingStore } from "./DrawingUtils"; import * as EventTypes from "./EventTypes"; -function RenderLayer() { - this.children = []; - this.frame = zero(); +function RenderLayer(component) { + this.reset(component); } RenderLayer.prototype = { + /** + * Resets all the state on this RenderLayer so it can be added to a pool for re-use. + * + * @return {RenderLayer} + */ + reset: function(component) { + for (const [key, value] of Object.entries(this)) { + if (typeof value === "function") continue; + this[key] = null; + } + + this.children = []; + this.frame = zero(); + this.component = component; + }, + /** * Retrieve the root injection layer * From dfa0b2fcb15709ce657de84147e422bb0ca496cc Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 21:35:50 -0700 Subject: [PATCH 24/60] Speed up and fix up caching to not allocate memory --- package.json | 1 + src/FontFace.js | 30 ++++++++++++++---------------- src/measureText.js | 13 +++++-------- yarn.lock | 14 ++++++++++---- 4 files changed, 30 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 1dc341b..e1c04f9 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@craigmorton/linebreak": "^0.4.5", "create-react-class": "^15.6.0", "fbjs": "^0.8.16", + "multi-key-cache": "^1.0.2", "object-assign": "^4.0.1", "prop-types": "^15.6.1", "react": "^16.3.2", diff --git a/src/FontFace.js b/src/FontFace.js index 7990c46..62b26cc 100644 --- a/src/FontFace.js +++ b/src/FontFace.js @@ -1,20 +1,18 @@ -"use strict"; - -const _fontFaces = {}; +import MultiKeyCache from "multi-key-cache"; +const _fontFaces = new MultiKeyCache(); /** * @internal */ function getCacheKey(family, url, attributes) { - return ( - family + - url + - Object.keys(attributes) - .sort() - .map(function(key) { - return attributes[key]; - }) - ); + const cacheKey = [family, url]; + + for (const entry of Object.entries(attributes)) { + cacheKey.push(entry[0]); + cacheKey.push(entry[1]); + } + + return cacheKey; } /** @@ -30,16 +28,16 @@ function FontFace(family, url, attributes) { attributes.style = attributes.style || "normal"; attributes.weight = attributes.weight || 400; - const fontId = getCacheKey(family, url, attributes); - fontFace = _fontFaces[fontId]; + const cacheKey = getCacheKey(family, url, attributes); + fontFace = _fontFaces.get(cacheKey); if (!fontFace) { fontFace = {}; - fontFace.id = fontId; + fontFace.id = JSON.stringify(cacheKey); fontFace.family = family; fontFace.url = url; fontFace.attributes = attributes; - _fontFaces[fontId] = fontFace; + _fontFaces.set(cacheKey, fontFace); } return fontFace; diff --git a/src/measureText.js b/src/measureText.js index 32bbd39..33711e0 100644 --- a/src/measureText.js +++ b/src/measureText.js @@ -1,20 +1,17 @@ import { isFontLoaded } from "./FontUtils"; import LineBreaker from "@craigmorton/linebreak"; +import MultiKeyCache from "multi-key-cache"; const canvas = document.createElement("canvas"); const ctx = canvas.getContext("2d"); -const _cache = {}; +const _cache = new MultiKeyCache(); const _zeroMetrics = { width: 0, height: 0, lines: [] }; -function getCacheKey(text, width, fontFace, fontSize, lineHeight) { - return text + width + fontFace.id + fontSize + lineHeight; -} - /** * Given a string of text, available width, and font return the measured width * and height. @@ -32,8 +29,8 @@ export default function measureText( fontSize, lineHeight ) { - const cacheKey = getCacheKey(text, width, fontFace, fontSize, lineHeight); - const cached = _cache[cacheKey]; + const cacheKey = [text, width, fontFace.id, fontSize, lineHeight]; + const cached = _cache.get(cacheKey); if (cached) { return cached; } @@ -103,7 +100,7 @@ export default function measureText( } } - _cache[cacheKey] = measuredSize; + _cache.set(cacheKey, measuredSize); return measuredSize; } diff --git a/yarn.lock b/yarn.lock index d818413..15cf19f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5659,6 +5659,10 @@ map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" +map-or-similar@^1.1.3: + version "1.5.0" + resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -5925,6 +5929,12 @@ ms@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" +multi-key-cache@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/multi-key-cache/-/multi-key-cache-1.0.2.tgz#4107c5f2b58f335a01735099ad34652dbbde579e" + dependencies: + map-or-similar "^1.1.3" + multimatch@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" @@ -7165,10 +7175,6 @@ react-reconciler@^0.10.0: object-assign "^4.1.1" prop-types "^15.6.0" -react-scheduler@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/react-scheduler/-/react-scheduler-0.1.0.tgz#d16c0ee90d2895ff1941e0d681293dbe4f4b4f38" - react-split-pane@^0.1.77: version "0.1.77" resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" From 471a818cd386136fe865dfcb2524147ce7c38f5d Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 22:05:17 -0700 Subject: [PATCH 25/60] Use NPM css-layout --- package.json | 1 + src/Layout.js | 692 ---------------------------------------------- src/layoutNode.js | 4 +- yarn.lock | 4 + 4 files changed, 6 insertions(+), 695 deletions(-) delete mode 100644 src/Layout.js diff --git a/package.json b/package.json index e1c04f9..198328d 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "dependencies": { "@craigmorton/linebreak": "^0.4.5", "create-react-class": "^15.6.0", + "css-layout": "^1.1.1", "fbjs": "^0.8.16", "multi-key-cache": "^1.0.2", "object-assign": "^4.0.1", diff --git a/src/Layout.js b/src/Layout.js deleted file mode 100644 index 86cdde0..0000000 --- a/src/Layout.js +++ /dev/null @@ -1,692 +0,0 @@ -// https://github.com/facebook/css-layout - -/** - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -const computeLayout = (function() { - function capitalizeFirst(str) { - return str.charAt(0).toUpperCase() + str.slice(1); - } - - function getSpacing(node, type, suffix, location) { - let key = type + capitalizeFirst(location) + suffix; - if (key in node.style) { - return node.style[key]; - } - - key = type + suffix; - if (key in node.style) { - return node.style[key]; - } - - return 0; - } - - function getPositiveSpacing(node, type, suffix, location) { - let key = type + capitalizeFirst(location) + suffix; - if (key in node.style && node.style[key] >= 0) { - return node.style[key]; - } - - key = type + suffix; - if (key in node.style && node.style[key] >= 0) { - return node.style[key]; - } - - return 0; - } - - function isUndefined(value) { - return value === undefined; - } - - function getMargin(node, location) { - return getSpacing(node, "margin", "", location); - } - - function getPadding(node, location) { - return getPositiveSpacing(node, "padding", "", location); - } - - function getBorder(node, location) { - return getPositiveSpacing(node, "border", "Width", location); - } - - function getPaddingAndBorder(node, location) { - return getPadding(node, location) + getBorder(node, location); - } - - function getMarginAxis(node, axis) { - return getMargin(node, leading[axis]) + getMargin(node, trailing[axis]); - } - - function getPaddingAndBorderAxis(node, axis) { - return ( - getPaddingAndBorder(node, leading[axis]) + - getPaddingAndBorder(node, trailing[axis]) - ); - } - - function getJustifyContent(node) { - if ("justifyContent" in node.style) { - return node.style.justifyContent; - } - return "flex-start"; - } - - function getAlignItem(node, child) { - if ("alignSelf" in child.style) { - return child.style.alignSelf; - } - if ("alignItems" in node.style) { - return node.style.alignItems; - } - return "stretch"; - } - - function getFlexDirection(node) { - if ("flexDirection" in node.style) { - return node.style.flexDirection; - } - return "column"; - } - - function getPositionType(node) { - if ("position" in node.style) { - return node.style.position; - } - return "relative"; - } - - function getFlex(node) { - return node.style.flex; - } - - function isFlex(node) { - return getPositionType(node) === CSS_POSITION_RELATIVE && getFlex(node) > 0; - } - - function isFlexWrap(node) { - return node.style.flexWrap === "wrap"; - } - - function getDimWithMargin(node, axis) { - return node.layout[dim[axis]] + getMarginAxis(node, axis); - } - - function isDimDefined(node, axis) { - return !isUndefined(node.style[dim[axis]]) && node.style[dim[axis]] >= 0; - } - - function isPosDefined(node, pos) { - return !isUndefined(node.style[pos]); - } - - function isMeasureDefined(node) { - return "measure" in node.style; - } - - function getPosition(node, pos) { - if (pos in node.style) { - return node.style[pos]; - } - return 0; - } - - // When the user specifically sets a value for width or height - function setDimensionFromStyle(node, axis) { - // The parent already computed us a width or height. We just skip it - if (!isUndefined(node.layout[dim[axis]])) { - return; - } - // We only run if there's a width or height defined - if (!isDimDefined(node, axis)) { - return; - } - - // The dimensions can never be smaller than the padding and border - node.layout[dim[axis]] = fmaxf( - node.style[dim[axis]], - getPaddingAndBorderAxis(node, axis) - ); - } - - // If both left and right are defined, then use left. Otherwise return - // +left or -right depending on which is defined. - function getRelativePosition(node, axis) { - if (leading[axis] in node.style) { - return getPosition(node, leading[axis]); - } - return -getPosition(node, trailing[axis]); - } - - var leading = { - row: "left", - column: "top" - }; - var trailing = { - row: "right", - column: "bottom" - }; - const pos = { - row: "left", - column: "top" - }; - var dim = { - row: "width", - column: "height" - }; - - function fmaxf(a, b) { - if (a > b) { - return a; - } - return b; - } - - const CSS_UNDEFINED = undefined; - - const CSS_FLEX_DIRECTION_ROW = "row"; - const CSS_FLEX_DIRECTION_COLUMN = "column"; - - const CSS_JUSTIFY_FLEX_START = "flex-start"; - const CSS_JUSTIFY_CENTER = "center"; - const CSS_JUSTIFY_FLEX_END = "flex-end"; - const CSS_JUSTIFY_SPACE_BETWEEN = "space-between"; - const CSS_JUSTIFY_SPACE_AROUND = "space-around"; - - const CSS_ALIGN_FLEX_START = "flex-start"; - const CSS_ALIGN_CENTER = "center"; - const CSS_ALIGN_FLEX_END = "flex-end"; - const CSS_ALIGN_STRETCH = "stretch"; - - var CSS_POSITION_RELATIVE = "relative"; - const CSS_POSITION_ABSOLUTE = "absolute"; - - return function layoutNode(node, parentMaxWidth) { - const /*css_flex_direction_t*/ mainAxis = getFlexDirection(node); - const /*css_flex_direction_t*/ crossAxis = - mainAxis === CSS_FLEX_DIRECTION_ROW - ? CSS_FLEX_DIRECTION_COLUMN - : CSS_FLEX_DIRECTION_ROW; - - // Handle width and height style attributes - setDimensionFromStyle(node, mainAxis); - setDimensionFromStyle(node, crossAxis); - - // The position is set by the parent, but we need to complete it with a - // delta composed of the margin and left/top/right/bottom - node.layout[leading[mainAxis]] += - getMargin(node, leading[mainAxis]) + getRelativePosition(node, mainAxis); - node.layout[leading[crossAxis]] += - getMargin(node, leading[crossAxis]) + - getRelativePosition(node, crossAxis); - - if (isMeasureDefined(node)) { - let /*float*/ width = CSS_UNDEFINED; - if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { - width = node.style.width; - } else if (!isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]])) { - width = node.layout[dim[CSS_FLEX_DIRECTION_ROW]]; - } else { - width = parentMaxWidth - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW); - } - width -= getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - - // We only need to give a dimension for the text if we haven't got any - // for it computed yet. It can either be from the style attribute or because - // the element is flexible. - const /*bool*/ isRowUndefined = - !isDimDefined(node, CSS_FLEX_DIRECTION_ROW) && - isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_ROW]]); - const /*bool*/ isColumnUndefined = - !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && - isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_COLUMN]]); - - // Let's not measure the text if we already know both dimensions - if (isRowUndefined || isColumnUndefined) { - const /*css_dim_t*/ measure_dim = node.style.measure( - /*(c)!node->context,*/ - width - ); - if (isRowUndefined) { - node.layout.width = - measure_dim.width + - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - } - if (isColumnUndefined) { - node.layout.height = - measure_dim.height + - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_COLUMN); - } - } - return; - } - - // Pre-fill some dimensions straight from the parent - for (var /*int*/ i = 0; i < node.children.length; ++i) { - var /*css_node_t**/ child = node.children[i]; - // Pre-fill cross axis dimensions when the child is using stretch before - // we call the recursive layout pass - if ( - getAlignItem(node, child) === CSS_ALIGN_STRETCH && - getPositionType(child) === CSS_POSITION_RELATIVE && - !isUndefined(node.layout[dim[crossAxis]]) && - !isDimDefined(child, crossAxis) - ) { - child.layout[dim[crossAxis]] = fmaxf( - node.layout[dim[crossAxis]] - - getPaddingAndBorderAxis(node, crossAxis) - - getMarginAxis(child, crossAxis), - // You never want to go smaller than padding - getPaddingAndBorderAxis(child, crossAxis) - ); - } else if (getPositionType(child) == CSS_POSITION_ABSOLUTE) { - // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both - // left and right or top and bottom). - for (var /*int*/ ii = 0; ii < 2; ii++) { - var /*css_flex_direction_t*/ axis = - ii != 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if ( - !isUndefined(node.layout[dim[axis]]) && - !isDimDefined(child, axis) && - isPosDefined(child, leading[axis]) && - isPosDefined(child, trailing[axis]) - ) { - child.layout[dim[axis]] = fmaxf( - node.layout[dim[axis]] - - getPaddingAndBorderAxis(node, axis) - - getMarginAxis(child, axis) - - getPosition(child, leading[axis]) - - getPosition(child, trailing[axis]), - // You never want to go smaller than padding - getPaddingAndBorderAxis(child, axis) - ); - } - } - } - } - - let /*float*/ definedMainDim = CSS_UNDEFINED; - if (!isUndefined(node.layout[dim[mainAxis]])) { - definedMainDim = - node.layout[dim[mainAxis]] - getPaddingAndBorderAxis(node, mainAxis); - } - - // We want to execute the next two loops one per line with flex-wrap - let /*int*/ startLine = 0; - let /*int*/ endLine = 0; - const /*int*/ nextOffset = 0; - let /*int*/ alreadyComputedNextLayout = 0; - // We aggregate the total dimensions of the container in those two variables - let /*float*/ linesCrossDim = 0; - let /*float*/ linesMainDim = 0; - while (endLine < node.children.length) { - // Layout non flexible children and count children by type - - // mainContentDim is accumulation of the dimensions and margin of all the - // non flexible children. This will be used in order to either set the - // dimensions of the node if none already exist, or to compute the - // remaining space left for the flexible children. - let /*float*/ mainContentDim = 0; - - // There are three kind of children, non flexible, flexible and absolute. - // We need to know how many there are in order to distribute the space. - let /*int*/ flexibleChildrenCount = 0; - let /*float*/ totalFlexible = 0; - let /*int*/ nonFlexibleChildrenCount = 0; - for (var /*int*/ i = startLine; i < node.children.length; ++i) { - var /*css_node_t**/ child = node.children[i]; - let /*float*/ nextContentDim = 0; - - // It only makes sense to consider a child flexible if we have a computed - // dimension for the node. - if (!isUndefined(node.layout[dim[mainAxis]]) && isFlex(child)) { - flexibleChildrenCount++; - totalFlexible += getFlex(child); - - // Even if we don't know its exact size yet, we already know the padding, - // border and margin. We'll use this partial information to compute the - // remaining space. - nextContentDim = - getPaddingAndBorderAxis(child, mainAxis) + - getMarginAxis(child, mainAxis); - } else { - var /*float*/ maxWidth = CSS_UNDEFINED; - if (mainAxis === CSS_FLEX_DIRECTION_ROW) { - // do nothing - } else if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { - maxWidth = - node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - } else { - maxWidth = - parentMaxWidth - - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW) - - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - } - - // This is the main recursive call. We layout non flexible children. - if (alreadyComputedNextLayout === 0) { - layoutNode(child, maxWidth); - } - - // Absolute positioned elements do not take part of the layout, so we - // don't use them to compute mainContentDim - if (getPositionType(child) === CSS_POSITION_RELATIVE) { - nonFlexibleChildrenCount++; - // At this point we know the final size and margin of the element. - nextContentDim = getDimWithMargin(child, mainAxis); - } - } - - // The element we are about to add would make us go to the next line - if ( - isFlexWrap(node) && - !isUndefined(node.layout[dim[mainAxis]]) && - mainContentDim + nextContentDim > definedMainDim && - // If there's only one element, then it's bigger than the content - // and needs its own line - i !== startLine - ) { - alreadyComputedNextLayout = 1; - break; - } - alreadyComputedNextLayout = 0; - mainContentDim += nextContentDim; - endLine = i + 1; - } - - // Layout flexible children and allocate empty space - - // In order to position the elements in the main axis, we have two - // controls. The space between the beginning and the first element - // and the space between each two elements. - let /*float*/ leadingMainDim = 0; - let /*float*/ betweenMainDim = 0; - - // The remaining available space that needs to be allocated - let /*float*/ remainingMainDim = 0; - if (!isUndefined(node.layout[dim[mainAxis]])) { - remainingMainDim = definedMainDim - mainContentDim; - } else { - remainingMainDim = fmaxf(mainContentDim, 0) - mainContentDim; - } - - // If there are flexible children in the mix, they are going to fill the - // remaining space - if (flexibleChildrenCount !== 0) { - let /*float*/ flexibleMainDim = remainingMainDim / totalFlexible; - - // The non flexible children can overflow the container, in this case - // we should just assume that there is no space available. - if (flexibleMainDim < 0) { - flexibleMainDim = 0; - } - // We iterate over the full array and only apply the action on flexible - // children. This is faster than actually allocating a new array that - // contains only flexible children. - for (var /*int*/ i = startLine; i < endLine; ++i) { - var /*css_node_t**/ child = node.children[i]; - if (isFlex(child)) { - // At this point we know the final size of the element in the main - // dimension - child.layout[dim[mainAxis]] = - flexibleMainDim * getFlex(child) + - getPaddingAndBorderAxis(child, mainAxis); - - var /*float*/ maxWidth = CSS_UNDEFINED; - if (mainAxis === CSS_FLEX_DIRECTION_ROW) { - // do nothing - } else if (isDimDefined(node, CSS_FLEX_DIRECTION_ROW)) { - maxWidth = - node.layout[dim[CSS_FLEX_DIRECTION_ROW]] - - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - } else { - maxWidth = - parentMaxWidth - - getMarginAxis(node, CSS_FLEX_DIRECTION_ROW) - - getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_ROW); - } - - // And we recursively call the layout algorithm for this child - layoutNode(child, maxWidth); - } - } - - // We use justifyContent to figure out how to allocate the remaining - // space available - } else { - const /*css_justify_t*/ justifyContent = getJustifyContent(node); - if (justifyContent === CSS_JUSTIFY_FLEX_START) { - // Do nothing - } else if (justifyContent === CSS_JUSTIFY_CENTER) { - leadingMainDim = remainingMainDim / 2; - } else if (justifyContent === CSS_JUSTIFY_FLEX_END) { - leadingMainDim = remainingMainDim; - } else if (justifyContent === CSS_JUSTIFY_SPACE_BETWEEN) { - remainingMainDim = fmaxf(remainingMainDim, 0); - if (flexibleChildrenCount + nonFlexibleChildrenCount - 1 !== 0) { - betweenMainDim = - remainingMainDim / - (flexibleChildrenCount + nonFlexibleChildrenCount - 1); - } else { - betweenMainDim = 0; - } - } else if (justifyContent === CSS_JUSTIFY_SPACE_AROUND) { - // Space on the edges is half of the space between elements - betweenMainDim = - remainingMainDim / - (flexibleChildrenCount + nonFlexibleChildrenCount); - leadingMainDim = betweenMainDim / 2; - } - } - - // Position elements in the main axis and compute dimensions - - // At this point, all the children have their dimensions set. We need to - // find their position. In order to do that, we accumulate data in - // variables that are also useful to compute the total dimensions of the - // container! - let /*float*/ crossDim = 0; - let /*float*/ mainDim = - leadingMainDim + getPaddingAndBorder(node, leading[mainAxis]); - - for (var /*int*/ i = startLine; i < endLine; ++i) { - var /*css_node_t**/ child = node.children[i]; - - if ( - getPositionType(child) === CSS_POSITION_ABSOLUTE && - isPosDefined(child, leading[mainAxis]) - ) { - // In case the child is position absolute and has left/top being - // defined, we override the position to whatever the user said - // (and margin/border). - child.layout[pos[mainAxis]] = - getPosition(child, leading[mainAxis]) + - getBorder(node, leading[mainAxis]) + - getMargin(child, leading[mainAxis]); - } else { - // If the child is position absolute (without top/left) or relative, - // we put it at the current accumulated offset. - child.layout[pos[mainAxis]] += mainDim; - } - - // Now that we placed the element, we need to update the variables - // We only need to do that for relative elements. Absolute elements - // do not take part in that phase. - if (getPositionType(child) === CSS_POSITION_RELATIVE) { - // The main dimension is the sum of all the elements dimension plus - // the spacing. - mainDim += betweenMainDim + getDimWithMargin(child, mainAxis); - // The cross dimension is the max of the elements dimension since there - // can only be one element in that cross dimension. - crossDim = fmaxf(crossDim, getDimWithMargin(child, crossAxis)); - } - } - - let /*float*/ containerMainAxis = node.layout[dim[mainAxis]]; - // If the user didn't specify a width or height, and it has not been set - // by the container, then we set it via the children. - if (isUndefined(node.layout[dim[mainAxis]])) { - containerMainAxis = fmaxf( - // We're missing the last padding at this point to get the final - // dimension - mainDim + getPaddingAndBorder(node, trailing[mainAxis]), - // We can never assign a width smaller than the padding and borders - getPaddingAndBorderAxis(node, mainAxis) - ); - } - - let /*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; - if (isUndefined(node.layout[dim[crossAxis]])) { - containerCrossAxis = fmaxf( - // For the cross dim, we add both sides at the end because the value - // is aggregate via a max function. Intermediate negative values - // can mess this computation otherwise - crossDim + getPaddingAndBorderAxis(node, crossAxis), - getPaddingAndBorderAxis(node, crossAxis) - ); - } - - // Position elements in the cross axis - - for (var /*int*/ i = startLine; i < endLine; ++i) { - var /*css_node_t**/ child = node.children[i]; - - if ( - getPositionType(child) === CSS_POSITION_ABSOLUTE && - isPosDefined(child, leading[crossAxis]) - ) { - // In case the child is absolutely positionned and has a - // top/left/bottom/right being set, we override all the previously - // computed positions to set it correctly. - child.layout[pos[crossAxis]] = - getPosition(child, leading[crossAxis]) + - getBorder(node, leading[crossAxis]) + - getMargin(child, leading[crossAxis]); - } else { - let /*float*/ leadingCrossDim = getPaddingAndBorder( - node, - leading[crossAxis] - ); - - // For a relative children, we're either using alignItems (parent) or - // alignSelf (child) in order to determine the position in the cross axis - if (getPositionType(child) === CSS_POSITION_RELATIVE) { - const /*css_align_t*/ alignItem = getAlignItem(node, child); - if (alignItem === CSS_ALIGN_FLEX_START) { - // Do nothing - } else if (alignItem === CSS_ALIGN_STRETCH) { - // You can only stretch if the dimension has not already been set - // previously. - if (!isDimDefined(child, crossAxis)) { - child.layout[dim[crossAxis]] = fmaxf( - containerCrossAxis - - getPaddingAndBorderAxis(node, crossAxis) - - getMarginAxis(child, crossAxis), - // You never want to go smaller than padding - getPaddingAndBorderAxis(child, crossAxis) - ); - } - } else { - // The remaining space between the parent dimensions+padding and child - // dimensions+margin. - const /*float*/ remainingCrossDim = - containerCrossAxis - - getPaddingAndBorderAxis(node, crossAxis) - - getDimWithMargin(child, crossAxis); - - if (alignItem === CSS_ALIGN_CENTER) { - leadingCrossDim += remainingCrossDim / 2; - } else { - // CSS_ALIGN_FLEX_END - leadingCrossDim += remainingCrossDim; - } - } - } - - // And we apply the position - child.layout[pos[crossAxis]] += linesCrossDim + leadingCrossDim; - } - } - - linesCrossDim += crossDim; - linesMainDim = fmaxf(linesMainDim, mainDim); - startLine = endLine; - } - - // If the user didn't specify a width or height, and it has not been set - // by the container, then we set it via the children. - if (isUndefined(node.layout[dim[mainAxis]])) { - node.layout[dim[mainAxis]] = fmaxf( - // We're missing the last padding at this point to get the final - // dimension - linesMainDim + getPaddingAndBorder(node, trailing[mainAxis]), - // We can never assign a width smaller than the padding and borders - getPaddingAndBorderAxis(node, mainAxis) - ); - } - - if (isUndefined(node.layout[dim[crossAxis]])) { - node.layout[dim[crossAxis]] = fmaxf( - // For the cross dim, we add both sides at the end because the value - // is aggregate via a max function. Intermediate negative values - // can mess this computation otherwise - linesCrossDim + getPaddingAndBorderAxis(node, crossAxis), - getPaddingAndBorderAxis(node, crossAxis) - ); - } - - // Calculate dimensions for absolutely positioned elements - - for (var /*int*/ i = 0; i < node.children.length; ++i) { - var /*css_node_t**/ child = node.children[i]; - if (getPositionType(child) == CSS_POSITION_ABSOLUTE) { - // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both - // left and right or top and bottom). - for (var /*int*/ ii = 0; ii < 2; ii++) { - var /*css_flex_direction_t*/ axis = - ii !== 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if ( - !isUndefined(node.layout[dim[axis]]) && - !isDimDefined(child, axis) && - isPosDefined(child, leading[axis]) && - isPosDefined(child, trailing[axis]) - ) { - child.layout[dim[axis]] = fmaxf( - node.layout[dim[axis]] - - getPaddingAndBorderAxis(node, axis) - - getMarginAxis(child, axis) - - getPosition(child, leading[axis]) - - getPosition(child, trailing[axis]), - // You never want to go smaller than padding - getPaddingAndBorderAxis(child, axis) - ); - } - } - for (var /*int*/ ii = 0; ii < 2; ii++) { - var /*css_flex_direction_t*/ axis = - ii !== 0 ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; - if ( - isPosDefined(child, trailing[axis]) && - !isPosDefined(child, leading[axis]) - ) { - child.layout[leading[axis]] = - node.layout[dim[axis]] - - child.layout[dim[axis]] - - getPosition(child, trailing[axis]); - } - } - } - } - }; -})(); - -export default computeLayout; diff --git a/src/layoutNode.js b/src/layoutNode.js index 7c1256c..404465e 100644 --- a/src/layoutNode.js +++ b/src/layoutNode.js @@ -1,6 +1,4 @@ -"use strict"; - -import computeLayout from "./Layout"; +import computeLayout from "css-layout"; function createNode(layer) { return { diff --git a/yarn.lock b/yarn.lock index 15cf19f..6609104 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2601,6 +2601,10 @@ css-in-js-utils@^2.0.0: hyphenate-style-name "^1.0.2" isobject "^3.0.1" +css-layout@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-layout/-/css-layout-1.1.1.tgz#ada5bb8c901e475d41043a88e034ade54d939392" + css-loader@^0.28.11: version "0.28.11" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" From e3f7ab6b31696cf269e172051561083ce0fe2291 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Sun, 20 May 2018 22:30:37 -0700 Subject: [PATCH 26/60] Remove dead code and fix image background --- src/CanvasComponent.js | 7 -- src/CanvasHostConfig.js | 158 ---------------------------------------- src/DrawingUtils.js | 3 +- src/Group.js | 3 + src/Image.js | 4 +- 5 files changed, 7 insertions(+), 168 deletions(-) delete mode 100644 src/CanvasHostConfig.js diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index d036157..9f9956d 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -75,13 +75,6 @@ export default class CanvasComponent { } }; - mountComponentIntoNode = () => { - throw new Error( - "You cannot render a Canvas component standalone. " + - "You need to wrap it in a Surface." - ); - }; - getLayer = () => this.node; /** diff --git a/src/CanvasHostConfig.js b/src/CanvasHostConfig.js deleted file mode 100644 index d96639c..0000000 --- a/src/CanvasHostConfig.js +++ /dev/null @@ -1,158 +0,0 @@ -import invariant from "fbjs/lib/invariant"; -import emptyObject from "fbjs/lib/emptyObject"; -import Gradient from "./Gradient"; -import Text from "./Text"; -import Group from "./Group"; -import { RawImage } from "./Image"; -import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; - -const UPDATE_SIGNAL = {}; - -const ctors = { - Gradient: Gradient, - Text: Text, - Group: Group, - RawImage: RawImage -}; - -const CanvasHostConfig = { - appendInitialChild(parentInstance, child) { - if (typeof child === "string") { - // Noop for string children of Text (eg {'foo'}{'bar'}) - invariant(false, "Text children should already be flattened."); - return; - } - - child.getLayer().inject(parentInstance.getLayer()); - }, - - createInstance(type, props /*, internalInstanceHandle*/) { - const instance = new ctors[type](props); - - if (typeof instance.applyLayerProps !== "undefined") { - instance.applyLayerProps({}, props); - instance.getLayer().invalidateLayout(); - } - - return instance; - }, - - createTextInstance(text /*, rootContainerInstance, internalInstanceHandle*/) { - return text; - }, - - finalizeInitialChildren(/*domElement, type, props*/) { - return false; - }, - - getPublicInstance(instance) { - return instance; - }, - - prepareForCommit() { - // Noop - }, - - prepareUpdate(/*domElement, type, oldProps, newProps*/) { - return UPDATE_SIGNAL; - }, - - resetAfterCommit() { - // Noop - }, - - resetTextContent(/*domElement*/) { - // Noop - }, - - shouldDeprioritizeSubtree(/*type, props*/) { - return false; - }, - - getRootHostContext() { - return emptyObject; - }, - - getChildHostContext() { - return emptyObject; - }, - - scheduleDeferredCallback: ReactDOMFrameScheduling.rIC, - - shouldSetTextContent(type, props) { - return ( - typeof props.children === "string" || typeof props.children === "number" - ); - }, - - now: ReactDOMFrameScheduling.now, - - isPrimaryRenderer: false, - - useSyncScheduling: true, - - mutation: { - appendChild(parentInstance, child) { - const childLayer = child.getLayer(); - const parentLayer = parentInstance.getLayer(); - - if (childLayer.parentLayer === parentLayer) { - childLayer.moveToTop(); - } else { - childLayer.inject(parentLayer); - } - - parentLayer.invalidateLayout(); - }, - - appendChildToContainer(parentInstance, child) { - const childLayer = child.getLayer(); - const parentLayer = parentInstance.getLayer(); - - if (childLayer.parentLayer === parentLayer) { - childLayer.moveToTop(); - } else { - childLayer.inject(parentLayer); - } - - parentLayer.invalidateLayout(); - }, - - insertBefore(parentInstance, child, beforeChild) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); - }, - - insertInContainerBefore(parentInstance, child, beforeChild) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); - }, - - removeChild(parentInstance, child) { - child.destroyEventListeners(); - child.getLayer().remove(); - }, - - removeChildFromContainer(parentInstance, child) { - child.destroyEventListeners(); - child.getLayer().remove(); - }, - - commitTextUpdate(/*textInstance, oldText, newText*/) { - // Noop - }, - - commitMount(/*instance, type, newProps*/) { - // Noop - }, - - commitUpdate(instance, updatePayload, type, oldProps, newProps) { - if (typeof instance.applyLayerProps !== "undefined") { - instance.applyLayerProps(newProps, oldProps); - instance.getLayer().invalidateLayout(); - } - } - } -}; - -export default CanvasHostConfig; diff --git a/src/DrawingUtils.js b/src/DrawingUtils.js index 4879f6b..70f7710 100644 --- a/src/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -293,7 +293,8 @@ function drawGradientRenderLayer(ctx, layer) { const layerTypesToDrawFunction = { image: drawImageRenderLayer, text: drawTextRenderLayer, - gradient: drawGradientRenderLayer + gradient: drawGradientRenderLayer, + group: drawBaseRenderLayer }; function getDrawFunction(type) { diff --git a/src/Group.js b/src/Group.js index 5bb066a..4017229 100644 --- a/src/Group.js +++ b/src/Group.js @@ -2,6 +2,9 @@ import CanvasComponent from "./CanvasComponent"; class Group extends CanvasComponent { applyLayerProps = (prevProps, props) => { + const layer = this.node; + layer.type = "group"; + this.applyCommonLayerProps(prevProps, props); }; diff --git a/src/Image.js b/src/Image.js index 1cacec1..b7e6193 100644 --- a/src/Image.js +++ b/src/Image.js @@ -87,10 +87,10 @@ export default class Image extends React.Component { style.backgroundColor = imageStyle.backgroundColor = null; backgroundStyle.alpha = clamp(1 - this.state.imageAlpha, 0, 1); - // TODO background - // return ( + + Date: Wed, 23 May 2018 18:32:32 -0700 Subject: [PATCH 27/60] Allow setting of canvas --- index.js | 13 ++++++++++++- package.json | 2 +- src/Surface.js | 11 ++++++++++- stories/canvasStory.js | 3 +-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index a413224..6c0c8d6 100644 --- a/index.js +++ b/index.js @@ -1,2 +1,13 @@ import ReactCanvas from "./src/index"; -export default ReactCanvas; + +export const Text = ReactCanvas.Text; +export const Group = ReactCanvas.Group; +export const Gradient = ReactCanvas.Gradient; +export const Layer = ReactCanvas.Layer; +export const Surface = ReactCanvas.Surface; +export const Image = ReactCanvas.Image; +export const ListView = ReactCanvas.ListView; +export const FontFace = ReactCanvas.FontFace; +export const FrameUtils = ReactCanvas.FrameUtils; +export const measureText = ReactCanvas.measureText; +export const registerCustomComponent = ReactCanvas.registerCustomComponent; diff --git a/package.json b/package.json index 198328d..eb8fada 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.5.0", "description": "High performance rendering for React components", "main": "index.js", - "module": "dist/index.js", + "module": "dist/bundle.js", "repository": { "type": "git", "url": "https://github.com/gfodor/react-canvas.git" diff --git a/src/Surface.js b/src/Surface.js index e9f276c..ac3006b 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -27,7 +27,8 @@ class Surface extends React.Component { scale: PropTypes.number.isRequired, enableCSSLayout: PropTypes.bool, children: PropTypes.object, - style: PropTypes.object + style: PropTypes.object, + canvas: PropTypes.object }; static defaultProps = { @@ -40,6 +41,14 @@ class Surface extends React.Component { this.canvas = canvas; }; + constructor(props) { + super(props); + + if (props.canvas) { + this.setCanvasRef(props.canvas); + } + } + componentDidMount = () => { // Prepare the for drawing. this.scale(); diff --git a/stories/canvasStory.js b/stories/canvasStory.js index 276ccb4..f59a15e 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,7 +1,6 @@ import React from "react"; import { storiesOf } from "@storybook/react"; -import ReactCanvas from "../src/index"; -const { Gradient, Text, Group, Image, Surface } = ReactCanvas; +import { Gradient, Text, Group, Image, Surface } from "../index"; storiesOf("Gradient", module) .add("transparent-grey", () => { From 05b52ea51ac499730e7aa7681f817c7d14642ff4 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Wed, 23 May 2018 18:50:52 -0700 Subject: [PATCH 28/60] Don't render canvas if not needed --- package.json | 3 +-- src/Surface.js | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index eb8fada..6da3fc9 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,7 @@ "name": "@gfodor/react-canvas", "version": "1.5.0", "description": "High performance rendering for React components", - "main": "index.js", - "module": "dist/bundle.js", + "main": "dist/bundle.js", "repository": { "type": "git", "url": "https://github.com/gfodor/react-canvas.git" diff --git a/src/Surface.js b/src/Surface.js index ac3006b..b471819 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -102,6 +102,10 @@ class Surface extends React.Component { }; render() { + if (this.props.canvas) { + return null; + } + // Scale the drawing area to match DPI. const width = this.props.width * this.props.scale; const height = this.props.height * this.props.scale; From 3e3616e499617b1695e980cf108ab80ac7ea5381 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Wed, 23 May 2018 22:42:24 -0700 Subject: [PATCH 29/60] Check in bundle --- .gitignore | 1 - dist/bundle.js | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 dist/bundle.js diff --git a/.gitignore b/.gitignore index a0ad9eb..0c24677 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ node_modules npm-debug.log -dist/ .idea storybook-static diff --git a/dist/bundle.js b/dist/bundle.js new file mode 100644 index 0000000..01c1821 --- /dev/null +++ b/dist/bundle.js @@ -0,0 +1,23 @@ +!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=n(16),o=(r=i)&&r.__esModule?r:{default:r},a=n(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions||(e.subscriptions={});(e.listeners||(e.listeners={}))[t]=n,n?r[t]||(r[t]=e.node.subscribe(t,n,e)):r[t]&&(r[t](),delete r[t])},this.destroyEventListeners=function(){e.listeners=null,e.subscriptions=null,e.node.destroyEventListeners()},this.applyCommonLayerProps=function(t,n){var r=e.node,i=n&&n.style?n.style:{};for(var o in r._originalStyle=i,r.alpha=i.alpha,r.backgroundColor=i.backgroundColor,r.borderColor=i.borderColor,r.borderWidth=i.borderWidth,r.borderRadius=i.borderRadius,r.clipRect=i.clipRect,r.frame=(0,a.make)(i.left||0,i.top||0,i.width||0,i.height||0),r.scale=i.scale,r.translateX=i.translateX,r.translateY=i.translateY,r.zIndex=i.zIndex,r.shadowColor=i.shadowColor,r.shadowBlur=i.shadowBlur,r.shadowOffsetX=i.shadowOffsetX,r.shadowOffsetY=i.shadowOffsetY,n.useBackingStore&&(r.backingStoreId=e._layerId),l)e.putEventListener(l[o],n[o])},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=null,this.listeners=null,this.node=new o.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&t.children.slice().sort(m).forEach(function(e){v(s,e)}),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,_=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,y,g,_)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=n(1),o=n(6),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));function l(e){this.reset(e)}l.prototype={reset:function(e){var t=!0,n=!1,o=void 0;try{for(var a,l=Object.entries(this)[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var s=r(a.value,2),u=s[0];"function"!=typeof s[1]&&(this[u]=null)}}catch(e){n=!0,o=e}finally{try{!t&&l.return&&l.return()}finally{if(n)throw o}}this.children=[],this.frame=(0,i.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in a)a[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in a)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,g.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(g.done)return n(i,d),c;if(null===d){for(;!g.done;m++,g=l.next())null!==(g=h(i,g.value,s))&&(a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return c}for(d=r(i,d);!g.done;m++,g=l.next())null!==(g=v(d,i,m,g.value,s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return g(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),g(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function v(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function g(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var v=void 0;if(s!==u&&(v=f(e,0,u,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:i({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=i({},g.baseState,v))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==v)&&c(t,s,d,v),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var g=void 0;if(u!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:i({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,g))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,u,d,m,n,v))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,v),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=v,g):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=g(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=g(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=g(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=g(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),g(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t)}else v(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))v(t,r,s,n);else if(l===a){e=g(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=g(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ve=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ve);var i=e;if(1073741823===ve||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ve&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),g();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),g();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var v=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var g=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(v,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(v,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=r.props.style.height||o<=-r.props.style.height||e.push(a);return e},r.updateScrollingDeceleration=function(){for(var e=r.scroller.__decelerationVelocityY,t=0,n=r.state.scrollTop;Math.abs(e).toFixed(6)>0;)n+=e,e*=r.props.scrollingDeceleration;for(var i=1/0,o=r.props.itemHeightGetter(),a=void 0,l=0,s=r.props.numberOfItemsGetter();l=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===v&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ve=!T(r.layout[w[K]]),ge=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ve&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==v||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==v||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ve&&X(r,ue,K),Fe+=U(ue,K),We=B(We,V(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ge&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ve?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=V(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=V(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Fe+=Be,le=De;le1&&ge){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(u),g(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,v=35,g=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===g||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===v?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +/** @license React v16.3.2 + * react.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var r=n(18),i=n(3),o=n(8),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.provider"):60109,h=l?Symbol.for("react.context"):60110,p=l?Symbol.for("react.async_mode"):60111,m=l?Symbol.for("react.forward_ref"):60112,y="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rP.length&&P.push(e)}function I(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+R(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t Date: Thu, 24 May 2018 15:08:17 -0700 Subject: [PATCH 30/60] Reduce allocations --- dist/bundle.js | 8 ++++---- src/CanvasComponent.js | 32 +++++++++++++++++++++++--------- src/RenderLayer.js | 23 ++++++++++++++++++++--- src/Text.js | 18 +++++++++++++++++- src/layoutNode.js | 4 +++- 5 files changed, 67 insertions(+), 18 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 01c1821..e8a6141 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,4 +1,4 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=n(16),o=(r=i)&&r.__esModule?r:{default:r},a=n(1),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions||(e.subscriptions={});(e.listeners||(e.listeners={}))[t]=n,n?r[t]||(r[t]=e.node.subscribe(t,n,e)):r[t]&&(r[t](),delete r[t])},this.destroyEventListeners=function(){e.listeners=null,e.subscriptions=null,e.node.destroyEventListeners()},this.applyCommonLayerProps=function(t,n){var r=e.node,i=n&&n.style?n.style:{};for(var o in r._originalStyle=i,r.alpha=i.alpha,r.backgroundColor=i.backgroundColor,r.borderColor=i.borderColor,r.borderWidth=i.borderWidth,r.borderRadius=i.borderRadius,r.clipRect=i.clipRect,r.frame=(0,a.make)(i.left||0,i.top||0,i.width||0,i.height||0),r.scale=i.scale,r.translateX=i.translateX,r.translateY=i.translateY,r.zIndex=i.zIndex,r.shadowColor=i.shadowColor,r.shadowBlur=i.shadowBlur,r.shadowOffsetX=i.shadowOffsetX,r.shadowOffsetY=i.shadowOffsetY,n.useBackingStore&&(r.backingStoreId=e._layerId),l)e.putEventListener(l[o],n[o])},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=null,this.listeners=null,this.node=new o.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&t.children.slice().sort(m).forEach(function(e){v(s,e)}),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,_=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,y,g,_)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=n(1),o=n(6),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));function l(e){this.reset(e)}l.prototype={reset:function(e){var t=!0,n=!1,o=void 0;try{for(var a,l=Object.entries(this)[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var s=r(a.value,2),u=s[0];"function"!=typeof s[1]&&(this[u]=null)}}catch(e){n=!0,o=e}finally{try{!t&&l.return&&l.return()}finally{if(n)throw o}}this.children=[],this.frame=(0,i.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in a)a[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in a)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&t.children.slice().sort(m).forEach(function(e){v(s,e)}),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,_=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,y,g,_)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,g.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(g.done)return n(i,d),c;if(null===d){for(;!g.done;m++,g=l.next())null!==(g=h(i,g.value,s))&&(a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return c}for(d=r(i,d);!g.done;m++,g=l.next())null!==(g=v(d,i,m,g.value,s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return g(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),g(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function v(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function g(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var v=void 0;if(s!==u&&(v=f(e,0,u,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:i({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=i({},g.baseState,v))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==v)&&c(t,s,d,v),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var g=void 0;if(u!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:i({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,g))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,u,d,m,n,v))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,v),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=v,g):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=g(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=g(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=g(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=g(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),g(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t)}else v(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))v(t,r,s,n);else if(l===a){e=g(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=g(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ve=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ve);var i=e;if(1073741823===ve||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ve&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),g();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),g();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var v=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var g=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(v,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(v,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=r.props.style.height||o<=-r.props.style.height||e.push(a);return e},r.updateScrollingDeceleration=function(){for(var e=r.scroller.__decelerationVelocityY,t=0,n=r.state.scrollTop;Math.abs(e).toFixed(6)>0;)n+=e,e*=r.props.scrollingDeceleration;for(var i=1/0,o=r.props.itemHeightGetter(),a=void 0,l=0,s=r.props.numberOfItemsGetter();l=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===v&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ve=!T(r.layout[w[K]]),ge=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ve&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==v||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==v||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ve&&X(r,ue,K),Fe+=U(ue,K),We=B(We,V(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ge&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ve?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=V(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=V(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Fe+=Be,le=De;le1&&ge){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(5));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(u),g(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,v=35,g=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===g||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===v?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(3),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; -/** @license React v16.3.2 +var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20);function u(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,g.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(g.done)return n(i,d),c;if(null===d){for(;!g.done;m++,g=l.next())null!==(g=h(i,g.value,s))&&(a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return c}for(d=r(i,d);!g.done;m++,g=l.next())null!==(g=v(d,i,m,g.value,s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return g(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),g(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function v(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function g(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var v=void 0;if(s!==u&&(v=f(e,0,u,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:i({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=i({},g.baseState,v))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==v)&&c(t,s,d,v),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var g=void 0;if(u!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:i({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,g))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,u,d,m,n,v))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,v),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=v,g):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=g(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=g(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=g(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=g(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),g(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t)}else v(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))v(t,r,s,n);else if(l===a){e=g(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=g(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ve=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ve);var i=e;if(1073741823===ve||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ve&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),g();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),g();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var v=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var g=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(v,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(v,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=r.props.style.height||o<=-r.props.style.height||e.push(a);return e},r.updateScrollingDeceleration=function(){for(var e=r.scroller.__decelerationVelocityY,t=0,n=r.state.scrollTop;Math.abs(e).toFixed(6)>0;)n+=e,e*=r.props.scrollingDeceleration;for(var i=1/0,o=r.props.itemHeightGetter(),a=void 0,l=0,s=r.props.numberOfItemsGetter();l=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===v&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ve=!T(r.layout[w[K]]),ge=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ve&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==v||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==v||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ve&&X(r,ue,K),Fe+=U(ue,K),We=B(We,V(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ge&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ve?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=V(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=V(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Fe+=Be,le=De;le1&&ge){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(u),g(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,v=35,g=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===g||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===v?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +/** @license React v16.4.0 * react.production.min.js * * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r=n(18),i=n(3),o=n(8),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.provider"):60109,h=l?Symbol.for("react.context"):60110,p=l?Symbol.for("react.async_mode"):60111,m=l?Symbol.for("react.forward_ref"):60112,y="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rP.length&&P.push(e)}function I(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+R(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t { const subscriptions = this.subscriptions || (this.subscriptions = {}); const listeners = this.listeners || (this.listeners = {}); - listeners[type] = listener; + + if (listeners[type] !== listener) { + listeners[type] = listener; + } + if (listener) { if (!subscriptions[type]) { subscriptions[type] = this.node.subscribe(type, listener, this); @@ -37,8 +42,14 @@ export default class CanvasComponent { applyCommonLayerProps = (prevProps, props) => { const layer = this.node; - const style = props && props.style ? props.style : {}; - layer._originalStyle = style; + + layer._originalStyle = null; + let style = emptyObject; + + if (props && props.style) { + style = props.style; + layer._originalStyle = style; + } // Common layer properties layer.alpha = style.alpha; @@ -47,12 +58,15 @@ export default class CanvasComponent { layer.borderWidth = style.borderWidth; layer.borderRadius = style.borderRadius; layer.clipRect = style.clipRect; - layer.frame = make( - style.left || 0, - style.top || 0, - style.width || 0, - style.height || 0 - ); + + if (!layer.frame) { + layer.frame = make(0, 0, 0, 0); + } + + layer.frame.x = style.left || 0; + layer.frame.y = style.top || 0; + layer.frame.width = style.width || 0; + layer.frame.height = style.height || 0; layer.scale = style.scale; layer.translateX = style.translateX; layer.translateY = style.translateY; diff --git a/src/RenderLayer.js b/src/RenderLayer.js index cf06462..990b4f3 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -13,13 +13,30 @@ RenderLayer.prototype = { * @return {RenderLayer} */ reset: function(component) { - for (const [key, value] of Object.entries(this)) { + for (const key in this) { + if (key === "children" || key === "frame" || key === "component") + continue; + const value = this[key]; + if (typeof value === "function") continue; this[key] = null; } - this.children = []; - this.frame = zero(); + if (this.children) { + this.children.length = 0; + } else { + this.children = []; + } + + if (this.frame) { + this.frame.x = null; + this.frame.y = null; + this.frame.width = null; + this.frame.height = null; + } else { + this.frame = zero(); + } + this.component = component; }, diff --git a/src/Text.js b/src/Text.js index 9872b64..1a2efa4 100644 --- a/src/Text.js +++ b/src/Text.js @@ -13,13 +13,29 @@ function childrenAsString(children) { return ""; } +function textArraysEqual(a, b) { + if (typeof a !== typeof b || a.length !== b.length) return false; + + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + + return true; +} + class Text extends CanvasComponent { applyLayerProps = (prevProps, props) => { const style = props && props.style ? props.style : {}; const layer = this.node; layer.type = "text"; - layer.text = childrenAsString(props.children); + + if ( + layer.text === null || + !textArraysEqual(prevProps.children, props.children) + ) { + layer.text = childrenAsString(props.children); + } layer.color = style.color; layer.fontFace = style.fontFace; diff --git a/src/layoutNode.js b/src/layoutNode.js index 404465e..1aa4340 100644 --- a/src/layoutNode.js +++ b/src/layoutNode.js @@ -1,4 +1,5 @@ import computeLayout from "css-layout"; +import emptyObject from "fbjs/lib/emptyObject"; function createNode(layer) { return { @@ -9,7 +10,8 @@ function createNode(layer) { top: 0, left: 0 }, - style: layer._originalStyle || {}, + style: layer._originalStyle || emptyObject, + // TODO no need to layout children that have non-dirty backing store children: (layer.children || []).map(createNode) }; } From 2920af30e7d2f2bde6dcb27dedab97684fca53e1 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 24 May 2018 16:24:20 -0700 Subject: [PATCH 31/60] More performance improvements and fix bug with not clearing backing store --- dist/bundle.js | 6 ++--- src/CanvasComponent.js | 27 +++++++++++---------- src/DrawingUtils.js | 45 ++++++++++++++++++++++++---------- src/ListView.js | 55 +++++++++++++++++++++++++++++++++++------- src/RenderLayer.js | 4 +++ 5 files changed, 99 insertions(+), 38 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index e8a6141..1680d3a 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,4 +1,4 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions||(e.subscriptions={}),i=e.listeners||(e.listeners={});i[t]!==n&&(i[t]=n),n?r[t]||(r[t]=e.node.subscribe(t,n,e)):r[t]&&(r[t](),delete r[t])},this.destroyEventListeners=function(){e.listeners=null,e.subscriptions=null,e.node.destroyEventListeners()},this.applyCommonLayerProps=function(t,n){var r=e.node;r._originalStyle=null;var l=a.default;for(var s in n&&n.style&&(l=n.style,r._originalStyle=l),r.alpha=l.alpha,r.backgroundColor=l.backgroundColor,r.borderColor=l.borderColor,r.borderWidth=l.borderWidth,r.borderRadius=l.borderRadius,r.clipRect=l.clipRect,r.frame||(r.frame=(0,i.make)(0,0,0,0)),r.frame.x=l.left||0,r.frame.y=l.top||0,r.frame.width=l.width||0,r.frame.height=l.height||0,r.scale=l.scale,r.translateX=l.translateX,r.translateY=l.translateY,r.zIndex=l.zIndex,r.shadowColor=l.shadowColor,r.shadowBlur=l.shadowBlur,r.shadowOffsetX=l.shadowOffsetX,r.shadowOffsetY=l.shadowOffsetY,n.useBackingStore&&(r.backingStoreId=e._layerId),o)e.putEventListener(o[s],n[s])},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=null,this.listeners=null,this.node=new r.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&t.children.slice().sort(m).forEach(function(e){v(s,e)}),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,_=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,y,g,_)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,g.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(g.done)return n(i,d),c;if(null===d){for(;!g.done;m++,g=l.next())null!==(g=h(i,g.value,s))&&(a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return c}for(d=r(i,d);!g.done;m++,g=l.next())null!==(g=v(d,i,m,g.value,s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===f?c=g:f.sibling=g,f=g);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return g(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),g(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function v(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function g(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var v=void 0;if(s!==u&&(v=f(e,0,u,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:i({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=i({},g.baseState,v))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==v)&&c(t,s,d,v),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var g=void 0;if(u!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:i({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,g))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,u,d,m,n,v))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,v),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=v,g):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=g(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=g(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=g(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=g(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=g(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),g(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),g(e,t)}else v(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))v(t,r,s,n);else if(l===a){e=g(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=g(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ve=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ve);var i=e;if(1073741823===ve||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ve&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),g();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),g();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var v=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var g=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(v,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(v,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=r.props.style.height||o<=-r.props.style.height||e.push(a);return e},r.updateScrollingDeceleration=function(){for(var e=r.scroller.__decelerationVelocityY,t=0,n=r.state.scrollTop;Math.abs(e).toFixed(6)>0;)n+=e,e*=r.props.scrollingDeceleration;for(var i=1/0,o=r.props.itemHeightGetter(),a=void 0,l=0,s=r.props.numberOfItemsGetter();l=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===v&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ve=!T(r.layout[w[K]]),ge=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ve&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==v||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==v||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ve&&X(r,ue,K),Fe+=U(ue,K),We=B(We,V(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ge&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ve?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=V(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=V(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Fe+=Be,le=De;le1&&ge){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(u),g(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,v=35,g=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===g||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===v?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20);function u(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ge&&X(r,ue,K),Fe+=U(ue,K),We=V(We,B(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=B(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=B(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Fe+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; /** @license React v16.4.0 * react.production.min.js * @@ -20,4 +20,4 @@ var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r=n(18),i=n(4),o=n(2),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.profiler"):60114,h=l?Symbol.for("react.provider"):60109,p=l?Symbol.for("react.context"):60110,m=l?Symbol.for("react.async_mode"):60111,y=l?Symbol.for("react.forward_ref"):60112;l&&Symbol.for("react.timeout");var v="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t { - const subscriptions = this.subscriptions || (this.subscriptions = {}); - const listeners = this.listeners || (this.listeners = {}); + const subscriptions = this.subscriptions; + const listeners = this.listeners; - if (listeners[type] !== listener) { - listeners[type] = listener; + if (listeners.get(type) !== listener) { + listeners.set(type, listener); } if (listener) { - if (!subscriptions[type]) { - subscriptions[type] = this.node.subscribe(type, listener, this); + if (!subscriptions.has(type)) { + subscriptions.set(type, this.node.subscribe(type, listener, this)); } } else { - if (subscriptions[type]) { - subscriptions[type](); - delete subscriptions[type]; + const subscription = subscriptions.get(type); + if (subscription) { + subscription(); + subscriptions.delete(type); } } }; destroyEventListeners = () => { - this.listeners = null; - this.subscriptions = null; + this.listeners.clear(); + this.subscriptions.clear(); this.node.destroyEventListeners(); }; diff --git a/src/DrawingUtils.js b/src/DrawingUtils.js index 70f7710..873219b 100644 --- a/src/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -319,6 +319,35 @@ function sortByZIndexAscending(layerA, layerB) { } let drawCacheableRenderLayer = null; +let drawRenderLayer = null; + +function drawChildren(layer, ctx) { + const children = layer.children; + if (children.length === 0) return; + + // Opimization + if (children.length === 1) { + drawRenderLayer(ctx, children[0]); + } else if (children.length === 2) { + const c0 = children[0]; + const c1 = children[1]; + + if (c0.zIndex < c1.zIndex) { + drawRenderLayer(ctx, c0); + drawRenderLayer(ctx, c1); + } else { + drawRenderLayer(ctx, c1); + drawRenderLayer(ctx, c0); + } + } else { + children + .slice() + .sort(sortByZIndexAscending) + .forEach(function(childLayer) { + drawRenderLayer(ctx, childLayer); + }); + } +} /** * Draw a RenderLayer instance to a context. @@ -326,7 +355,7 @@ let drawCacheableRenderLayer = null; * @param {CanvasRenderingContext2d} ctx * @param {RenderLayer} layer */ -function drawRenderLayer(ctx, layer) { +drawRenderLayer = (ctx, layer) => { const drawFunction = getDrawFunction(layer.type); // Performance: avoid drawing hidden layers. @@ -368,12 +397,7 @@ function drawRenderLayer(ctx, layer) { // Draw child layers, sorted by their z-index. if (layer.children) { - layer.children - .slice() - .sort(sortByZIndexAscending) - .forEach(function(childLayer) { - drawRenderLayer(ctx, childLayer); - }); + drawChildren(layer, ctx); } } @@ -444,12 +468,7 @@ drawCacheableRenderLayer = (ctx, layer, drawFunction) => { // Draw child layers, sorted by their z-index. if (layer.children) { - layer.children - .slice() - .sort(sortByZIndexAscending) - .forEach(function(childLayer) { - drawRenderLayer(backingContext, childLayer); - }); + drawChildren(layer, backingContext); } // Restore layer's original frame. diff --git a/src/ListView.js b/src/ListView.js index c8e4e1a..c9a417b 100644 --- a/src/ListView.js +++ b/src/ListView.js @@ -5,6 +5,7 @@ import PropTypes from "prop-types"; import Scroller from "scroller"; import Core from "./Core"; const { Group } = Core; +const MAX_CACHED_ITEMS = 100; class ListView extends Component { static propTypes = { @@ -29,12 +30,24 @@ class ListView extends Component { scrollTop: 0 }; + constructor(props) { + super(props); + + this._itemCache = new Map(); + this._groupCache = new Map(); + } + componentDidMount() { this.createScroller(); this.updateScrollingDimensions(); } render() { + if (this._itemCache.size > MAX_CACHED_ITEMS) { + this._itemCache.clear(); + this._groupCache.clear(); + } + const items = this.getVisibleItemIndexes().map(this.renderItem); return React.createElement( Group, @@ -55,17 +68,41 @@ class ListView extends Component { renderItem = itemIndex => { const item = this.props.itemGetter(itemIndex, this.state.scrollTop); + const priorItem = this._itemCache.get(itemIndex); const itemHeight = this.props.itemHeightGetter(); - const style = { - top: 0, - left: 0, - width: this.props.style.width, - height: itemHeight, - translateY: itemIndex * itemHeight - this.state.scrollTop, - zIndex: itemIndex - }; - return React.createElement(Group, { style: style, key: itemIndex }, item); + let group; + + if (item === priorItem) { + // Item hasn't changed, we can re-use the previous Group element after adjusting style. + group = this._groupCache.get(itemIndex); + } else { + group = React.createElement( + Group, + { + style: { top: 0, left: 0, zIndex: itemIndex }, + useBackingStore: true, + key: itemIndex + }, + item + ); + + this._itemCache.set(itemIndex, item); + this._groupCache.set(itemIndex, group); + } + + if (group.props.style.width !== this.props.style.width) { + group.props.style.width = this.props.style.width; + } + + if (group.props.style.height !== itemHeight) { + group.props.style.height = itemHeight; + } + + group.props.style.translateY = + itemIndex * itemHeight - this.state.scrollTop; + + return group; }; // Events diff --git a/src/RenderLayer.js b/src/RenderLayer.js index 990b4f3..6e929a7 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -13,6 +13,10 @@ RenderLayer.prototype = { * @return {RenderLayer} */ reset: function(component) { + if (this.backingStoreId) { + invalidateBackingStore(this.backingStoreId); + } + for (const key in this) { if (key === "children" || key === "frame" || key === "component") continue; From 1569b437273aa4ec533d275d02d1844d8de2b065 Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 24 May 2018 17:03:04 -0700 Subject: [PATCH 32/60] Do equality checks before copying layers since they are usually the same --- dist/bundle.js | 6 +-- src/CanvasComponent.js | 91 +++++++++++++++++++++++++++++------------- 2 files changed, 67 insertions(+), 30 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 1680d3a..ccbd624 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,4 +1,4 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.applyCommonLayerProps=function(t,n){var r=e.node;r._originalStyle=null;var l=a.default;for(var s in n&&n.style&&(l=n.style,r._originalStyle=l),r.alpha=l.alpha,r.backgroundColor=l.backgroundColor,r.borderColor=l.borderColor,r.borderWidth=l.borderWidth,r.borderRadius=l.borderRadius,r.clipRect=l.clipRect,r.frame||(r.frame=(0,i.make)(0,0,0,0)),r.frame.x=l.left||0,r.frame.y=l.top||0,r.frame.width=l.width||0,r.frame.height=l.height||0,r.scale=l.scale,r.translateX=l.translateX,r.translateY=l.translateY,r.zIndex=l.zIndex,r.shadowColor=l.shadowColor,r.shadowBlur=l.shadowBlur,r.shadowOffsetX=l.shadowOffsetX,r.shadowOffsetY=l.shadowOffsetY,n.useBackingStore&&(r.backingStoreId=e._layerId),o)e.putEventListener(o[s],n[s])},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,U=e.resumeMountClassInstance,F=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=U(t,n):r=F(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Ue=0,null!==je){var e=je;je=null;for(var t=0;tFe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(F(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function U(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=F(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!F(r,$)&&!ne,oe=!F(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Fe,ge&&X(r,ue,K),Fe+=U(ue,K),We=V(We,B(ue,J,U(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Ue=Ne;null!==Ue;)Ye=Ge*Ue.style.flex+R(Ue,K),Qe=B(Ue,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Ue.style.flex),Ue=Ue.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Ue=Ne;null!==Ue;)Ue.layout[w[K]]=B(Ue,K,Ge*Ue.style.flex+R(Ue,K)),Pe=e,F(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Ue,Pe,Z),ue=Ue,Ue=Ue.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Fe+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20);function u(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=V(We,B(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=B(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=B(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Ue+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; /** @license React v16.4.0 * react.production.min.js * @@ -20,4 +20,4 @@ var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r=n(18),i=n(4),o=n(2),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.profiler"):60114,h=l?Symbol.for("react.provider"):60109,p=l?Symbol.for("react.context"):60110,m=l?Symbol.for("react.async_mode"):60111,y=l?Symbol.for("react.forward_ref"):60112;l&&Symbol.for("react.timeout");var g="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t { - const layer = this.node; - - layer._originalStyle = null; + setStyleFromProps = (layer, props) => { let style = emptyObject; - if (props && props.style) { + if (props.style) { style = props.style; layer._originalStyle = style; + } else { + layer._originalStyle = null; } - // Common layer properties - layer.alpha = style.alpha; - layer.backgroundColor = style.backgroundColor; - layer.borderColor = style.borderColor; - layer.borderWidth = style.borderWidth; - layer.borderRadius = style.borderRadius; - layer.clipRect = style.clipRect; - if (!layer.frame) { layer.frame = make(0, 0, 0, 0); } - layer.frame.x = style.left || 0; - layer.frame.y = style.top || 0; - layer.frame.width = style.width || 0; - layer.frame.height = style.height || 0; - layer.scale = style.scale; - layer.translateX = style.translateX; - layer.translateY = style.translateY; - layer.zIndex = style.zIndex; + const frame = layer.frame; + const l = style.left || 0; + const t = style.top || 0; + const w = style.width || 0; + const h = style.height || 0; + + if (frame.x !== l) frame.x = l; + if (frame.y !== t) frame.y = t; + if (frame.width !== w) frame.width = w; + if (frame.height !== h) frame.height = h; + + // Common layer properties + if (layer.alpha !== style.alpha) layer.alpha = style.alpha; + + if (layer.backgroundColor !== style.backgroundColor) + layer.backgroundColor = style.backgroundColor; + + if (layer.borderColor !== style.borderColor) + layer.borderColor = style.borderColor; + + if (layer.borderWidth !== style.borderWidth) + layer.borderWidth = style.borderWidth; + + if (layer.borderRadius !== style.borderRadius) + layer.borderRadius = style.borderRadius; + + if (layer.clipRect !== style.clipRect) layer.clipRect = style.clipRect; + + if (layer.scale !== style.scale) layer.scale = style.scale; + + if ( + layer.translateX !== style.translateX || + layer.translateY !== style.translateY + ) { + layer.translateX = style.translateX; + layer.translateY = style.translateY; + } + + if (layer.zIndex !== style.zIndex) layer.zIndex = style.zIndex; // Shadow - layer.shadowColor = style.shadowColor; - layer.shadowBlur = style.shadowBlur; - layer.shadowOffsetX = style.shadowOffsetX; - layer.shadowOffsetY = style.shadowOffsetY; + if (layer.shadowColor !== style.shadowColor) + layer.shadowColor = style.shadowColor; + + if (layer.shadowBlur !== style.shadowBlur) + layer.shadowBlur = style.shadowBlur; + + if (layer.shadowOffsetX !== style.shadowOffsetX) + layer.shadowOffsetX = style.shadowOffsetX; + + if (layer.shadowOffsetY !== style.shadowOffsetY) + layer.shadowOffsetY = style.shadowOffsetY; + }; + + applyCommonLayerProps = (prevProps, props) => { + const layer = this.node; // Generate backing store ID as needed. - if (props.useBackingStore) { + if (props.useBackingStore && layer.backingStoreId !== this._layerId) { layer.backingStoreId = this._layerId; } // Register events for (const type in EventTypes) { - this.putEventListener(EventTypes[type], props[type]); + if (prevProps[type] !== props[type]) { + this.putEventListener(EventTypes[type], props[type]); + } } + + this.setStyleFromProps(layer, props); }; getLayer = () => this.node; From 321372549b9d8cf341512d857b8ff9ac3effc05f Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 24 May 2018 17:12:20 -0700 Subject: [PATCH 33/60] More equality check optimizations --- dist/bundle.js | 4 ++-- src/Gradient.js | 13 +++++++++++-- src/Group.js | 7 ++++++- src/Image.js | 12 ++++++++++-- src/Text.js | 21 +++++++++++++++------ 5 files changed, 44 insertions(+), 13 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index ccbd624..551f00b 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,4 +1,4 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,s=n.width||0,u=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==s&&(r.width=s),r.height!==u&&(r.height=u),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId&&(r.backingStoreId=e._layerId),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=V(We,B(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=B(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=B(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Ue+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +var r;e.exports=function(t){"use strict";var i=n(18),o=n(4),a=n(3),l=n(2),s=n(20);function u(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=V(We,B(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=B(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=B(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Ue+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; /** @license React v16.4.0 * react.production.min.js * diff --git a/src/Gradient.js b/src/Gradient.js index 6061325..c7100f2 100644 --- a/src/Gradient.js +++ b/src/Gradient.js @@ -1,12 +1,21 @@ import CanvasComponent from "./CanvasComponent"; +const LAYER_TYPE = "gradient"; + class Gradient extends CanvasComponent { displayName = "Gradient"; applyLayerProps = (prevProps, props) => { const layer = this.node; - layer.type = "gradient"; - layer.colorStops = props.colorStops || []; + + if (layer.type !== LAYER_TYPE) { + layer.type = LAYER_TYPE; + } + + if (layer.colorStops !== props.colorStops) { + layer.colorStops = props.colorStops || []; + } + this.applyCommonLayerProps(prevProps, props); }; } diff --git a/src/Group.js b/src/Group.js index 4017229..9bb91e0 100644 --- a/src/Group.js +++ b/src/Group.js @@ -1,9 +1,14 @@ import CanvasComponent from "./CanvasComponent"; +const LAYER_TYPE = "group"; + class Group extends CanvasComponent { applyLayerProps = (prevProps, props) => { const layer = this.node; - layer.type = "group"; + + if (layer.type !== LAYER_TYPE) { + layer.type = LAYER_TYPE; + } this.applyCommonLayerProps(prevProps, props); }; diff --git a/src/Image.js b/src/Image.js index b7e6193..bdf8be5 100644 --- a/src/Image.js +++ b/src/Image.js @@ -11,12 +11,20 @@ const { Group } = Core; const FADE_DURATION = 200; +const LAYER_TYPE = "image"; + export class RawImage extends CanvasComponent { applyLayerProps = (prevProps, props) => { const layer = this.node; - layer.type = "image"; - layer.imageUrl = props.src; + if (layer.type !== LAYER_TYPE) { + layer.type = LAYER_TYPE; + } + + if (layer.imageUrl !== props.src) { + layer.imageUrl = props.src; + } + this.applyCommonLayerProps(prevProps, props); }; } diff --git a/src/Text.js b/src/Text.js index 1a2efa4..91e5ead 100644 --- a/src/Text.js +++ b/src/Text.js @@ -23,12 +23,16 @@ function textArraysEqual(a, b) { return true; } +const LAYER_TYPE = "text"; + class Text extends CanvasComponent { applyLayerProps = (prevProps, props) => { const style = props && props.style ? props.style : {}; const layer = this.node; - layer.type = "text"; + if (layer.type !== LAYER_TYPE) { + layer.type = LAYER_TYPE; + } if ( layer.text === null || @@ -37,11 +41,16 @@ class Text extends CanvasComponent { layer.text = childrenAsString(props.children); } - layer.color = style.color; - layer.fontFace = style.fontFace; - layer.fontSize = style.fontSize; - layer.lineHeight = style.lineHeight; - layer.textAlign = style.textAlign; + if (layer.color !== style.color) layer.color = style.color; + + if (layer.fontFace !== style.fontFace) layer.fontFace = style.fontFace; + + if (layer.fontSize !== style.fontSize) layer.fontSize = style.fontSize; + + if (layer.lineHeight !== style.lineHeight) + layer.lineHeight = style.lineHeight; + + if (layer.textAlign !== style.textAlign) layer.textAlign = style.textAlign; this.applyCommonLayerProps(prevProps, props); }; From 399375ff23a3341894d5367b926dc9b8a9796c4f Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 24 May 2018 17:52:33 -0700 Subject: [PATCH 34/60] Fix for ugly backing store bug --- src/CanvasComponent.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 1dd2841..3564a6f 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -3,7 +3,7 @@ import { make } from "./FrameUtils"; import * as EventTypes from "./EventTypes"; import emptyObject from "fbjs/lib/emptyObject"; -let LAYER_GUID = 0; +let LAYER_GUID = 1; export default class CanvasComponent { constructor(type) { @@ -115,6 +115,8 @@ export default class CanvasComponent { // Generate backing store ID as needed. if (props.useBackingStore && layer.backingStoreId !== this._layerId) { layer.backingStoreId = this._layerId; + } else if (!props.useBackingStore && layer.backingStoreId) { + layer.backingStoreId = null; } // Register events From fe32421cdd71b3f2dd21e94496efbba4656118dd Mon Sep 17 00:00:00 2001 From: Greg Fodor Date: Thu, 24 May 2018 21:34:54 -0700 Subject: [PATCH 35/60] Update build --- dist/bundle.js | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 551f00b..b728456 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,23 +1,25 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,s=n.width||0,u=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==s&&(r.width=s),r.height!==u&&(r.height=u),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId&&(r.backingStoreId=e._layerId),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&_(t,s),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,g=t.clipRect.width,v=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,g,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=v,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&_(t,u),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,v=t.clipRect.width,g=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,v,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=g,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var i=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var V=void 0,q=void 0;function X(e){V=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,V=n,q=e!==n?e:null}function Y(e,t){X(e),e=V;var n=q;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,B=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function B(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=V(B(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=V(We,B(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Be,Se=le+1}var Ve=0,qe=0,Xe=0;if(Xe=ge?we-Ee:V(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=B(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=B(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Ve=Xe/2:de===c?Ve=Xe:de===f?(Xe=V(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Ve=(qe=Xe/(Oe+Re))/2));for(Ue+=Ve,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; + * react-reconciler.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var i;e.exports=function(t){var o=n(18),a=n(4),l=n(3),u=n(2),s=n(20);function c(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=B(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=B(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(r,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(r,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(r,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(r,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(r,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(r,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(r,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=i(r,d);!v.done;h++,v=l.next())null!==(v=g(d,r,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(r,e)}),s}return function(e,i,a,u){"object"==(void 0===a?"undefined":r(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":r(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=i;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(i=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),i.return=e,e=i;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((i=A(a.props.children,e.mode,u,a.key)).return=e,e=i):((u=R(a,e.mode,u)).ref=$(e,i,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==i;){if(i.key===s){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=o(i,a.children||[],u)).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=z(a,e.mode,u)).return=e,e=i}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=o(i,a,u)).return=e,e=i):(n(e,i),(i=D(a,e.mode,u)).return=e,e=i),l(e);if(J(a))return _(e,i,a,u);if(S(a))return b(e,i,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,i)}}var ne=te(!0),re=te(!1);function ie(e,t,n,i,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=i.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var i=t.type,a=t.pendingProps,l=k(t);return i=i(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===i?"undefined":r(i))&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,i,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,i),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,i),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(i=k(t),a=a(n,i=C(t,i)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),i=!0):i=U(t,n):i=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=i=!0),y(e,t,i,a,l,n);case 3:e:if(v(t),i=t.updateQueue,null!==i){if(l=t.memoizedState,a=Z(e,t,i,null,null,n),t.memoizedState=a,null!==(i=t.updateQueue)&&null!==i.capturedValues)i=null;else{if(l===a){A(),e=_(e,t);break e}i=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,i,n)):(A(),h(e,t,i)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,i=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==i||((u=1&t.mode&&x(a,i))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=i.children,b(a,i)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,i)?(t.expirationTime=1073741823,t.memoizedProps=i,e=null):(h(e,t,u),t.memoizedProps=i,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),i=a.children,t.stateNode=null===e?re(t,t.stateNode,i,n):ne(t,e.stateNode,i,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{i=t.type,l=t.pendingProps,u=t.memoizedProps,a=i._currentValue;var s=i._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,i,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,B=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function V(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}(Z,G),J=D(i,G);V(r,Z),V(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=B(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=B(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=B(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Be=0,Ve=0;if(Ve=ye?xe-Pe:B(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Ve/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Ve-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Ve/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Ve/2:fe===c?He=Ve:fe===f?(Ve=B(Ve,0),Be=Oe+Ie-1!=0?Ve/(Oe+Ie-1):0):fe===d&&(He=(Be=Ve/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&("function"==typeof r&&r))return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!i(t))throw TypeError("listener must be a function");var n=!1;function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var n,r,a,l;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){r=l;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ /** @license React v16.4.0 - * react.production.min.js - * - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r=n(18),i=n(4),o=n(2),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.profiler"):60114,h=l?Symbol.for("react.provider"):60109,p=l?Symbol.for("react.context"):60110,m=l?Symbol.for("react.async_mode"):60111,y=l?Symbol.for("react.forward_ref"):60112;l&&Symbol.for("react.timeout");var g="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function R(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+A(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tE.length&&E.push(e)}function A(e,t,n,i){var o=void 0===e?"undefined":r(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(i,e,""===t?"."+D(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":r(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),i(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t Date: Thu, 14 Jun 2018 23:29:56 +0000 Subject: [PATCH 36/60] Update dist --- dist/bundle.js | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index b728456..128e7e3 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,25 +1,25 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){for(var n in t)e[n]=t[n]}(t,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var u=0;t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,u=n.width||0,s=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==u&&(r.width=u),r.height!==s&&(r.height=s),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId&&(r.backingStoreId=e._layerId),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}}.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=u++}},function(e,t,n){function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&_(t,u),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,v=t.clipRect.width,g=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,v,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=g,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var i=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&_(t,u),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,v=t.clipRect.width,g=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,v,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=g,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=B(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=B(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(r,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(r,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(r,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(r,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(r,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(r,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(r,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=i(r,d);!v.done;h++,v=l.next())null!==(v=g(d,r,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(r,e)}),s}return function(e,i,a,u){"object"==(void 0===a?"undefined":r(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":r(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=i;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(i=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),i.return=e,e=i;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((i=A(a.props.children,e.mode,u,a.key)).return=e,e=i):((u=R(a,e.mode,u)).ref=$(e,i,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==i;){if(i.key===s){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=o(i,a.children||[],u)).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=z(a,e.mode,u)).return=e,e=i}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=o(i,a,u)).return=e,e=i):(n(e,i),(i=D(a,e.mode,u)).return=e,e=i),l(e);if(J(a))return _(e,i,a,u);if(S(a))return b(e,i,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,i)}}var ne=te(!0),re=te(!1);function ie(e,t,n,i,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=i.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var i=t.type,a=t.pendingProps,l=k(t);return i=i(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===i?"undefined":r(i))&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,i,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,i),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,i),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(i=k(t),a=a(n,i=C(t,i)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),i=!0):i=U(t,n):i=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=i=!0),y(e,t,i,a,l,n);case 3:e:if(v(t),i=t.updateQueue,null!==i){if(l=t.memoizedState,a=Z(e,t,i,null,null,n),t.memoizedState=a,null!==(i=t.updateQueue)&&null!==i.capturedValues)i=null;else{if(l===a){A(),e=_(e,t);break e}i=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,i,n)):(A(),h(e,t,i)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,i=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==i||((u=1&t.mode&&x(a,i))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=i.children,b(a,i)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,i)?(t.expirationTime=1073741823,t.memoizedProps=i,e=null):(h(e,t,u),t.memoizedProps=i,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),i=a.children,t.stateNode=null===e?re(t,t.stateNode,i,n):ne(t,e.stateNode,i,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{i=t.type,l=t.pendingProps,u=t.memoizedProps,a=i._currentValue;var s=i._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,i,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,B=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function V(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}(Z,G),J=D(i,G);V(r,Z),V(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=B(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=B(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=B(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Be=0,Ve=0;if(Ve=ye?xe-Pe:B(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Ve/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Ve-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Ve/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Ve/2:fe===c?He=Ve:fe===f?(Ve=B(Ve,0),Be=Oe+Ie-1!=0?Ve/(Oe+Ie-1):0):fe===d&&(He=(Be=Ve/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&("function"==typeof r&&r))return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!i(t))throw TypeError("listener must be a function");var n=!1;function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var n,r,a,l;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){r=l;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ + * react-reconciler.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var r;e.exports=function(t){var o=n(18),a=n(4),l=n(3),u=n(2),s=n(20);function c(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=B(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=B(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(i,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(i,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(i,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(i,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(i,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=r(i,d);!v.done;h++,v=l.next())null!==(v=g(d,i,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),s}return function(e,r,a,u){"object"==(void 0===a?"undefined":i(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":i(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=r;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(r=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((r=A(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=R(a,e.mode,u)).ref=$(e,r,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],u)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=z(a,e.mode,u)).return=e,e=r}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=o(r,a,u)).return=e,e=r):(n(e,r),(r=D(a,e.mode,u)).return=e,e=r),l(e);if(J(a))return _(e,r,a,u);if(S(a))return b(e,r,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,r)}}var ne=te(!0),re=te(!1);function ie(e,t,n,r,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=r.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var r=t.type,a=t.pendingProps,l=k(t);return r=r(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===r?"undefined":i(r))&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,r,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,r),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,r),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(r=k(t),a=a(n,r=C(t,r)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),r=!0):r=U(t,n):r=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=r=!0),y(e,t,r,a,l,n);case 3:e:if(v(t),r=t.updateQueue,null!==r){if(l=t.memoizedState,a=Z(e,t,r,null,null,n),t.memoizedState=a,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(l===a){A(),e=_(e,t);break e}r=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,r,n)):(A(),h(e,t,r)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,r=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==r||((u=1&t.mode&&x(a,r))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=r.children,b(a,r)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(h(e,t,u),t.memoizedProps=r,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),r=a.children,t.stateNode=null===e?re(t,t.stateNode,r,n):ne(t,e.stateNode,r,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,l=t.pendingProps,u=t.memoizedProps,a=r._currentValue;var s=r._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,r,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,B=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function V(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(Z)?D(i,t):a}(0,G),J=D(i,G);V(r,Z),V(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=B(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=B(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=B(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Be=0,Ve=0;if(Ve=ye?xe-Pe:B(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Ve/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Ve-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Ve/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Ve/2:fe===c?He=Ve:fe===f?(Ve=B(Ve,0),Be=Oe+Ie-1!=0?Ve/(Oe+Ie-1):0):fe===d&&(He=(Be=Ve/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&"function"==typeof r&&r)return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,i,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){i=l;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ /** @license React v16.4.0 - * react.production.min.js - * - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var i=n(18),o=n(4),a=n(2),l=n(17),u="function"==typeof Symbol&&Symbol.for,s=u?Symbol.for("react.element"):60103,c=u?Symbol.for("react.portal"):60106,f=u?Symbol.for("react.fragment"):60107,d=u?Symbol.for("react.strict_mode"):60108,h=u?Symbol.for("react.profiler"):60114,p=u?Symbol.for("react.provider"):60109,m=u?Symbol.for("react.context"):60110,y=u?Symbol.for("react.async_mode"):60111,v=u?Symbol.for("react.forward_ref"):60112;u&&Symbol.for("react.timeout");var g="function"==typeof Symbol&&Symbol.iterator;function _(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function A(e,t,n,i){var o=void 0===e?"undefined":r(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(i,e,""===t?"."+D(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":r(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),i(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;tE.length&&E.push(e)}function A(e,t,n,r){var o=void 0===e?"undefined":i(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+D(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":i(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t Date: Thu, 14 Jun 2018 23:32:51 +0000 Subject: [PATCH 37/60] Update dist --- dist/bundle.js | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 128e7e3..ac1d9a6 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,25 +1,23 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){for(var n in t)e[n]=t[n]}(t,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var i="function"==typeof Symbol&&"symbol"==r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)};!function(e,t){for(var n in t)e[n]=t[n]}(t,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var u=0;t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,u=n.width||0,s=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==u&&(r.width=u),r.height!==s&&(r.height=s),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId&&(r.backingStoreId=e._layerId),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}}.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=u++}},function(e,t,n){function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&_(t,u),t.translate(a,o)),t.clipRect){var f=(t.clipRect.x-t.frame.x)*i,d=(t.clipRect.y-t.frame.y)*i,h=t.clipRect.width*i,p=t.clipRect.height*i,m=t.clipRect.x,y=t.clipRect.y,v=t.clipRect.width,g=t.clipRect.height;h>0&&p>0&&e.drawImage(r.getRawCanvas(),f,d,h,p,m,y,v,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=p,t.drawRenderLayer=g,t.invalidateBackingStore=f,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){d(t.layer,e)&&f(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){h(t.layer,e)&&f(t.id)})},t.isCachedByBackingStore=function(e){return!!c(e)},t.layerContainsImage=d,t.layerContainsFontFace=h,t.registerLayerType=function(e,t){if(m.hasOwnProperty(e))throw new Error("type "+e+" already registered");m[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&v(t,s),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,m=t.clipRect.y,y=t.clipRect.width,g=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,m,y,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=g,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=B(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=B(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(i,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(i,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(i,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(i,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(i,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=r(i,d);!v.done;h++,v=l.next())null!==(v=g(d,i,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),s}return function(e,r,a,u){"object"==(void 0===a?"undefined":i(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":i(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=r;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(r=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((r=A(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=R(a,e.mode,u)).ref=$(e,r,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],u)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=z(a,e.mode,u)).return=e,e=r}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=o(r,a,u)).return=e,e=r):(n(e,r),(r=D(a,e.mode,u)).return=e,e=r),l(e);if(J(a))return _(e,r,a,u);if(S(a))return b(e,r,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,r)}}var ne=te(!0),re=te(!1);function ie(e,t,n,r,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=r.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var r=t.type,a=t.pendingProps,l=k(t);return r=r(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===r?"undefined":i(r))&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,r,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,r),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,r),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(r=k(t),a=a(n,r=C(t,r)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),r=!0):r=U(t,n):r=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=r=!0),y(e,t,r,a,l,n);case 3:e:if(v(t),r=t.updateQueue,null!==r){if(l=t.memoizedState,a=Z(e,t,r,null,null,n),t.memoizedState=a,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(l===a){A(),e=_(e,t);break e}r=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,r,n)):(A(),h(e,t,r)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,r=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==r||((u=1&t.mode&&x(a,r))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=r.children,b(a,r)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(h(e,t,u),t.memoizedProps=r,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),r=a.children,t.stateNode=null===e?re(t,t.stateNode,r,n):ne(t,e.stateNode,r,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,l=t.pendingProps,u=t.memoizedProps,a=r._currentValue;var s=r._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,r,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,B=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function V(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=B(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(Z)?D(i,t):a}(0,G),J=D(i,G);V(r,Z),V(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=B(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=B(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=B(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Be=0,Ve=0;if(Ve=ye?xe-Pe:B(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Ve/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Ve-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Ve/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Ve/2:fe===c?He=Ve:fe===f?(Ve=B(Ve,0),Be=Oe+Ie-1!=0?Ve/(Oe+Ie-1):0):fe===d&&(He=(Be=Ve/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&"function"==typeof r&&r)return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,i,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){i=l;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ -/** @license React v16.4.0 - * react.production.min.js - * - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var r=n(18),o=n(4),a=n(2),l=n(17),u="function"==typeof Symbol&&Symbol.for,s=u?Symbol.for("react.element"):60103,c=u?Symbol.for("react.portal"):60106,f=u?Symbol.for("react.fragment"):60107,d=u?Symbol.for("react.strict_mode"):60108,h=u?Symbol.for("react.profiler"):60114,p=u?Symbol.for("react.provider"):60109,m=u?Symbol.for("react.context"):60110,y=u?Symbol.for("react.async_mode"):60111,v=u?Symbol.for("react.forward_ref"):60112;u&&Symbol.for("react.timeout");var g="function"==typeof Symbol&&Symbol.iterator;function _(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function A(e,t,n,r){var o=void 0===e?"undefined":i(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+D(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":i(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=B(We,V(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ge?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=V(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=V(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Ue+=Be,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; +/** @license React v16.3.2 + * react.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var r=n(18),i=n(4),o=n(2),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.provider"):60109,h=l?Symbol.for("react.context"):60110,p=l?Symbol.for("react.async_mode"):60111,m=l?Symbol.for("react.forward_ref"):60112,y="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rP.length&&P.push(e)}function I(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+R(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t Date: Fri, 22 Jun 2018 14:28:25 +0200 Subject: [PATCH 38/60] Fix dep path to https --- package.json | 4 ++-- yarn.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6da3fc9..e1ee206 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@gfodor/react-canvas", + "name": "react-canvas", "version": "1.5.0", "description": "High performance rendering for React components", "main": "dist/bundle.js", @@ -57,6 +57,6 @@ "react": "^16.3.2", "react-dom": "^16.3.2", "react-reconciler": "^0.10.0", - "scroller": "git://github.com/mjohnston/scroller" + "scroller": "https://github.com/mjohnston/scroller" } } diff --git a/yarn.lock b/yarn.lock index 6609104..8c58af4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7706,9 +7706,9 @@ scoped-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" -"scroller@git://github.com/mjohnston/scroller": +"scroller@https://github.com/mjohnston/scroller": version "0.0.1" - resolved "git://github.com/mjohnston/scroller#054c3349d5ff7474589eb7fbbb36708e5c48e435" + resolved "https://github.com/mjohnston/scroller#054c3349d5ff7474589eb7fbbb36708e5c48e435" "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.5.0" From 8be5cde5f885444b1ac72c56c9ad6a045b6bc32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 16:46:30 +0200 Subject: [PATCH 39/60] Remove package-lock, keep using yarn only --- package-lock.json | 1926 --------------------------------------------- 1 file changed, 1926 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 3b6dbb6..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1926 +0,0 @@ -{ - "name": "@craigmorton/react-canvas", - "version": "1.4.0", - "lockfileVersion": 1, - "dependencies": { - "@comandeer/babel-plugin-banner": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@comandeer/babel-plugin-banner/-/babel-plugin-banner-1.0.0.tgz", - "integrity": "sha1-QLzOC77ghLWwJUWjNjXQU8JINW8=", - "dev": true - }, - "@craigmorton/linebreak": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@craigmorton/linebreak/-/linebreak-0.4.5.tgz", - "integrity": "sha1-s6l4eES8WtlU7tI8d4ulZ2nnjS8=" - }, - "abstract-leveldown": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz", - "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=", - "dev": true, - "dependencies": { - "xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", - "dev": true - } - } - }, - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true - }, - "arr-flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz", - "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "asap": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", - "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=" - }, - "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", - "dev": true - }, - "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", - "dev": true - }, - "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", - "dev": true - }, - "babel-core": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", - "dev": true - }, - "babel-generator": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", - "dev": true - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true - }, - "babel-helper-define-map": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", - "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", - "dev": true - }, - "babel-helper-evaluate-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.1.0.tgz", - "integrity": "sha1-ldmMTqNhUEg9sufT7J4ZVKcmKcs=", - "dev": true - }, - "babel-helper-flip-expressions": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.1.2.tgz", - "integrity": "sha1-d/ZlL53pxCQB2Ce9RuvSEJ4+8Yo=", - "dev": true - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true - }, - "babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true - }, - "babel-helper-is-void-0": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.1.1.tgz", - "integrity": "sha1-cvIaOrugvvODf5F0/KcxrtmgKIg=", - "dev": true - }, - "babel-helper-mark-eval-scopes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.1.1.tgz", - "integrity": "sha1-RVQ0Xt+fJUlCe9IJjlMCU/ivKZI=", - "dev": true - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true - }, - "babel-helper-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", - "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", - "dev": true - }, - "babel-helper-remove-or-void": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.1.1.tgz", - "integrity": "sha1-nX4YVtxvr8tBsoOkFnMNwYRPZtc=", - "dev": true - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true - }, - "babel-helper-to-multiple-sequence-expressions": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.1.1.tgz", - "integrity": "sha1-XxuDKznkrPlU6RN/AlE5XHEZazU=", - "dev": true - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true - }, - "babel-plugin-external-helpers": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", - "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", - "dev": true - }, - "babel-plugin-minify-builtins": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.1.3.tgz", - "integrity": "sha1-TyGn3LUfkaBOpx1H/w6OOwX+wCE=", - "dev": true - }, - "babel-plugin-minify-constant-folding": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.1.3.tgz", - "integrity": "sha1-V70XKt+LjXStfJlhLrlQQU6+o8o=", - "dev": true - }, - "babel-plugin-minify-dead-code-elimination": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.7.tgz", - "integrity": "sha1-d09TbzR7mDk6J7qnF4cpaIE8NCw=", - "dev": true - }, - "babel-plugin-minify-flip-comparisons": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.1.2.tgz", - "integrity": "sha1-4oa0C3WZsY3+oZUHHkJ5Rlz8GIQ=", - "dev": true - }, - "babel-plugin-minify-guarded-expressions": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.1.2.tgz", - "integrity": "sha1-38PUc7A2LZYF084KweIjKMYNEAc=", - "dev": true - }, - "babel-plugin-minify-infinity": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.1.2.tgz", - "integrity": "sha1-Xxz2fd7cuhPIoA2oMlQt8AkaHNQ=", - "dev": true - }, - "babel-plugin-minify-mangle-names": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.1.3.tgz", - "integrity": "sha1-v6JGYaZ5T7A4M1h+VYKLZUSeBv4=", - "dev": true - }, - "babel-plugin-minify-numeric-literals": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.1.1.tgz", - "integrity": "sha1-1LiwySX4dHFO4z7ksmZ4WD185/s=", - "dev": true - }, - "babel-plugin-minify-replace": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.1.2.tgz", - "integrity": "sha1-uQuecatNOzYyVimpG+q+E7CxasE=", - "dev": true - }, - "babel-plugin-minify-simplify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.1.2.tgz", - "integrity": "sha1-qWjxZY/esvx1noH+Mx2Jgp3w9rk=", - "dev": true - }, - "babel-plugin-minify-type-constructors": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.1.2.tgz", - "integrity": "sha1-21PFt2y44vzUXYYvFxBMeHYTN+4=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dev": true - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", - "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", - "dev": true - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true - }, - "babel-plugin-transform-inline-consecutive-adds": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.1.2.tgz", - "integrity": "sha1-VELp8cGceKeJn4pN7m/UgfYQAfU=", - "dev": true - }, - "babel-plugin-transform-member-expression-literals": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.4.tgz", - "integrity": "sha1-BWebxAWWuRKTQBlZqhYgqxsr5Dc=", - "dev": true - }, - "babel-plugin-transform-merge-sibling-variables": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.5.tgz", - "integrity": "sha1-A6vfEHxhJBkT6yaN3t5tW8VBhiw=", - "dev": true - }, - "babel-plugin-transform-minify-booleans": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.2.tgz", - "integrity": "sha1-hFFXn3BucCweGrJ1beXI6jac8Hw=", - "dev": true - }, - "babel-plugin-transform-property-literals": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.4.tgz", - "integrity": "sha1-atMREQuAoZKlbvtd30/jym96Ydo=", - "dev": true - }, - "babel-plugin-transform-regenerator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", - "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", - "dev": true - }, - "babel-plugin-transform-regexp-constructors": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.1.1.tgz", - "integrity": "sha1-MSq3SHzIihxi7iXqG2CH6JuHeZw=", - "dev": true - }, - "babel-plugin-transform-remove-console": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.4.tgz", - "integrity": "sha1-Qf3awZpymkw91+8pZOrAewlvmo8=", - "dev": true - }, - "babel-plugin-transform-remove-debugger": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.4.tgz", - "integrity": "sha1-+FcEoIrapxtV13AFtblOm53yH24=", - "dev": true - }, - "babel-plugin-transform-remove-undefined": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.1.2.tgz", - "integrity": "sha1-4ev1ERD2seBmXyg4Lvc/leUCNlI=", - "dev": true - }, - "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.4.tgz", - "integrity": "sha1-KqJKJi1mTIyz4SWjBseY16LeCNU=", - "dev": true - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true - }, - "babel-plugin-transform-undefined-to-void": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.2.tgz", - "integrity": "sha1-/isdKU6wXodSTrk3JN6m4sPWb6E=", - "dev": true - }, - "babel-preset-babili": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-babili/-/babel-preset-babili-0.1.4.tgz", - "integrity": "sha1-rZ1mUQAvW8PwfKswB4EWf1RyS/I=", - "dev": true - }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true - }, - "babel-register": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", - "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", - "dev": true, - "dependencies": { - "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", - "dev": true - } - } - }, - "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", - "dev": true, - "dependencies": { - "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", - "dev": true - } - } - }, - "babel-template": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", - "dev": true - }, - "babel-traverse": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", - "dev": true - }, - "babel-types": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", - "dev": true - }, - "babylon": { - "version": "6.17.4", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" - }, - "bl": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", - "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "bn.js": { - "version": "4.11.7", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", - "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-resolve": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", - "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", - "dev": true, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", - "dev": true - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "dev": true - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "dev": true - }, - "browserify-fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-fs/-/browserify-fs-1.0.0.tgz", - "integrity": "sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8=", - "dev": true - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true - }, - "buffer-es6": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/buffer-es6/-/buffer-es6-4.9.3.tgz", - "integrity": "sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "cipher-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", - "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", - "dev": true - }, - "clone": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz", - "integrity": "sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "dev": true - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "dev": true - }, - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "dev": true - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "dev": true - }, - "create-react-class": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", - "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=" - }, - "crypto-browserify": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", - "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", - "dev": true - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true - }, - "deferred-leveldown": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz", - "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "dev": true - }, - "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "estree-walker": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", - "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true - }, - "fbjs": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fwd-stream": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", - "integrity": "sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "dev": true - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" - }, - "idb-wrapper": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.1.tgz", - "integrity": "sha1-ajJnASLhc6hOzFz6lmj6LOsiGwQ=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true - }, - "is": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/is/-/is-0.2.7.tgz", - "integrity": "sha1-OzSixI81mXLzUEKEkZOucmS2NWI=", - "dev": true - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true - }, - "is-object": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz", - "integrity": "sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbuffer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/isbuffer/-/isbuffer-0.0.0.tgz", - "integrity": "sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - }, - "level-blobs": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz", - "integrity": "sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "level-filesystem": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz", - "integrity": "sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=", - "dev": true - }, - "level-fix-range": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-1.0.2.tgz", - "integrity": "sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=", - "dev": true - }, - "level-hooks": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz", - "integrity": "sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=", - "dev": true - }, - "level-js": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz", - "integrity": "sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=", - "dev": true, - "dependencies": { - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true - } - } - }, - "level-peek": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz", - "integrity": "sha1-vsUccqgu5GTTNkNMfIdsP8vM538=", - "dev": true - }, - "level-sublevel": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz", - "integrity": "sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=", - "dev": true, - "dependencies": { - "level-fix-range": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz", - "integrity": "sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=", - "dev": true - }, - "xtend": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz", - "integrity": "sha1-XqZXptukRwacLlnFihE4ywxebO4=", - "dev": true - } - } - }, - "levelup": { - "version": "0.18.6", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz", - "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" - }, - "ltgt": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.0.tgz", - "integrity": "sha1-tlul/LNJopkkyOMz98alVi8uSEI=", - "dev": true - }, - "magic-string": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz", - "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true - }, - "miller-rabin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node-fetch": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz", - "integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==" - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-keys": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz", - "integrity": "sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=", - "dev": true - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true - }, - "octal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz", - "integrity": "sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-map": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", - "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "pbkdf2": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", - "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", - "dev": true - }, - "process-es6": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz", - "integrity": "sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" - }, - "prop-types": { - "version": "15.5.10", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=" - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true - } - } - }, - "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true - }, - "regenerate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", - "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - }, - "regenerator-transform": { - "version": "0.9.11", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", - "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", - "dev": true - }, - "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", - "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true - }, - "resolve": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "dev": true - }, - "rollup": { - "version": "0.43.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.43.0.tgz", - "integrity": "sha512-XqpEPAMHCJ4VcT95ApyGQC7MncjGcG6UtcU5geONqPfN2uAROGmJDE3cOi325S19rhklbM+BXIHNX35l+1zmAg==", - "dev": true - }, - "rollup-plugin-babel": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz", - "integrity": "sha1-FlKBl7D5OKFTb0RoPHqT1XMYL1c=", - "dev": true, - "dependencies": { - "estree-walker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", - "dev": true - }, - "rollup-pluginutils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", - "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", - "dev": true - } - } - }, - "rollup-plugin-babili": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babili/-/rollup-plugin-babili-3.1.0.tgz", - "integrity": "sha512-P4S36bhpMwgyzkSCgcZ/UXhxDYOlsAhLfG/2oKM2wfsEqDhXvLtXXFojmARpo24857cUauWCt/ha4UL5Z5t6Mg==", - "dev": true - }, - "rollup-plugin-commonjs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.0.2.tgz", - "integrity": "sha1-mLFYm/4ypsD2d5C2DAtJmXKv7Yk=", - "dev": true - }, - "rollup-plugin-node-builtins": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz", - "integrity": "sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=", - "dev": true - }, - "rollup-plugin-node-resolve": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", - "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", - "dev": true - }, - "rollup-plugin-sourcemaps": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz", - "integrity": "sha1-YhJaqUCHqt97g+9N+vYptHMTXoc=", - "dev": true - }, - "rollup-pluginutils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", - "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "scroller": { - "version": "git://github.com/mjohnston/scroller.git#054c3349d5ff7474589eb7fbbb36708e5c48e435" - }, - "semver": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz", - "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "sha.js": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.0.tgz", - "integrity": "sha1-/K0LZLcK+ydpnkJZUMtevNQQvCA=", - "dev": true - }, - "source-map-support": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", - "dev": true - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true - }, - "string-range": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz", - "integrity": "sha1-qJPtNH5yKZvIO++78qaSqNI51d0=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "tiny-inflate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz", - "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz", - "integrity": "sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz", - "integrity": "sha1-zZ3S+GSTs/RNvu7zeA/adMXuFL4=" - }, - "unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=" - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "vlq": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz", - "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=", - "dev": true - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", - "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=", - "dev": true - } - } -} From c087ca8fbcaecf64f04534075d56c61a9467405b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 16:51:08 +0200 Subject: [PATCH 40/60] Remove unused babel decorators --- .babelrc | 3 --- dist/bundle.js | 42 +++++++++++++++++++++-------------------- package.json | 1 - webpack.config.babel.js | 3 +-- yarn.lock | 14 +++----------- 5 files changed, 26 insertions(+), 37 deletions(-) diff --git a/.babelrc b/.babelrc index e809fcb..5922d86 100644 --- a/.babelrc +++ b/.babelrc @@ -3,8 +3,5 @@ "es2015", "react", "stage-2" - ], - "plugins": [ - "transform-decorators-legacy" ] } diff --git a/dist/bundle.js b/dist/bundle.js index ac1d9a6..be6ab90 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,23 +1,25 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var s=1,u=function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,s=n.width||0,u=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==s&&(r.width=s),r.height!==u&&(r.height=u),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId?r.backingStoreId=e._layerId:!n.useBackingStore&&r.backingStoreId&&(r.backingStoreId=null),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}};t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=s++}},function(e,t,n){"use strict";function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=u[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),u[0].id=t.backingStoreId,u[0].canvas=r,u.push(u.shift())):(r=new l.default(t.frame.width,t.frame.height,i),u.push({id:t.backingStoreId,layer:t,canvas:r})),s=r.getContext("2d"),t.translate(-a,-o),s.save(),n&&n(s,t),s.restore(),t.children&&v(t,s),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,m=t.clipRect.y,y=t.clipRect.width,g=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,m,y,g)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=g,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){u=[]},t.handleImageLoad=function(e){u.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){u.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var r=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=v}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return s.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),s=new o.default,u={width:0,height:0,lines:[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?s(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(44),o=(r=i)&&r.__esModule?r:{default:r};var a=function(){};function l(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",a),this.setMaxListeners(100)}Object.assign(l.prototype,o.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var s={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=s.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=s._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=s.get(e);return t||(t=new l(e),s.length>=300&&s.popLeastUsed().destructor(),s.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this){if("children"!==t&&"frame"!==t&&"component"!==t)"function"!=typeof this[t]&&(this[t]=null)}this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;o=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&g(t,u),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,m=t.clipRect.y,y=t.clipRect.width,v=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,m,y,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var i=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var B=void 0,q=void 0;function X(e){B=q=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=H(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=H(null)):e=null,B=n,q=e!==n?e:null}function Y(e,t){X(e),e=B;var n=q;null===n?V(e,t):null===e.last||null===n.last?(V(e,t),V(n,t)):(V(e,t),n.last=t)}function Q(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function G(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,s=n.first,u=!1;null!==s;){var c=s.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),u||(u=!0,n.baseState=e)}else u||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=Q(s,r,e,o),l=!0):(c=Q(s,r,e,o))&&(e=l?i({},e,c):i(e,c),l=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(s)),null!==s.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[s.capturedValue]:c.push(s.capturedValue));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),u||(n.baseState=e),e}function Z(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(m=f,f=null):m=f.sibling;var y=p(i,f,l[d],s);if(null===y){null===f&&(f=m);break}e&&f&&null===y.alternate&&t(i,f),a=o(y,a,d),null===c?u=y:c.sibling=y,c=y,f=m}if(d===l.length)return n(i,f),u;if(null===f){for(;dm?(y=d,d=null):y=d.sibling;var _=p(i,d,v.value,s);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(i,d),a=o(_,a,m),null===f?c=_:f.sibling=_,f=_,d=y}if(v.done)return n(i,d),c;if(null===d){for(;!v.done;m++,v=l.next())null!==(v=h(i,v.value,s))&&(a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return c}for(d=r(i,d);!v.done;m++,v=l.next())null!==(v=g(d,i,m,v.value,s))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),a=o(v,a,m),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(i,e)}),c}return function(e,r,o,l){"object"==typeof o&&null!==o&&o.type===y&&null===o.key&&(o=o.props.children);var s="object"==typeof o&&null!==o;if(s)switch(o.$$typeof){case d:e:{var c=o.key;for(s=r;null!==s;){if(s.key===c){if(10===s.tag?o.type===y:s.type===o.type){n(e,s.sibling),(r=i(s,o.type===y?o.props.children:o.props,l)).ref=J(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===y?((r=R(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=I(o,e.mode,l)).ref=J(e,r,o),l.return=e,e=l)}return a(e);case m:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[],l)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=D(o,e.mode,l)).return=e,e=r}return a(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o,l)).return=e,e=r):(n(e,r),(r=A(o,e.mode,l)).return=e,e=r),a(e);if(K(o))return v(e,r,o,l);if(T(o))return _(e,r,o,l);if(s&&$(e,o),void 0===o)switch(e.tag){case 2:case 1:u("152",(l=e.type).displayName||l.name||"Component")}return n(e,r)}}var te=ee(!0),ne=ee(!1);function re(e,t,n,r,o,a,f){function d(e,t,n){h(e,t,n,t.expirationTime)}function h(e,t,n,r){t.child=null===e?ne(t,null,n,r):te(t,e.child,n,r)}function p(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function m(e,t,n,r,i,o){if(p(e,t),!n&&!i)return r&&E(t,!1),v(e,t);n=t.stateNode,c.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(h(e,t,null,o),t.child=null),h(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function y(e){var t=e.stateNode;t.pendingContext?P(e,t.pendingContext,t.pendingContext!==t.context):t.context&&P(e,t.context,!1),w(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function v(e,t){if(null!==e&&t.child!==e.child&&u("153"),null!==t.child){var n=O(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=O(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var _=e.shouldSetTextContent,b=e.shouldDeprioritizeSubtree,x=t.pushHostContext,w=t.pushHostContainer,T=r.pushProvider,S=n.getMaskedContext,C=n.getUnmaskedContext,L=n.hasContextChanged,M=n.pushContextProvider,P=n.pushTopLevelContextObject,E=n.invalidateContextProvider,I=o.enterHydrationState,R=o.resetHydrationState,A=o.tryToClaimNextHydratableInstance,D=(e=function(e,t,n,r,o){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function u(e,t){t.updater=g,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&g.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,g={isMounted:k,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Y(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Y(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:u,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),o=m(e),a=o?h(e,r):l,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return u(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=i({},e.memoizedState,t)),o&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=l,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&g.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=G(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var s=e.memoizedProps,u=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(s!==u||d!==m)&&c(e,l,u,m),d=e.memoizedState,t=null!==e.updateQueue?G(null,e,e.updateQueue,l,u,t):d;var g=void 0;if(s!==u&&(g=f(e,0,u,t)),null!==g&&void 0!==g){t=null===t||void 0===t?g:i({},t,g);var v=e.updateQueue;null!==v&&(v.baseState=i({},v.baseState,g))}return s!==u||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((s=a(e,s,u,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,u),o(e,t)),l.props=u,l.state=t,l.context=m,s):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,s=t.stateNode;s.props=t.memoizedProps,s.state=t.memoizedState;var u=t.memoizedProps,d=t.pendingProps,m=s.context,g=p(t);g=h(t,g),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(u!==d||m!==g)&&c(t,s,d,g),m=t.memoizedState,n=null!==t.updateQueue?G(e,t,t.updateQueue,s,d,n):m;var v=void 0;if(u!==d&&(v=f(t,0,d,n)),null!==v&&void 0!==v){n=null===n||void 0===n?v:i({},n,v);var _=t.updateQueue;null!==_&&(_.baseState=i({},_.baseState,v))}return u!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((v=a(t,u,d,m,n,g))?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(d,n,g),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(d,n,g)),"function"==typeof s.componentDidUpdate&&(t.effectTag|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),o(t,n)),s.props=d,s.state=n,s.context=g,v):("function"!=typeof s.componentDidUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof s.getSnapshotBeforeUpdate||u===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,a,f,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,z=e.callGetDerivedStateFromProps,j=e.constructClassInstance,N=e.mountClassInstance,F=e.resumeMountClassInstance,U=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:y(t);break;case 2:M(t);break;case 4:w(t,t.stateNode.containerInfo);break;case 13:T(t)}return null}switch(t.tag){case 0:null!==e&&u("155");var r=t.type,o=t.pendingProps,a=C(t);return r=r(o,a=S(t,a)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(a=t.type,t.tag=2,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,"function"==typeof a.getDerivedStateFromProps&&(null!==(o=z(t,r,o,t.memoizedState))&&void 0!==o&&(t.memoizedState=i({},t.memoizedState,o))),o=M(t),D(t,r),N(t,n),e=m(e,t,!0,o,!1,n)):(t.tag=1,d(e,t,r),t.memoizedProps=o,e=t.child),e;case 1:return o=t.type,n=t.pendingProps,L()||t.memoizedProps!==n?(r=C(t),o=o(n,r=S(t,r)),t.effectTag|=1,d(e,t,o),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 2:o=M(t),null===e?null===t.stateNode?(j(t,t.pendingProps),N(t,n),r=!0):r=F(t,n):r=U(e,t,n),a=!1;var l=t.updateQueue;return null!==l&&null!==l.capturedValues&&(a=r=!0),m(e,t,r,o,a,n);case 3:e:if(y(t),r=t.updateQueue,null!==r){if(a=t.memoizedState,o=G(e,t,r,null,null,n),t.memoizedState=o,null!==(r=t.updateQueue)&&null!==r.capturedValues)r=null;else{if(a===o){R(),e=v(e,t);break e}r=o.element}a=t.stateNode,(null===e||null===e.child)&&a.hydrate&&I(t)?(t.effectTag|=2,t.child=ne(t,null,r,n)):(R(),d(e,t,r)),t.memoizedState=o,e=t.child}else R(),e=v(e,t);return e;case 5:return x(t),null===e&&A(t),o=t.type,l=t.memoizedProps,r=t.pendingProps,a=null!==e?e.memoizedProps:null,L()||l!==r||((l=1&t.mode&&b(o,r))&&(t.expirationTime=1073741823),l&&1073741823===n)?(l=r.children,_(o,r)?l=null:a&&_(o,a)&&(t.effectTag|=16),p(e,t),1073741823!==n&&1&t.mode&&b(o,r)?(t.expirationTime=1073741823,t.memoizedProps=r,e=null):(d(e,t,l),t.memoizedProps=r,e=t.child)):e=v(e,t),e;case 6:return null===e&&A(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return o=t.pendingProps,L()||t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?ne(t,t.stateNode,r,n):te(t,e.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:return w(t,t.stateNode.containerInfo),o=t.pendingProps,L()||t.memoizedProps!==o?(null===e?t.child=te(t,null,o,n):d(e,t,o),t.memoizedProps=o,e=t.child):e=v(e,t),e;case 14:return d(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,L()||t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 11:return n=t.pendingProps.children,L()||null!==n&&t.memoizedProps!==n?(d(e,t,n),t.memoizedProps=n,e=t.child):e=v(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!L()&&o===i)return t.stateNode=0,T(t),v(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,T(t),v(e,t)}else g(t,r,a,n)}return t.stateNode=a,T(t),d(e,t,i.children),t.child}(e,t,n);case 12:e:{r=t.type,a=t.pendingProps,l=t.memoizedProps,o=r._currentValue;var s=r._changedBits;if(L()||0!==s||l!==a){t.memoizedProps=a;var c=a.unstable_observedBits;if(void 0!==c&&null!==c||(c=1073741823),t.stateNode=c,0!=(s&c))g(t,r,s,n);else if(l===a){e=v(e,t);break e}d(e,t,n=(n=a.children)(o)),e=t.child}else e=v(e,t)}return e;default:u("156")}}}}function ie(e,t){var n=t.source;null===t.stack&&W(n),null!==n&&S(n),t=t.value,null!==e&&2===e.tag&&S(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var oe={};function ae(e){function t(){if(null!==me)for(var e=me.return;null!==e;)H(e),e=e.return;ye=null,ge=0,me=null,be=!1}function n(e){return null!==xe&&xe.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ge);var i=e;if(1073741823===ge||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Pe)&&(Pe=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!pe&&0!==ge&&nNe&&u("185")}e=e.return}n=void 0}return n}function p(){return fe=ne()-ce,2+(fe/10|0)}function m(e,t,n,r,i){var o=he;he=1;try{return e(t,n,r,i)}finally{he=o}}function y(e){if(0!==Se){if(e>Se)return;le(Ce)}var t=ne()-ce;Se=e,Ce=ae(_,{timeout:10*(e-2)-t})}function g(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===Te?(we=Te=e,e.nextScheduledRoot=e):(Te=Te.nextScheduledRoot=e).nextScheduledRoot=we;else{var n=e.remainingExpirationTime;(0===n||t=Me)&&(!Ee||p()>=Me);)T(Le,Me,!Ee),v();else for(;null!==Le&&0!==Me&&(0===e||e>=Me);)T(Le,Me,!1),v();null!==Re&&(Se=0,Ce=-1),0!==Me&&y(Me),Re=null,Ee=!1,w()}function w(){if(Fe=0,null!==je){var e=je;je=null;for(var t=0;tUe)&&(Ee=!0)}function M(e){null===Le&&u("246"),Le.remainingExpirationTime=0,Oe||(Oe=!0,Ie=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),I=function(e,t){function n(e){return e===oe&&u("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(oe),s=e(oe),c=e(oe);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(c.current)},popHostContainer:function(e){a(l,e),a(s,e),a(c,e)},popHostContext:function(e){s.current===e&&(a(l,e),a(s,e))},pushHostContainer:function(e,t){o(c,t,e),o(s,e,e),o(l,oe,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(c.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(s,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||u("108",S(e)||"Unknown",o);return i({},t,n)}var o=e.createCursor,a=e.push,s=e.pop,c=o(l),f=o(!1),d=l;return{getUnmaskedContext:function(e){return n(e)?d:c.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return l;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(s(f,e),s(c,e))},popTopLevelContextObject:function(e){s(f,e),s(c,e)},pushTopLevelContextObject:function(e,t,n){null!=c.cursor&&u("168"),a(c,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||l,d=c.current,a(c,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||u("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,s(f,e),s(c,e),a(c,i,e)}else s(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==C(e)||2!==e.tag)&&u("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||u("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){u("175")},prepareToHydrateHostTextInstance:function(){u("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=s(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=s(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=re(e,I,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,s=e.appendInitialChild,c=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,g=n.popContextProvider,v=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):u(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return g(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),v(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&u("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)s(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}c(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&u("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||u("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)u("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=te(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:u("167");default:u("156")}}}}(e,I,R,P,A).completeWork,j=(I=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,s=t.popTopLevelContextObject,u=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:W(t)};do{switch(e.tag){case 3:return X(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){X(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),s(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return u(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),s(e);break;case 5:a(e);break;case 4:o(e);break;case 13:u(e)}}}}(I,R,P,0,n)).throwException,N=I.unwindWork,H=I.unwindInterruptedWork,V=(I=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(U(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&c(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function s(e){return 5===e.tag||3===e.tag||4===e.tag}function c(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&u("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||u(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,g=d.appendChild,v=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:u("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(s(t)){var n=t;break e}t=t.return}u("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:u("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?v(t,i.stateNode):g(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){c(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&u("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:u("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&Z(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}Z(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:u("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&u("264");var o=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&i(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?g[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),v(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,s,u){var c=r(),f=c,d=0,h=0,p=o++;if(u||(u=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}var g=function(o){var m=!0!==o,y=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((y-c)/1e3),p,!1));if(m)for(var v=Math.round((y-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=s?s(d):d;!1!==e(b,y,m)&&1!==d||!m?m&&(f=y,a.effect.Animate.requestAnimationFrame(g,u)):(i[p]=null,n&&n(60-h/((y-c)/1e3),p,1===d||null==l))};return i[p]=!0,a.effect.Animate.requestAnimationFrame(g,u),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,s=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),s>this.__maxScrollTop?s=this.__maxScrollTop:s<0&&(s=0),this.__publish(l,s,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,s=this.__scrollLeft,u=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;s=(d+s)*c/f-d,u=(h+u)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){s-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(s>p||s<0)&&(this.options.bouncing?s+=a/2*this.options.speedMultiplier:s=s>p?p:0)}if(this.__enableScrollY){u-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(u>m||u<0)&&(this.options.bouncing?(u+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&u<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&u>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):u=u>m?m:0)}o.length>60&&o.splice(0,30),o.push(s,u,t),this.__publish(s,u,c)}else{var y=this.options.locking?3:0,g=Math.abs(r-this.__initialTouchLeft),v=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&g>=y,this.__enableScrollY=this.options.scrollingY&&v>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(g>=5||v>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var s=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>s||Math.abs(this.__decelerationVelocityY)>s)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,s=l.__isAnimating;if(s&&(i.effect.Animate.stop(s),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var u=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-u,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=u+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,s?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,s=this.options.penetrationDeceleration,u=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*s:this.__decelerationVelocityX=a*u),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*s:this.__decelerationVelocityY=l*u)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,s=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return o.default.createElement(u,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();c.propTypes={style:a.default.object,numberOfItemsGetter:a.default.func.isRequired,itemHeightGetter:a.default.func.isRequired,itemGetter:a.default.func.isRequired,snapping:a.default.bool,scrollingDeceleration:a.default.number,scrollingPenetrationAcceleration:a.default.number,onScroll:a.default.func},c.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",s="flex-start",u="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",g="relative",v="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function E(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function O(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+E(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}function j(e){return e.style.position?e.style.position:"relative"}function N(e){return j(e)===g&&e.style.flex>0}function F(e,t){return e.layout[w[t]]+I(e,t)}function U(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function W(e,t){return void 0!==e.style[t]}function H(e,t){return void 0!==e.style[t]?e.style[t]:0}function V(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function q(e,t){void 0===e.layout[w[t]]&&U(e,t)&&(e.layout[w[t]]=B(V(e,t,e.style[w[t]]),R(e,t)))}function X(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function Y(e,t){return void 0!==e.style[_[t]]?H(e,_[t]):-H(e,b[t])}function Q(r,M,Q){var Z=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Q),K=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),Z),J=z(K,Z),$=D(i,Z);q(r,K),q(r,J),r.layout.direction=Z,r.layout[_[K]]+=C(r,K)+Y(r,K),r.layout[b[K]]+=k(r,K)+Y(r,K),r.layout[_[J]]+=C(r,J)+Y(r,J),r.layout[b[J]]+=k(r,J)+Y(r,J);var ee=r.children.length,te=R(r,$);if(function(e){return void 0!==e.style.measure}(r)){var ne=!T(r.layout[w[$]]),re=e;re=U(r,$)?r.style.width:ne?r.layout[w[$]]:M-I(r,$),re-=te;var ie=!U(r,$)&&!ne,oe=!U(r,a)&&T(r.layout[w[a]]);if(ie||oe){var ae=r.style.measure(re);ie&&(r.layout.width=ae.width+te),oe&&(r.layout.height=ae.height+R(r,a))}if(0===ee)return}var le,se,ue,ce,fe=function(e){return"wrap"===e.style.flexWrap}(r),de=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),he=P(r,K),pe=P(r,J),me=R(r,K),ye=R(r,J),ge=!T(r.layout[w[K]]),ve=!T(r.layout[w[J]]),_e=S(K),be=null,xe=null,we=e;ge&&(we=r.layout[w[K]]-me);for(var Te=0,Se=0,Ce=0,ke=0,Le=0,Me=0;Sewe&&le!==Te){Re--,Ce=1;break}Ae&&(j(ue)!==g||N(ue))&&(Ae=!1,De=le),ze&&(j(ue)!==g||He!==y&&He!==h||T(ue.layout[w[J]]))&&(ze=!1,je=le),Ae&&(ue.layout[x[K]]+=Ue,ge&&X(r,ue,K),Ue+=F(ue,K),We=B(We,V(ue,J,F(ue,J)))),ze&&(ue.layout[x[J]]+=ke+pe,ve&&X(r,ue,J)),Ce=0,Ee+=Ve,Se=le+1}var Be=0,qe=0,Xe=0;if(Xe=ge?we-Ee:B(Ee,0)-Ee,0!==Oe){var Ye,Qe,Ge=Xe/Ie;for(Fe=Ne;null!==Fe;)Ye=Ge*Fe.style.flex+R(Fe,K),Qe=V(Fe,K,Ye),Ye!==Qe&&(Xe-=Qe,Ie-=Fe.style.flex),Fe=Fe.nextFlexChild;for((Ge=Xe/Ie)<0&&(Ge=0),Fe=Ne;null!==Fe;)Fe.layout[w[K]]=V(Fe,K,Ge*Fe.style.flex+R(Fe,K)),Pe=e,U(r,$)?Pe=r.layout[w[$]]-te:_e||(Pe=M-I(r,$)-te),G(Fe,Pe,Z),ue=Fe,Fe=Fe.nextFlexChild,ue.nextFlexChild=null}else de!==s&&(de===u?Be=Xe/2:de===c?Be=Xe:de===f?(Xe=B(Xe,0),qe=Oe+Re-1!=0?Xe/(Oe+Re-1):0):de===d&&(Be=(qe=Xe/(Oe+Re))/2));for(Ue+=Be,le=De;le1&&ve){var $e=r.layout[w[J]]-ye,et=$e-ke,tt=0,nt=pe,rt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);rt===m?nt+=et:rt===p?nt+=et/2:rt===y&&$e>ke&&(tt=et/Me);var it=0;for(le=0;le0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,s=i.pageY,u=void 0;return n&&(l-=(u=n.getBoundingClientRect()).left,s-=u.top),s-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,s){var u=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var s=e.length;a="="===e.charAt(s-2)?2:"="===e.charAt(s-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var u=0;function f(e){l[u++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function s(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(a){case 1:l+=s((n=e[e.length-1])>>2),l+=s(n<<4&63),l+="==";break;case 2:l+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=s(n>>4&63),l+=s(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),s=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,s;for(r=v(e,5,257),i=v(e,5,1),o=v(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,s,4,3),p(u,c,2,1),l[28]=0,s[28]=258,e.exports=function(e,t){var l,s,u=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=g(u),v(u,2,0)){case 0:s=w(u);break;case 1:s=x(u,o,a);break;case 2:b(u,u.ltree,u.dtree),s=x(u,u.ltree,u.dtree);break;default:s=r}if(s!==n)throw new Error("Data error")}while(!l);return u.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=5,s=12,u=17,c=22,f=29,d=30,h=31,p=32,m=33,y=34,g=35,v=36,_=37,b=38,x=39,w=0,T=1,S=2,C=3,k=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return e===f?s:e===v||e===_||e===x?s:e===p?l:e},r=function(e){return e===y||e===g?d:e===h?u:e===b?c:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,u,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,s,u){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,s,u),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var u="function"==typeof r&&r;if(!s&&u)return r(l,!0);if(a)return a(l,!0);var c=new Error("Cannot find module '"+l+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[l]={exports:{}};t[l][0].call(f.exports,function(e){var n=t[l][1][e];return o(n||e)},f,f.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,a,l;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){o=l;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict"; + * react-reconciler.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var i;e.exports=function(t){var o=n(18),a=n(4),l=n(3),u=n(2),s=n(20);function c(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rt.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=V(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=V(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(r,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(r,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(r,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(r,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(r,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(r,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(r,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=i(r,d);!v.done;h++,v=l.next())null!==(v=g(d,r,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(r,e)}),s}return function(e,i,a,u){"object"==(void 0===a?"undefined":r(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":r(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=i;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(i=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),i.return=e,e=i;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((i=A(a.props.children,e.mode,u,a.key)).return=e,e=i):((u=R(a,e.mode,u)).ref=$(e,i,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==i;){if(i.key===s){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=o(i,a.children||[],u)).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=z(a,e.mode,u)).return=e,e=i}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=o(i,a,u)).return=e,e=i):(n(e,i),(i=D(a,e.mode,u)).return=e,e=i),l(e);if(J(a))return _(e,i,a,u);if(S(a))return b(e,i,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,i)}}var ne=te(!0),re=te(!1);function ie(e,t,n,i,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=i.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var i=t.type,a=t.pendingProps,l=k(t);return i=i(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===i?"undefined":r(i))&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,i,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,i),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,i),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(i=k(t),a=a(n,i=C(t,i)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),i=!0):i=U(t,n):i=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=i=!0),y(e,t,i,a,l,n);case 3:e:if(v(t),i=t.updateQueue,null!==i){if(l=t.memoizedState,a=Z(e,t,i,null,null,n),t.memoizedState=a,null!==(i=t.updateQueue)&&null!==i.capturedValues)i=null;else{if(l===a){A(),e=_(e,t);break e}i=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,i,n)):(A(),h(e,t,i)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,i=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==i||((u=1&t.mode&&x(a,i))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=i.children,b(a,i)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,i)?(t.expirationTime=1073741823,t.memoizedProps=i,e=null):(h(e,t,u),t.memoizedProps=i,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),i=a.children,t.stateNode=null===e?re(t,t.stateNode,i,n):ne(t,e.stateNode,i,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{i=t.type,l=t.pendingProps,u=t.memoizedProps,a=i._currentValue;var s=i._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,i,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,V=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function B(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=V(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}(Z,G),J=D(i,G);B(r,Z),B(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=V(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=V(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=V(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Ve=0,Be=0;if(Be=ye?xe-Pe:V(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Be/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Be-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Be/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Be/2:fe===c?He=Be:fe===f?(Be=V(Be,0),Ve=Oe+Ie-1!=0?Be/(Oe+Ie-1):0):fe===d&&(He=(Ve=Be/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&("function"==typeof r&&r))return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!i(t))throw TypeError("listener must be a function");var n=!1;function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var n,r,a,l;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){r=l;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ /** @license React v16.3.2 - * react.production.min.js - * - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r=n(18),i=n(4),o=n(2),a=n(17),l="function"==typeof Symbol&&Symbol.for,s=l?Symbol.for("react.element"):60103,u=l?Symbol.for("react.portal"):60106,c=l?Symbol.for("react.fragment"):60107,f=l?Symbol.for("react.strict_mode"):60108,d=l?Symbol.for("react.provider"):60109,h=l?Symbol.for("react.context"):60110,p=l?Symbol.for("react.async_mode"):60111,m=l?Symbol.for("react.forward_ref"):60112,y="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rP.length&&P.push(e)}function I(e,t,n,r){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:o=!0}}if(o)return n(r,e,""===t?"."+R(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;ad))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,u.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[u.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),r(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),i.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();h.propTypes={className:o.default.string,id:o.default.string,top:o.default.number.isRequired,left:o.default.number.isRequired,width:o.default.number.isRequired,height:o.default.number.isRequired,scale:o.default.number.isRequired,enableCSSLayout:o.default.bool,children:o.default.object,style:o.default.object,canvas:o.default.object},h.defaultProps={scale:window.devicePixelRatio||1},h.canvasRenderer=null,t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tO.length&&O.push(e)}function R(e,t,n,i){var o=void 0===e?"undefined":r(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(i,e,""===t?"."+A(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":r(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),i(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t Date: Thu, 16 Aug 2018 16:58:17 +0200 Subject: [PATCH 41/60] Removed duplicated index.js --- index.js | 13 ------------- stories/canvasStory.js | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) delete mode 100644 index.js diff --git a/index.js b/index.js deleted file mode 100644 index 6c0c8d6..0000000 --- a/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import ReactCanvas from "./src/index"; - -export const Text = ReactCanvas.Text; -export const Group = ReactCanvas.Group; -export const Gradient = ReactCanvas.Gradient; -export const Layer = ReactCanvas.Layer; -export const Surface = ReactCanvas.Surface; -export const Image = ReactCanvas.Image; -export const ListView = ReactCanvas.ListView; -export const FontFace = ReactCanvas.FontFace; -export const FrameUtils = ReactCanvas.FrameUtils; -export const measureText = ReactCanvas.measureText; -export const registerCustomComponent = ReactCanvas.registerCustomComponent; diff --git a/stories/canvasStory.js b/stories/canvasStory.js index f59a15e..a0a8f33 100644 --- a/stories/canvasStory.js +++ b/stories/canvasStory.js @@ -1,6 +1,6 @@ import React from "react"; import { storiesOf } from "@storybook/react"; -import { Gradient, Text, Group, Image, Surface } from "../index"; +import { Gradient, Text, Group, Image, Surface } from "../src/index"; storiesOf("Gradient", module) .add("transparent-grey", () => { From 3b4b37e80476f5e30d0974fde434193338f9bd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 17:00:52 +0200 Subject: [PATCH 42/60] Removed unused create-react-class --- package.json | 1 - yarn.lock | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index c180f43..ddfcf79 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ }, "dependencies": { "@craigmorton/linebreak": "^0.4.5", - "create-react-class": "^15.6.0", "css-layout": "^1.1.1", "fbjs": "^0.8.16", "multi-key-cache": "^1.0.2", diff --git a/yarn.lock b/yarn.lock index 2ec276c..feda095 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2534,7 +2534,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.6.0, create-react-class@^15.6.2: +create-react-class@^15.6.2: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" dependencies: From 8f07476626a33c876651224ec1565dafdfef4a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 17:05:04 +0200 Subject: [PATCH 43/60] Remove unused babel-register --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index ddfcf79..0ae2980 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "babel-plugin-external-helpers": "^6.22.0", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-register": "^6.26.0", "babel-runtime": "^6.26.0", "d3-scale": "^1.0.6", "del": "^3.0.0", From 0fbc1a11cd76b21da492eb2df1afe6a30a273f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 17:06:50 +0200 Subject: [PATCH 44/60] Move babel plugins to babelrc --- .babelrc | 4 ++++ webpack.config.babel.js | 8 +------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.babelrc b/.babelrc index 5922d86..b81f57a 100644 --- a/.babelrc +++ b/.babelrc @@ -3,5 +3,9 @@ "es2015", "react", "stage-2" + ], + "plugins": [ + "transform-class-properties", + "transform-object-rest-spread" ] } diff --git a/webpack.config.babel.js b/webpack.config.babel.js index 6ceed85..7f0c85a 100644 --- a/webpack.config.babel.js +++ b/webpack.config.babel.js @@ -18,13 +18,7 @@ const config = { test: /\.js$/, exclude: /(node_modules)/, use: { - loader: "babel-loader", - query: { - plugins: [ - "transform-class-properties", - "transform-object-rest-spread" - ] - } + loader: "babel-loader" } } ] From 87bc32bffac35d6e5cd327d5be7eddd8e8391a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 16 Aug 2018 17:22:44 +0200 Subject: [PATCH 45/60] Replaced webpack build with babel & build is NOT committed anymore! --- .babelrc | 9 +- .gitignore | 1 + dist/bundle.js | 25 - package.json | 15 +- webpack.config.babel.js | 28 - yarn.lock | 2690 +++------------------------------------ 6 files changed, 200 insertions(+), 2568 deletions(-) delete mode 100644 dist/bundle.js delete mode 100644 webpack.config.babel.js diff --git a/.babelrc b/.babelrc index b81f57a..7f397f9 100644 --- a/.babelrc +++ b/.babelrc @@ -1,8 +1,13 @@ { "presets": [ - "es2015", "react", - "stage-2" + [ + "env", { + "targets": { + "browsers": ["last 2 versions"] + } + } + ] ], "plugins": [ "transform-class-properties", diff --git a/.gitignore b/.gitignore index 0c24677..03e9bd6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules npm-debug.log .idea storybook-static +dist \ No newline at end of file diff --git a/dist/bundle.js b/dist/bundle.js deleted file mode 100644 index be6ab90..0000000 --- a/dist/bundle.js +++ /dev/null @@ -1,25 +0,0 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){for(var n in t)e[n]=t[n]}(t,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=50)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(16)),i=n(1),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),a=l(n(2));function l(e){return e&&e.__esModule?e:{default:e}}var u=1;t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(){var e=this;this.putEventListener=function(t,n){var r=e.subscriptions,i=e.listeners;if(i.get(t)!==n&&i.set(t,n),n)r.has(t)||r.set(t,e.node.subscribe(t,n,e));else{var o=r.get(t);o&&(o(),r.delete(t))}},this.destroyEventListeners=function(){e.listeners.clear(),e.subscriptions.clear(),e.node.destroyEventListeners()},this.setStyleFromProps=function(e,t){var n=a.default;t.style?(n=t.style,e._originalStyle=n):e._originalStyle=null,e.frame||(e.frame=(0,i.make)(0,0,0,0));var r=e.frame,o=n.left||0,l=n.top||0,u=n.width||0,s=n.height||0;r.x!==o&&(r.x=o),r.y!==l&&(r.y=l),r.width!==u&&(r.width=u),r.height!==s&&(r.height=s),e.alpha!==n.alpha&&(e.alpha=n.alpha),e.backgroundColor!==n.backgroundColor&&(e.backgroundColor=n.backgroundColor),e.borderColor!==n.borderColor&&(e.borderColor=n.borderColor),e.borderWidth!==n.borderWidth&&(e.borderWidth=n.borderWidth),e.borderRadius!==n.borderRadius&&(e.borderRadius=n.borderRadius),e.clipRect!==n.clipRect&&(e.clipRect=n.clipRect),e.scale!==n.scale&&(e.scale=n.scale),e.translateX===n.translateX&&e.translateY===n.translateY||(e.translateX=n.translateX,e.translateY=n.translateY),e.zIndex!==n.zIndex&&(e.zIndex=n.zIndex),e.shadowColor!==n.shadowColor&&(e.shadowColor=n.shadowColor),e.shadowBlur!==n.shadowBlur&&(e.shadowBlur=n.shadowBlur),e.shadowOffsetX!==n.shadowOffsetX&&(e.shadowOffsetX=n.shadowOffsetX),e.shadowOffsetY!==n.shadowOffsetY&&(e.shadowOffsetY=n.shadowOffsetY)},this.applyCommonLayerProps=function(t,n){var r=e.node;for(var i in n.useBackingStore&&r.backingStoreId!==e._layerId?r.backingStoreId=e._layerId:!n.useBackingStore&&r.backingStoreId&&(r.backingStoreId=null),o)t[i]!==n[i]&&e.putEventListener(o[i],n[i]);e.setStyleFromProps(r,n)},this.getLayer=function(){return e.node},this.reset=function(){e.destroyEventListeners(),e._originalStyle=null,e.node.reset(e)}}.call(this),this.type=t,this.subscriptions=new Map,this.listeners=new Map,this.node=new r.default(this),this._layerId=u++}},function(e,t,n){function r(e,t,n,r){return new function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r}(e,t,n,r)}function i(e){return r(e.x,e.y,e.width,e.height)}Object.defineProperty(t,"__esModule",{value:!0}),t.make=r,t.zero=function(){return r(0,0,0,0)},t.clone=i,t.inset=function(e,t,n,r,o){var a=i(e);return void 0===r&&(r=t,o=n),void 0===n&&(n=r=o=t),a.x+=o,a.y+=t,a.height-=t+r,a.width-=o+n,a},t.intersection=function(e,t){var n=Math.max(e.x,t.x),i=Math.min(e.x+e.width,t.x+t.width),o=Math.max(e.y,t.y),a=Math.min(e.y+e.height,t.y+t.height);return i>=n&&a>=o?r(n,o,i-n,a-o):null},t.intersects=function(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height=l.default.poolSize?(r=s[0].canvas,l.default.call(r,t.frame.width,t.frame.height,i),s[0].id=t.backingStoreId,s[0].canvas=r,s.push(s.shift())):(r=new l.default(t.frame.width,t.frame.height,i),s.push({id:t.backingStoreId,layer:t,canvas:r})),u=r.getContext("2d"),t.translate(-a,-o),u.save(),n&&n(u,t),u.restore(),t.children&&g(t,u),t.translate(a,o)),t.clipRect){var c=(t.clipRect.x-t.frame.x)*i,f=(t.clipRect.y-t.frame.y)*i,d=t.clipRect.width*i,h=t.clipRect.height*i,p=t.clipRect.x,m=t.clipRect.y,y=t.clipRect.width,v=t.clipRect.height;d>0&&h>0&&e.drawImage(r.getRawCanvas(),c,f,d,h,p,m,y,v)}else e.drawImage(r.getRawCanvas(),t.frame.x,t.frame.y,t.frame.width,t.frame.height)},t.drawBaseRenderLayer=h,t.drawRenderLayer=v,t.invalidateBackingStore=c,t.invalidateAllBackingStores=function(){s=[]},t.handleImageLoad=function(e){s.forEach(function(t){f(t.layer,e)&&c(t.id)})},t.handleFontLoad=function(e){s.forEach(function(t){d(t.layer,e)&&c(t.id)})},t.layerContainsImage=f,t.layerContainsFontFace=d,t.registerLayerType=function(e,t){if(p.hasOwnProperty(e))throw new Error("type "+e+" already registered");p[e]=t}},function(e,t,n){e.exports=n(46)()},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RawImage=void 0;var i=function(){function e(e,t){for(var n=0;nt||_&&_.required?(d.height+=a,d.lines.push({width:p,text:y.trim()}),y=b,p=l.measureText(y.trim()).width):(y=m,p=h.width),_=g}(y=y.trim()).length>0&&(h=l.measureText(y),d.lines.push({width:h,text:y}))}return u.set(c,d),d};var r=n(14),i=a(n(41)),o=a(n(12));function a(e){return e&&e.__esModule?e:{default:e}}var l=document.createElement("canvas").getContext("2d"),u=new o.default,s={width:0,height:0,lines:[]}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){var r=n(43);function i(){this.cache=new r,this._vAl_kEY_nAMe_no_cOLLision_="_vAl_kEY_nAMe_no_cOLLision_"}i.prototype.set=function(e,t){var n,i,o=e.length,a=this.cache;if(!o)return this;for(i=0;i=0&&!(r=i[t].get(e[t])).size;t--)i[t].delete(e[t]);return!0},i.prototype.has=function(e){var t,n=e.length,r=this.cache;if(!n)return!1;for(t=0;t=a?u(e,!0):requestAnimationFrame(t)}()}};t.isFontLoaded=function(e){return void 0!==i[e.id]||!e.url},t.loadFont=s},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,i=(r=n(44))&&r.__esModule?r:{default:r},o=function(){};function a(e){this._originalSrc=e,this._img=new Image,this._img.onload=this.emit.bind(this,"load"),this._img.onerror=this.emit.bind(this,"error"),this._img.crossOrigin=!0,this._img.src=e,this.on("error",o),this.setMaxListeners(100)}Object.assign(a.prototype,i.default.prototype,{destructor:function(){this.removeAllListeners()},getOriginalSrc:function(){return this._originalSrc},getRawImage:function(){return this._img},getWidth:function(){return this._img.naturalWidth},getHeight:function(){return this._img.naturalHeight},isLoaded:function(){return this._img.naturalHeight>0}});var l={length:0,elements:{},push:function(e,t){this.length++,this.elements[e]={hash:e,freq:0,data:t}},get:function(e){var t=this.elements[e];return t?(t.freq++,t.data):null},removeElement:function(e){var t=this.elements[e];return delete this.elements[e],this.length--,t},_reduceLeastUsed:function(e,t){var n=l.elements[t];return e.freq>n.freq?n:e},popLeastUsed:function(){var e=l._reduceLeastUsed,t=Object.keys(this.elements).reduce(e,{freq:1/0});return t.hash?this.removeElement(t.hash):null}},u={get:function(e){var t=l.get(e);return t||(t=new a(e),l.length>=300&&l.popLeastUsed().destructor(),l.push(t.getOriginalSrc(),t)),t}};t.default=u},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(7),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function a(e){this.reset(e)}a.prototype={reset:function(e){for(var t in this.backingStoreId&&(0,i.invalidateBackingStore)(this.backingStoreId),this)"children"!==t&&"frame"!==t&&"component"!==t&&"function"!=typeof this[t]&&(this[t]=null);this.children?this.children.length=0:this.children=[],this.frame?(this.frame.x=null,this.frame.y=null,this.frame.width=null,this.frame.height=null):this.frame=(0,r.zero)(),this.component=e},getRootLayer:function(){for(var e=this;e.parentLayer;)e=e.parentLayer;return e},inject:function(e){this.parentLayer&&this.parentLayer!==e&&this.remove(),this.parentLayer||e.addChild(this)},injectBefore:function(e,t){this.remove();var n=e.children.indexOf(t);e.children.splice(n,0,this),this.parentLayer=e,this.zIndex=t.zIndex||0},addChild:function(e){e.parentLayer=this,this.children.push(e)},remove:function(){this.parentLayer&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer=null)},moveToTop:function(){this.parentLayer&&this.parentLayer.children.length>1&&this.parentLayer.children[0]!==this&&(this.parentLayer.children.splice(this.parentLayer.children.indexOf(this),1),this.parentLayer.children.unshift(this))},subscribe:function(e,t,n){for(var r in o)o[r]===e&&(this[r]=t);return this.removeEventListener.bind(this,e,t,n)},destroyEventListeners:function(){for(var e in o)this[e]&&delete this[e]},removeEventListener:function(e,t,n){var r=this.eventListeners[e],i=void 0;if(r)for(var o=0,a=r.length;ot.expirationTime)&&(e.expirationTime=t.expirationTime)}new Set;var q=void 0,X=void 0;function Y(e){q=X=null;var t=e.alternate,n=e.updateQueue;null===n&&(n=e.updateQueue=V(null)),null!==t?null===(e=t.updateQueue)&&(e=t.updateQueue=V(null)):e=null,q=n,X=e!==n?e:null}function Q(e,t){Y(e),e=q;var n=X;null===n?B(e,t):null===e.last||null===n.last?(B(e,t),B(n,t)):(B(e,t),n.last=t)}function G(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function Z(e,t,n,r,i,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var l=!0,u=n.first,s=!1;null!==u;){var c=u.expirationTime;if(c>a){var f=n.expirationTime;(0===f||f>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=G(u,r,e,i),l=!0):(c=G(u,r,e,i))&&(e=l?o({},e,c):o(e,c),l=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(u)),null!==u.capturedValue&&(null===(c=n.capturedValues)?n.capturedValues=[u.capturedValue]:c.push(u.capturedValue));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(t.updateQueue=null),s||(n.baseState=e),e}function K(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(h=f,f=null):h=f.sibling;var y=m(r,f,l[d],u);if(null===y){null===f&&(f=h);break}e&&f&&null===y.alternate&&t(r,f),o=a(y,o,d),null===c?s=y:c.sibling=y,c=y,f=h}if(d===l.length)return n(r,f),s;if(null===f){for(;dh?(y=d,d=null):y=d.sibling;var _=m(r,d,v.value,u);if(null===_){d||(d=y);break}e&&d&&null===_.alternate&&t(r,d),o=a(_,o,h),null===f?s=_:f.sibling=_,f=_,d=y}if(v.done)return n(r,d),s;if(null===d){for(;!v.done;h++,v=l.next())null!==(v=p(r,v.value,u))&&(o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return s}for(d=i(r,d);!v.done;h++,v=l.next())null!==(v=g(d,r,h,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?h:v.key),o=a(v,o,h),null===f?s=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(r,e)}),s}return function(e,i,a,u){"object"==(void 0===a?"undefined":r(a))&&null!==a&&a.type===v&&null===a.key&&(a=a.props.children);var s="object"==(void 0===a?"undefined":r(a))&&null!==a;if(s)switch(a.$$typeof){case h:e:{var f=a.key;for(s=i;null!==s;){if(s.key===f){if(10===s.tag?a.type===v:s.type===a.type){n(e,s.sibling),(i=o(s,a.type===v?a.props.children:a.props,u)).ref=$(e,s,a),i.return=e,e=i;break e}n(e,s);break}t(e,s),s=s.sibling}a.type===v?((i=A(a.props.children,e.mode,u,a.key)).return=e,e=i):((u=R(a,e.mode,u)).ref=$(e,i,a),u.return=e,e=u)}return l(e);case y:e:{for(s=a.key;null!==i;){if(i.key===s){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=o(i,a.children||[],u)).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=z(a,e.mode,u)).return=e,e=i}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=o(i,a,u)).return=e,e=i):(n(e,i),(i=D(a,e.mode,u)).return=e,e=i),l(e);if(J(a))return _(e,i,a,u);if(S(a))return b(e,i,a,u);if(s&&ee(e,a),void 0===a)switch(e.tag){case 2:case 1:c("152",(u=e.type).displayName||u.name||"Component")}return n(e,i)}}var ne=te(!0),re=te(!1);function ie(e,t,n,i,a,l,d){function h(e,t,n){p(e,t,n,t.expirationTime)}function p(e,t,n,r){t.child=null===e?re(t,null,n,r):ne(t,e.child,n,r)}function m(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function y(e,t,n,r,i,o){if(m(e,t),!n&&!i)return r&&E(t,!1),_(e,t);n=t.stateNode,f.current=t;var a=i?null:n.render();return t.effectTag|=1,i&&(p(e,t,null,o),t.child=null),p(e,t,a,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&E(t,!0),t.child}function v(e){var t=e.stateNode;t.pendingContext?O(e,t.pendingContext,t.pendingContext!==t.context):t.context&&O(e,t.context,!1),T(e,t.containerInfo)}function g(e,t,n,r){var i=e.child;for(null!==i&&(i.return=e);null!==i;){switch(i.tag){case 12:var o=0|i.stateNode;if(i.type===t&&0!=(o&n)){for(o=i;null!==o;){var a=o.alternate;if(0===o.expirationTime||o.expirationTime>r)o.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}o=o.return}o=null}else o=i.child;break;case 13:o=i.type===e.type?null:i.child;break;default:o=i.child}if(null!==o)o.return=i;else for(o=i;null!==o;){if(o===e){o=null;break}if(null!==(i=o.sibling)){o=i;break}o=o.return}i=o}}function _(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=I(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=I(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var b=e.shouldSetTextContent,x=e.shouldDeprioritizeSubtree,w=t.pushHostContext,T=t.pushHostContainer,S=i.pushProvider,C=n.getMaskedContext,k=n.getUnmaskedContext,M=n.hasContextChanged,P=n.pushContextProvider,O=n.pushTopLevelContextObject,E=n.invalidateContextProvider,R=a.enterHydrationState,A=a.resetHydrationState,D=a.tryToClaimNextHydratableInstance,z=(e=function(e,t,n,r,i){function a(e,t,n,r,i,o){if(null===t||null!==e.updateQueue&&e.updateQueue.hasForceUpdate)return!0;var a=e.stateNode;return e=e.type,"function"==typeof a.shouldComponentUpdate?a.shouldComponentUpdate(n,i,o):!(e.prototype&&e.prototype.isPureReactComponent&&s(t,n)&&s(r,i))}function l(e,t){t.updater=v,e.stateNode=t,t._reactInternalFiber=e}function c(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&v.enqueueReplaceState(t,t.state,null)}function f(e,t,n,r){if("function"==typeof(e=e.type).getDerivedStateFromProps)return e.getDerivedStateFromProps.call(null,n,r)}var d=e.cacheContext,h=e.getMaskedContext,p=e.getUnmaskedContext,m=e.isContextConsumer,y=e.hasContextChanged,v={isMounted:L,enqueueSetState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!1,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueReplaceState:function(e,r,i){e=e._reactInternalFiber,i=void 0===i?null:i;var o=n(e);Q(e,{expirationTime:o,partialState:r,callback:i,isReplace:!0,isForced:!1,capturedValue:null,next:null}),t(e,o)},enqueueForceUpdate:function(e,r){e=e._reactInternalFiber,r=void 0===r?null:r;var i=n(e);Q(e,{expirationTime:i,partialState:null,callback:r,isReplace:!1,isForced:!0,capturedValue:null,next:null}),t(e,i)}};return{adoptClassInstance:l,callGetDerivedStateFromProps:f,constructClassInstance:function(e,t){var n=e.type,r=p(e),i=m(e),a=i?h(e,r):u,s=null!==(n=new n(t,a)).state&&void 0!==n.state?n.state:null;return l(e,n),e.memoizedState=s,null!==(t=f(e,0,t,s))&&void 0!==t&&(e.memoizedState=o({},e.memoizedState,t)),i&&d(e,r,a),n},mountClassInstance:function(e,t){var n=e.type,r=e.alternate,i=e.stateNode,o=e.pendingProps,a=p(e);i.props=o,i.state=e.memoizedState,i.refs=u,i.context=h(e,a),"function"==typeof n.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(n=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),n!==i.state&&v.enqueueReplaceState(i,i.state,null),null!==(n=e.updateQueue)&&(i.state=Z(r,e,n,i,o,t))),"function"==typeof i.componentDidMount&&(e.effectTag|=4)},resumeMountClassInstance:function(e,t){var n=e.type,l=e.stateNode;l.props=e.memoizedProps,l.state=e.memoizedState;var u=e.memoizedProps,s=e.pendingProps,d=l.context,m=p(e);m=h(e,m),(n="function"==typeof n.getDerivedStateFromProps||"function"==typeof l.getSnapshotBeforeUpdate)||"function"!=typeof l.UNSAFE_componentWillReceiveProps&&"function"!=typeof l.componentWillReceiveProps||(u!==s||d!==m)&&c(e,l,s,m),d=e.memoizedState,t=null!==e.updateQueue?Z(null,e,e.updateQueue,l,s,t):d;var v=void 0;if(u!==s&&(v=f(e,0,s,t)),null!==v&&void 0!==v){t=null===t||void 0===t?v:o({},t,v);var g=e.updateQueue;null!==g&&(g.baseState=o({},g.baseState,v))}return u!==s||d!==t||y()||null!==e.updateQueue&&e.updateQueue.hasForceUpdate?((u=a(e,u,s,d,t,m))?(n||"function"!=typeof l.UNSAFE_componentWillMount&&"function"!=typeof l.componentWillMount||("function"==typeof l.componentWillMount&&l.componentWillMount(),"function"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"==typeof l.componentDidMount&&(e.effectTag|=4)):("function"==typeof l.componentDidMount&&(e.effectTag|=4),r(e,s),i(e,t)),l.props=s,l.state=t,l.context=m,u):("function"==typeof l.componentDidMount&&(e.effectTag|=4),!1)},updateClassInstance:function(e,t,n){var l=t.type,u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var s=t.memoizedProps,d=t.pendingProps,m=u.context,v=p(t);v=h(t,v),(l="function"==typeof l.getDerivedStateFromProps||"function"==typeof u.getSnapshotBeforeUpdate)||"function"!=typeof u.UNSAFE_componentWillReceiveProps&&"function"!=typeof u.componentWillReceiveProps||(s!==d||m!==v)&&c(t,u,d,v),m=t.memoizedState,n=null!==t.updateQueue?Z(e,t,t.updateQueue,u,d,n):m;var g=void 0;if(s!==d&&(g=f(t,0,d,n)),null!==g&&void 0!==g){n=null===n||void 0===n?g:o({},n,g);var _=t.updateQueue;null!==_&&(_.baseState=o({},_.baseState,g))}return s!==d||m!==n||y()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate?((g=a(t,s,d,m,n,v))?(l||"function"!=typeof u.UNSAFE_componentWillUpdate&&"function"!=typeof u.componentWillUpdate||("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(d,n,v),"function"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(d,n,v)),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4),"function"==typeof u.getSnapshotBeforeUpdate&&(t.effectTag|=2048)):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),r(t,d),i(t,n)),u.props=d,u.state=n,u.context=v,g):("function"!=typeof u.componentDidUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=4),"function"!=typeof u.getSnapshotBeforeUpdate||s===e.memoizedProps&&m===e.memoizedState||(t.effectTag|=2048),!1)}}}(n,l,d,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,j=e.callGetDerivedStateFromProps,N=e.constructClassInstance,F=e.mountClassInstance,U=e.resumeMountClassInstance,W=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n){switch(t.tag){case 3:v(t);break;case 2:P(t);break;case 4:T(t,t.stateNode.containerInfo);break;case 13:S(t)}return null}switch(t.tag){case 0:null!==e&&c("155");var i=t.type,a=t.pendingProps,l=k(t);return i=i(a,l=C(t,l)),t.effectTag|=1,"object"==(void 0===i?"undefined":r(i))&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(l=t.type,t.tag=2,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,"function"==typeof l.getDerivedStateFromProps&&null!==(a=j(t,i,a,t.memoizedState))&&void 0!==a&&(t.memoizedState=o({},t.memoizedState,a)),a=P(t),z(t,i),F(t,n),e=y(e,t,!0,a,!1,n)):(t.tag=1,h(e,t,i),t.memoizedProps=a,e=t.child),e;case 1:return a=t.type,n=t.pendingProps,M()||t.memoizedProps!==n?(i=k(t),a=a(n,i=C(t,i)),t.effectTag|=1,h(e,t,a),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 2:a=P(t),null===e?null===t.stateNode?(N(t,t.pendingProps),F(t,n),i=!0):i=U(t,n):i=W(e,t,n),l=!1;var u=t.updateQueue;return null!==u&&null!==u.capturedValues&&(l=i=!0),y(e,t,i,a,l,n);case 3:e:if(v(t),i=t.updateQueue,null!==i){if(l=t.memoizedState,a=Z(e,t,i,null,null,n),t.memoizedState=a,null!==(i=t.updateQueue)&&null!==i.capturedValues)i=null;else{if(l===a){A(),e=_(e,t);break e}i=a.element}l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&R(t)?(t.effectTag|=2,t.child=re(t,null,i,n)):(A(),h(e,t,i)),t.memoizedState=a,e=t.child}else A(),e=_(e,t);return e;case 5:return w(t),null===e&&D(t),a=t.type,u=t.memoizedProps,i=t.pendingProps,l=null!==e?e.memoizedProps:null,M()||u!==i||((u=1&t.mode&&x(a,i))&&(t.expirationTime=1073741823),u&&1073741823===n)?(u=i.children,b(a,i)?u=null:l&&b(a,l)&&(t.effectTag|=16),m(e,t),1073741823!==n&&1&t.mode&&x(a,i)?(t.expirationTime=1073741823,t.memoizedProps=i,e=null):(h(e,t,u),t.memoizedProps=i,e=t.child)):e=_(e,t),e;case 6:return null===e&&D(t),t.memoizedProps=t.pendingProps,null;case 8:t.tag=7;case 7:return a=t.pendingProps,M()||t.memoizedProps!==a||(a=t.memoizedProps),i=a.children,t.stateNode=null===e?re(t,t.stateNode,i,n):ne(t,e.stateNode,i,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:return T(t,t.stateNode.containerInfo),a=t.pendingProps,M()||t.memoizedProps!==a?(null===e?t.child=ne(t,null,a,n):h(e,t,a),t.memoizedProps=a,e=t.child):e=_(e,t),e;case 14:return h(e,t,n=(n=t.type.render)(t.pendingProps,t.ref)),t.memoizedProps=n,t.child;case 10:return n=t.pendingProps,M()||t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 11:return n=t.pendingProps.children,M()||null!==n&&t.memoizedProps!==n?(h(e,t,n),t.memoizedProps=n,e=t.child):e=_(e,t),e;case 13:return function(e,t,n){var r=t.type._context,i=t.pendingProps,o=t.memoizedProps;if(!M()&&o===i)return t.stateNode=0,S(t),_(e,t);var a=i.value;if(t.memoizedProps=i,null===o)a=1073741823;else if(o.value===i.value){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else{var l=o.value;if(l===a&&(0!==l||1/l==1/a)||l!=l&&a!=a){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t);a=0}else if(a="function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,a):1073741823,0==(a|=0)){if(o.children===i.children)return t.stateNode=0,S(t),_(e,t)}else g(t,r,a,n)}return t.stateNode=a,S(t),h(e,t,i.children),t.child}(e,t,n);case 12:e:{i=t.type,l=t.pendingProps,u=t.memoizedProps,a=i._currentValue;var s=i._changedBits;if(M()||0!==s||u!==l){t.memoizedProps=l;var f=l.unstable_observedBits;if(void 0!==f&&null!==f||(f=1073741823),t.stateNode=f,0!=(s&f))g(t,i,s,n);else if(u===l){e=_(e,t);break e}h(e,t,n=(n=l.children)(a)),e=t.child}else e=_(e,t)}return e;default:c("156")}}}}function oe(e,t){var n=t.source;null===t.stack&&H(n),null!==n&&C(n),t=t.value,null!==e&&2===e.tag&&C(e);try{t&&t.suppressReactErrorLogging||console.error(t)}catch(e){e&&e.suppressReactErrorLogging||console.error(e)}}var ae={};function le(e){function t(){if(null!==pe)for(var e=pe.return;null!==e;)F(e),e=e.return;me=null,ye=0,pe=null,_e=!1}function n(e){return null!==be&&be.has(e)}function r(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(512&e.effectTag)){t=z(t,e,ye);var i=e;if(1073741823===ye||1073741823!==i.expirationTime){e:switch(i.tag){case 3:case 2:var o=i.updateQueue;o=null===o?0:o.expirationTime;break e;default:o=0}for(var a=i.child;null!==a;)0!==a.expirationTime&&(0===o||o>a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&0==(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1Me)&&(Me=e),e}function h(e,n){e:{for(;null!==e;){if((0===e.expirationTime||e.expirationTime>n)&&(e.expirationTime=n),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>n)&&(e.alternate.expirationTime=n),null===e.return){if(3!==e.tag){n=void 0;break e}var r=e.stateNode;!he&&0!==ye&&nje&&c("185")}e=e.return}n=void 0}return n}function p(){return 2+((te()-ce)/10|0)}function m(e,t,n,r,i){var o=de;de=1;try{return e(t,n,r,i)}finally{de=o}}function y(e){if(0!==Te){if(e>Te)return;le(Se)}var t=te()-ce;Te=e,Se=re(_,{timeout:10*(e-2)-t})}function v(e,t){if(null===e.nextScheduledRoot)e.remainingExpirationTime=t,null===we?(xe=we=e,e.nextScheduledRoot=e):(we=we.nextScheduledRoot=e).nextScheduledRoot=xe;else{var n=e.remainingExpirationTime;(0===n||t=Le)&&(!Pe||p()>=Le);)T(ke,Le,!Pe),g();else for(;null!==ke&&0!==Le&&(0===e||e>=Le);)T(ke,Le,!1),g();null!==Ie&&(Te=0,Se=-1),0!==Le&&y(Le),Ie=null,Pe=!1,w()}function w(){if(Ne=0,null!==ze){var e=ze;ze=null;for(var t=0;tFe)&&(Pe=!0)}function M(e){null===ke&&c("246"),ke.remainingExpirationTime=0,Oe||(Oe=!0,Ee=e)}var P=function(){var e=[],t=-1;return{createCursor:function(e){return{current:e}},isEmpty:function(){return-1===t},pop:function(n){0>t||(n.current=e[t],e[t]=null,t--)},push:function(n,r){e[++t]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}(),O=function(e,t){function n(e){return e===ae&&c("174"),e}var r=e.getChildHostContext,i=e.getRootHostContext;e=t.createCursor;var o=t.push,a=t.pop,l=e(ae),u=e(ae),s=e(ae);return{getHostContext:function(){return n(l.current)},getRootHostContainer:function(){return n(s.current)},popHostContainer:function(e){a(l,e),a(u,e),a(s,e)},popHostContext:function(e){u.current===e&&(a(l,e),a(u,e))},pushHostContainer:function(e,t){o(s,t,e),o(u,e,e),o(l,ae,e),t=i(t),a(l,e),o(l,t,e)},pushHostContext:function(e){var t=n(s.current),i=n(l.current);i!==(t=r(i,e.type,t))&&(o(u,e,e),o(l,t,e))}}}(e,P),R=function(e){function t(e,t,n){(e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n}function n(e){return 2===e.tag&&null!=e.type.childContextTypes}function r(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var i in n=n.getChildContext())i in r||c("108",C(e)||"Unknown",i);return o({},t,n)}var i=e.createCursor,a=e.push,l=e.pop,s=i(u),f=i(!1),d=u;return{getUnmaskedContext:function(e){return n(e)?d:s.current},cacheContext:t,getMaskedContext:function(e,n){var r=e.type.contextTypes;if(!r)return u;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=n[o];return i&&t(e,n,a),a},hasContextChanged:function(){return f.current},isContextConsumer:function(e){return 2===e.tag&&null!=e.type.contextTypes},isContextProvider:n,popContextProvider:function(e){n(e)&&(l(f,e),l(s,e))},popTopLevelContextObject:function(e){l(f,e),l(s,e)},pushTopLevelContextObject:function(e,t,n){null!=s.cursor&&c("168"),a(s,t,e),a(f,n,e)},processChildContext:r,pushContextProvider:function(e){if(!n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||u,d=s.current,a(s,t,e),a(f,f.current,e),!0},invalidateContextProvider:function(e,t){var n=e.stateNode;if(n||c("169"),t){var i=r(e,d);n.__reactInternalMemoizedMergedChildContext=i,l(f,e),l(s,e),a(s,i,e)}else l(f,e);a(f,t,e)},findCurrentUnmaskedContext:function(e){for((2!==k(e)||2!==e.tag)&&c("170");3!==e.tag;){if(n(e))return e.stateNode.__reactInternalMemoizedMergedChildContext;(e=e.return)||c("171")}return e.stateNode.context}}}(P);P=function(e){var t=e.createCursor,n=e.push,r=e.pop,i=t(null),o=t(null),a=t(0);return{pushProvider:function(e){var t=e.type._context;n(a,t._changedBits,e),n(o,t._currentValue,e),n(i,e,e),t._currentValue=e.pendingProps.value,t._changedBits=e.stateNode},popProvider:function(e){var t=a.current,n=o.current;r(i,e),r(o,e),r(a,e),(e=e.type._context)._currentValue=n,e._changedBits=t}}}(P);var A=function(e){function t(e,t){var n=new E(5,null,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=a(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var i=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,a=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,f=e.hydrateTextInstance,d=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),d=e,p=!0},resetHydrationState:function(){h=d=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(d=e);t(d,h)}d=e,h=u(r)}else e.effectTag|=2,p=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!p)return r(e),p=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!i(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return r(e),h=d?l(e.stateNode):null,!0}}}(e),D=ie(e,O,R,P,A,h,d).beginWork,z=function(e,t,n,r,i){function o(e){e.effectTag|=4}var a=e.createInstance,l=e.createTextInstance,u=e.appendInitialChild,s=e.finalizeInitialChildren,f=e.prepareUpdate,d=e.persistence,h=t.getRootHostContainer,p=t.popHostContext,m=t.getHostContext,y=t.popHostContainer,v=n.popContextProvider,g=n.popTopLevelContextObject,_=r.popProvider,b=i.prepareToHydrateHostInstance,x=i.prepareToHydrateHostTextInstance,w=i.popHydrationState,T=void 0,S=void 0,C=void 0;return e.mutation?(T=function(){},S=function(e,t,n){(t.updateQueue=n)&&o(t)},C=function(e,t,n,r){n!==r&&o(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var r=t.pendingProps;switch(t.tag){case 1:return null;case 2:return v(t),e=t.stateNode,null!==(r=t.updateQueue)&&null!==r.capturedValues&&(t.effectTag&=-65,"function"==typeof e.componentDidCatch?t.effectTag|=256:r.capturedValues=null),null;case 3:return y(t),g(t),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(w(t),t.effectTag&=-3),T(t),null!==(e=t.updateQueue)&&null!==e.capturedValues&&(t.effectTag|=256),null;case 5:p(t),n=h();var i=t.type;if(null!==e&&null!=t.stateNode){var d=e.memoizedProps,k=t.stateNode,L=m();k=f(k,i,d,r,n,L),S(e,t,k,i,d,r,n,L),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!r)return null===t.stateNode&&c("166"),null;if(e=m(),w(t))b(t,n,e)&&o(t);else{d=a(i,r,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)u(d,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(d,i,r,n,e)&&o(t),t.stateNode=d}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)C(e,t,e.memoizedProps,r);else{if("string"!=typeof r)return null===t.stateNode&&c("166"),null;e=h(),n=m(),w(t)?x(t)&&o(t):t.stateNode=l(r,e,n,t)}return null;case 7:(r=t.memoizedProps)||c("165"),t.tag=8,i=[];e:for((d=t.stateNode)&&(d.return=t);null!==d;){if(5===d.tag||6===d.tag||4===d.tag)c("247");else if(9===d.tag)i.push(d.pendingProps.value);else if(null!==d.child){d.child.return=d,d=d.child;continue}for(;null===d.sibling;){if(null===d.return||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}return r=(d=r.handler)(r.props,i),t.child=ne(t,null!==e?e.child:null,r,n),t.child;case 8:return t.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(t),T(t),null;case 13:return _(t),null;case 12:return null;case 0:c("167");default:c("156")}}}}(e,O,R,P,A).completeWork,j=(O=function(e,t,n,r,i){var o=e.popHostContainer,a=e.popHostContext,l=t.popContextProvider,u=t.popTopLevelContextObject,s=n.popProvider;return{throwException:function(e,t,n){t.effectTag|=512,t.firstEffect=t.lastEffect=null,t={value:n,source:t,stack:H(t)};do{switch(e.tag){case 3:return Y(e),e.updateQueue.capturedValues=[t],void(e.effectTag|=1024);case 2:if(n=e.stateNode,0==(64&e.effectTag)&&null!==n&&"function"==typeof n.componentDidCatch&&!i(n)){Y(e);var r=(n=e.updateQueue).capturedValues;return null===r?n.capturedValues=[t]:r.push(t),void(e.effectTag|=1024)}}e=e.return}while(null!==e)},unwindWork:function(e){switch(e.tag){case 2:l(e);var t=e.effectTag;return 1024&t?(e.effectTag=-1025&t|64,e):null;case 3:return o(e),u(e),1024&(t=e.effectTag)?(e.effectTag=-1025&t|64,e):null;case 5:return a(e),null;case 4:return o(e),null;case 13:return s(e),null;default:return null}},unwindInterruptedWork:function(e){switch(e.tag){case 2:l(e);break;case 3:o(e),u(e);break;case 5:a(e);break;case 4:o(e);break;case 13:s(e)}}}}(O,R,P,0,n)).throwException,N=O.unwindWork,F=O.unwindInterruptedWork,V=(O=function(e,t,n,r,i){function o(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){t(e,n)}else n.current=null}function a(e){switch(W(e),e.tag){case 2:o(e);var n=e.stateNode;if("function"==typeof n.componentWillUnmount)try{n.props=e.memoizedProps,n.state=e.memoizedState,n.componentWillUnmount()}catch(n){t(e,n)}break;case 5:o(e);break;case 7:l(e.stateNode);break;case 4:d&&s(e)}}function l(e){for(var t=e;;)if(a(t),null===t.child||d&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function u(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)l(t),i?w(r,t.stateNode):x(r,t.stateNode);else if(4===t.tag?r=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var f=e.getPublicInstance,d=e.mutation;e=e.persistence,d||c(e?"235":"236");var h=d.commitMount,p=d.commitUpdate,m=d.resetTextContent,y=d.commitTextUpdate,v=d.appendChild,g=d.appendChildToContainer,_=d.insertBefore,b=d.insertInContainerBefore,x=d.removeChild,w=d.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(e,t){switch(t.tag){case 2:if(2048&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;(e=t.stateNode).props=t.memoizedProps,e.state=t.memoizedState,t=e.getSnapshotBeforeUpdate(n,r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:break;default:c("163")}},commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(u(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||u(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)n?r?b(t,i.stateNode,n):_(t,i.stateNode,n):r?g(t,i.stateNode):v(t,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&p(n,o,i,e,r,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,y(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t,n){switch(n.tag){case 2:if(e=n.stateNode,4&n.effectTag)if(null===t)e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidMount();else{var r=t.memoizedProps;t=t.memoizedState,e.props=n.memoizedProps,e.state=n.memoizedState,e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}null!==(n=n.updateQueue)&&K(n,e);break;case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=f(n.child.stateNode);break;case 2:e=n.child.stateNode}K(t,e)}break;case 5:e=n.stateNode,null===t&&4&n.effectTag&&h(e,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:c("163")}},commitErrorLogging:function(e,t){switch(e.tag){case 2:var n=e.type;t=e.stateNode;var r=e.updateQueue;(null===r||null===r.capturedValues)&&c("264");var i=r.capturedValues;for(r.capturedValues=null,"function"!=typeof n.getDerivedStateFromCatch&&function(e){null===be?be=new Set([e]):be.add(e)}(t),t.props=e.memoizedProps,t.state=e.memoizedState,n=0;n0?v[e].pop():new y[e](e)).applyLayerProps&&(n.applyLayerProps({},t),n.getLayer().invalidateLayout()),n},createTextInstance:function(e){return e},finalizeInitialChildren:function(){return!1},getPublicInstance:function(e){return e},prepareForCommit:function(){},prepareUpdate:function(){return m},resetAfterCommit:function(){},resetTextContent:function(){},shouldDeprioritizeSubtree:function(){return!1},getRootHostContext:function(){return o.default},getChildHostContext:function(){return o.default},scheduleDeferredCallback:c.default.rIC,shouldSetTextContent:function(e,t){return"string"==typeof t.children||"number"==typeof t.children},now:c.default.now,isPrimaryRenderer:!1,useSyncScheduling:!0,mutation:{appendChild:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},appendChildToContainer:function(e,t){var n=t.getLayer(),r=e.getLayer();n.parentLayer===r?n.moveToTop():n.inject(r),r.invalidateLayout()},insertBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},insertInContainerBefore:function(e,t,n){var r=e.getLayer();t.getLayer().injectBefore(r,n.getLayer()),r.invalidateLayout()},removeChild:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},removeChildFromContainer:function(e,t){var n=e.getLayer();t.getLayer().remove(),g(t),n.invalidateLayout()},commitTextUpdate:function(){},commitMount:function(){},commitUpdate:function(e,t,n,r,i){void 0!==e.applyLayerProps&&(e.applyLayerProps(r,i),e.getLayer().invalidateLayout())}}},b=(0,f.default)(_);b.injectIntoDevTools({findFiberByHostInstance:h.getClosestInstanceFromNode,bundleType:0,version:r.default.version||16,rendererPackageName:"react-canvas",getInspectorDataForViewTag:function(){for(var e=arguments.length,t=Array(e),n=0;n2500&&(clearInterval(o),o=null)},1e3/60)),n}}(),stop:function(e){var t=null!=i[e];return t&&(i[e]=null),t},isRunning:function(e){return null!=i[e]},start:function(e,t,n,l,u,s){var c=r(),f=c,d=0,h=0,p=o++;if(s||(s=document.body),p%20==0){var m={};for(var y in i)m[y]=!0;i=m}return i[p]=!0,a.effect.Animate.requestAnimationFrame(function o(m){var y=!0!==m,v=r();if(!i[p]||t&&!t(p))return i[p]=null,void(n&&n(60-h/((v-c)/1e3),p,!1));if(y)for(var g=Math.round((v-f)/(1e3/60))-1,_=0;_1&&(d=1);var b=u?u(d):d;!1!==e(b,v,y)&&1!==d||!y?y&&(f=v,a.effect.Animate.requestAnimationFrame(o,s)):(i[p]=null,n&&n(60-h/((v-c)/1e3),p,1===d||null==l))},s),p}},e.exports=a},function(e,t,n){var r,i=n(29);!function(){var t=function(){};r=function(e,n){for(var r in this.__callback=e,this.options={scrollingX:!0,scrollingY:!0,animating:!0,animationDuration:250,bouncing:!0,locking:!0,paging:!1,snapping:!1,zooming:!1,minZoom:.5,maxZoom:3,speedMultiplier:1,scrollingComplete:t,decelerationRate:.95,penetrationDeceleration:.03,penetrationAcceleration:.08},n)this.options[r]=n[r]};var n=function(e){return Math.pow(e-1,3)+1},o=function(e){return(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},a={__isSingleTouch:!1,__isTracking:!1,__didDecelerationComplete:!1,__isGesturing:!1,__isDragging:!1,__isDecelerating:!1,__isAnimating:!1,__clientLeft:0,__clientTop:0,__clientWidth:0,__clientHeight:0,__contentWidth:0,__contentHeight:0,__snapWidth:100,__snapHeight:100,__refreshHeight:null,__refreshActive:!1,__refreshActivate:null,__refreshDeactivate:null,__refreshStart:null,__zoomLevel:1,__scrollLeft:0,__scrollTop:0,__maxScrollLeft:0,__maxScrollTop:0,__scheduledLeft:0,__scheduledTop:0,__scheduledZoom:0,__lastTouchLeft:null,__lastTouchTop:null,__lastTouchMove:null,__positions:null,__minDecelerationScrollLeft:null,__minDecelerationScrollTop:null,__maxDecelerationScrollLeft:null,__maxDecelerationScrollTop:null,__decelerationVelocityX:null,__decelerationVelocityY:null,setDimensions:function(e,t,n,r){e===+e&&(this.__clientWidth=e),t===+t&&(this.__clientHeight=t),n===+n&&(this.__contentWidth=n),r===+r&&(this.__contentHeight=r),this.__computeScrollMax(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},setPosition:function(e,t){this.__clientLeft=e||0,this.__clientTop=t||0},setSnapSize:function(e,t){this.__snapWidth=e,this.__snapHeight=t},activatePullToRefresh:function(e,t,n,r){this.__refreshHeight=e,this.__refreshActivate=t,this.__refreshDeactivate=n,this.__refreshStart=r},triggerPullToRefresh:function(){this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()},finishPullToRefresh:function(){this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0)},getValues:function(){return{left:this.__scrollLeft,top:this.__scrollTop,zoom:this.__zoomLevel}},getScrollMax:function(){return{left:this.__maxScrollLeft,top:this.__maxScrollTop}},zoomTo:function(e,t,n,r,o){if(!this.options.zooming)throw new Error("Zooming is not enabled!");o&&(this.__zoomComplete=o),this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1);var a=this.__zoomLevel;null==n&&(n=this.__clientWidth/2),null==r&&(r=this.__clientHeight/2),e=Math.max(Math.min(e,this.options.maxZoom),this.options.minZoom),this.__computeScrollMax(e);var l=(n+this.__scrollLeft)*e/a-n,u=(r+this.__scrollTop)*e/a-r;l>this.__maxScrollLeft?l=this.__maxScrollLeft:l<0&&(l=0),u>this.__maxScrollTop?u=this.__maxScrollTop:u<0&&(u=0),this.__publish(l,u,e,t)},zoomBy:function(e,t,n,r,i){this.zoomTo(this.__zoomLevel*e,t,n,r,i)},scrollTo:function(e,t,n,r){if(this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1),null!=r&&r!==this.__zoomLevel){if(!this.options.zooming)throw new Error("Zooming is not enabled!");e*=r,t*=r,this.__computeScrollMax(r)}else r=this.__zoomLevel;this.options.scrollingX?this.options.paging?e=Math.round(e/this.__clientWidth)*this.__clientWidth:this.options.snapping&&(e=Math.round(e/this.__snapWidth)*this.__snapWidth):e=this.__scrollLeft,this.options.scrollingY?this.options.paging?t=Math.round(t/this.__clientHeight)*this.__clientHeight:this.options.snapping&&(t=Math.round(t/this.__snapHeight)*this.__snapHeight):t=this.__scrollTop,e=Math.max(Math.min(this.__maxScrollLeft,e),0),t=Math.max(Math.min(this.__maxScrollTop,t),0),e===this.__scrollLeft&&t===this.__scrollTop&&(n=!1),this.__publish(e,t,r,n)},scrollBy:function(e,t,n){var r=this.__isAnimating?this.__scheduledLeft:this.__scrollLeft,i=this.__isAnimating?this.__scheduledTop:this.__scrollTop;this.scrollTo(r+(e||0),i+(t||0),n)},doMouseZoom:function(e,t,n,r){var i=e>0?.97:1.03;return this.zoomTo(this.__zoomLevel*i,!1,n-this.__clientLeft,r-this.__clientTop)},doTouchStart:function(e,t){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);var n,r;this.__interruptedAnimation=!0,this.__isDecelerating&&(i.effect.Animate.stop(this.__isDecelerating),this.__isDecelerating=!1,this.__interruptedAnimation=!0),this.__isAnimating&&(i.effect.Animate.stop(this.__isAnimating),this.__isAnimating=!1,this.__interruptedAnimation=!0);var o=1===e.length;o?(n=e[0].pageX,r=e[0].pageY):(n=Math.abs(e[0].pageX+e[1].pageX)/2,r=Math.abs(e[0].pageY+e[1].pageY)/2),this.__initialTouchLeft=n,this.__initialTouchTop=r,this.__zoomLevelStart=this.__zoomLevel,this.__lastTouchLeft=n,this.__lastTouchTop=r,this.__lastTouchMove=t,this.__lastScale=1,this.__enableScrollX=!o&&this.options.scrollingX,this.__enableScrollY=!o&&this.options.scrollingY,this.__isTracking=!0,this.__didDecelerationComplete=!1,this.__isDragging=!o,this.__isSingleTouch=o,this.__positions=[]},doTouchMove:function(e,t,n){if(null==e.length)throw new Error("Invalid touch list: "+e);if(t instanceof Date&&(t=t.valueOf()),"number"!=typeof t)throw new Error("Invalid timestamp value: "+t);if(this.__isTracking){var r,i;2===e.length?(r=Math.abs(e[0].pageX+e[1].pageX)/2,i=Math.abs(e[0].pageY+e[1].pageY)/2):(r=e[0].pageX,i=e[0].pageY);var o=this.__positions;if(this.__isDragging){var a=r-this.__lastTouchLeft,l=i-this.__lastTouchTop,u=this.__scrollLeft,s=this.__scrollTop,c=this.__zoomLevel;if(null!=n&&this.options.zooming){var f=c;if(c=c/this.__lastScale*n,f!==(c=Math.max(Math.min(c,this.options.maxZoom),this.options.minZoom))){var d=r-this.__clientLeft,h=i-this.__clientTop;u=(d+u)*c/f-d,s=(h+s)*c/f-h,this.__computeScrollMax(c)}}if(this.__enableScrollX){u-=a*this.options.speedMultiplier;var p=this.__maxScrollLeft;(u>p||u<0)&&(this.options.bouncing?u+=a/2*this.options.speedMultiplier:u=u>p?p:0)}if(this.__enableScrollY){s-=l*this.options.speedMultiplier;var m=this.__maxScrollTop;(s>m||s<0)&&(this.options.bouncing?(s+=l/2*this.options.speedMultiplier,this.__enableScrollX||null==this.__refreshHeight||(!this.__refreshActive&&s<=-this.__refreshHeight?(this.__refreshActive=!0,this.__refreshActivate&&this.__refreshActivate()):this.__refreshActive&&s>-this.__refreshHeight&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))):s=s>m?m:0)}o.length>60&&o.splice(0,30),o.push(u,s,t),this.__publish(u,s,c)}else{var y=this.options.locking?3:0,v=Math.abs(r-this.__initialTouchLeft),g=Math.abs(i-this.__initialTouchTop);this.__enableScrollX=this.options.scrollingX&&v>=y,this.__enableScrollY=this.options.scrollingY&&g>=y,o.push(this.__scrollLeft,this.__scrollTop,t),this.__isDragging=(this.__enableScrollX||this.__enableScrollY)&&(v>=5||g>=5),this.__isDragging&&(this.__interruptedAnimation=!1)}this.__lastTouchLeft=r,this.__lastTouchTop=i,this.__lastTouchMove=t,this.__lastScale=n}},doTouchEnd:function(e){if(e instanceof Date&&(e=e.valueOf()),"number"!=typeof e)throw new Error("Invalid timestamp value: "+e);if(this.__isTracking){if(this.__isTracking=!1,this.__isDragging)if(this.__isDragging=!1,this.__isSingleTouch&&this.options.animating&&e-this.__lastTouchMove<=100){for(var t=this.__positions,n=t.length-1,r=n,i=n;i>0&&t[i]>this.__lastTouchMove-100;i-=3)r=i;if(r===n&&t.length>5&&(r=2),r!==n){var o=t[n]-t[r],a=this.__scrollLeft-t[r-2],l=this.__scrollTop-t[r-1];this.__decelerationVelocityX=a/o*(1e3/60),this.__decelerationVelocityY=l/o*(1e3/60);var u=this.options.paging||this.options.snapping?4:1;(Math.abs(this.__decelerationVelocityX)>u||Math.abs(this.__decelerationVelocityY)>u)&&(this.__refreshActive||this.__startDeceleration(e))}else this.options.scrollingComplete()}else e-this.__lastTouchMove>100&&this.options.scrollingComplete();this.__isDecelerating||(this.__refreshActive&&this.__refreshStart?(this.__publish(this.__scrollLeft,-this.__refreshHeight,this.__zoomLevel,!0),this.__refreshStart&&this.__refreshStart()):((this.__interruptedAnimation||this.__isDragging)&&this.options.scrollingComplete(),this.scrollTo(this.__scrollLeft,this.__scrollTop,!0,this.__zoomLevel),this.__refreshActive&&(this.__refreshActive=!1,this.__refreshDeactivate&&this.__refreshDeactivate()))),this.__positions.length=0}},__publish:function(e,t,r,a){var l=this,u=l.__isAnimating;if(u&&(i.effect.Animate.stop(u),l.__isAnimating=!1),a&&l.options.animating){l.__scheduledLeft=e,l.__scheduledTop=t,l.__scheduledZoom=r;var s=l.__scrollLeft,c=l.__scrollTop,f=l.__zoomLevel,d=e-s,h=t-c,p=r-f;l.__isAnimating=i.effect.Animate.start(function(e,t,n){n&&(l.__scrollLeft=s+d*e,l.__scrollTop=c+h*e,l.__zoomLevel=f+p*e,l.__callback&&l.__callback(l.__scrollLeft,l.__scrollTop,l.__zoomLevel))},function(e){return l.__isAnimating===e},function(e,t,n){t===l.__isAnimating&&(l.__isAnimating=!1),(l.__didDecelerationComplete||n)&&l.options.scrollingComplete(),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},l.options.animationDuration,u?n:o)}else l.__scheduledLeft=l.__scrollLeft=e,l.__scheduledTop=l.__scrollTop=t,l.__scheduledZoom=l.__zoomLevel=r,l.__callback&&l.__callback(e,t,r),l.options.zooming&&(l.__computeScrollMax(),l.__zoomComplete&&(l.__zoomComplete(),l.__zoomComplete=null))},__computeScrollMax:function(e){null==e&&(e=this.__zoomLevel),this.__maxScrollLeft=Math.max(this.__contentWidth*e-this.__clientWidth,0),this.__maxScrollTop=Math.max(this.__contentHeight*e-this.__clientHeight,0)},__startDeceleration:function(e){var t=this;if(t.options.paging){var n=Math.max(Math.min(t.__scrollLeft,t.__maxScrollLeft),0),r=Math.max(Math.min(t.__scrollTop,t.__maxScrollTop),0),o=t.__clientWidth,a=t.__clientHeight;t.__minDecelerationScrollLeft=Math.floor(n/o)*o,t.__minDecelerationScrollTop=Math.floor(r/a)*a,t.__maxDecelerationScrollLeft=Math.ceil(n/o)*o,t.__maxDecelerationScrollTop=Math.ceil(r/a)*a}else t.__minDecelerationScrollLeft=0,t.__minDecelerationScrollTop=0,t.__maxDecelerationScrollLeft=t.__maxScrollLeft,t.__maxDecelerationScrollTop=t.__maxScrollTop;var l=t.options.snapping?4:.1;t.__isDecelerating=i.effect.Animate.start(function(e,n,r){t.__stepThroughDeceleration(r)},function(){var e=Math.abs(t.__decelerationVelocityX)>=l||Math.abs(t.__decelerationVelocityY)>=l;return e||(t.__didDecelerationComplete=!0),e},function(e,n,r){t.__isDecelerating=!1,t.__didDecelerationComplete&&t.options.scrollingComplete(),t.scrollTo(t.__scrollLeft,t.__scrollTop,t.options.snapping)})},__stepThroughDeceleration:function(e){var t=this.__scrollLeft+this.__decelerationVelocityX,n=this.__scrollTop+this.__decelerationVelocityY;if(!this.options.bouncing){var r=Math.max(Math.min(this.__maxDecelerationScrollLeft,t),this.__minDecelerationScrollLeft);r!==t&&(t=r,this.__decelerationVelocityX=0);var i=Math.max(Math.min(this.__maxDecelerationScrollTop,n),this.__minDecelerationScrollTop);i!==n&&(n=i,this.__decelerationVelocityY=0)}if(e?this.__publish(t,n,this.__zoomLevel):(this.__scrollLeft=t,this.__scrollTop=n),!this.options.paging){var o=this.options.decelerationRate;this.__decelerationVelocityX*=o,this.__decelerationVelocityY*=o}if(this.options.bouncing){var a=0,l=0,u=this.options.penetrationDeceleration,s=this.options.penetrationAcceleration;tthis.__maxDecelerationScrollLeft&&(a=this.__maxDecelerationScrollLeft-t),nthis.__maxDecelerationScrollTop&&(l=this.__maxDecelerationScrollTop-n),0!==a&&(a*this.__decelerationVelocityX<=0?this.__decelerationVelocityX+=a*u:this.__decelerationVelocityX=a*s),0!==l&&(l*this.__decelerationVelocityY<=0?this.__decelerationVelocityY+=l*u:this.__decelerationVelocityY=l*s)}}};for(var l in a)r.prototype[l]=a[l];e.exports=r}()},function(e,t,n){e.exports=n(30)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=n.props.style.height||o<=-n.props.style.height||e.push(a);return e},n.updateScrollingDeceleration=function(){for(var e=n.scroller.__decelerationVelocityY,t=0,r=n.state.scrollTop;Math.abs(e).toFixed(6)>0;)r+=e,e*=n.props.scrollingDeceleration;for(var i=1/0,o=n.props.itemHeightGetter(),a=void 0,l=0,u=n.props.numberOfItemsGetter();l100&&(this._itemCache.clear(),this._groupCache.clear());var e=this.getVisibleItemIndexes().map(this.renderItem);return a.default.createElement(c,{style:this.props.style,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseOut:this.handleMouseOut,onMouseMove:this.handleMouseMove,onTouchCancel:this.handleTouchEnd},e)}}]),t}();f.propTypes={style:l.default.object,numberOfItemsGetter:l.default.func.isRequired,itemHeightGetter:l.default.func.isRequired,itemGetter:l.default.func.isRequired,snapping:l.default.bool,scrollingDeceleration:l.default.number,scrollingPenetrationAcceleration:l.default.number,onScroll:l.default.func},f.defaultProps={style:{left:0,top:0,width:0,height:0},snapping:!1,scrollingDeceleration:.95,scrollingPenetrationAcceleration:.08},t.default=f},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.linear=function(e){return e},t.easeInQuad=function(e){return Math.pow(e,2)},t.easeOutQuad=function(e){return e*(2-e)},t.easeInOutQuad=function(e){return e<.5?2*e*e:(4-2*e)*e-1},t.easeInCubic=function(e){return e*e*e},t.easeOutCubic=function(e){return--e*e*e+1},t.easeInOutCubic=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}},function(e,t,n){var r,i;void 0===(i="function"==typeof(r=function(){var t=function(){var e,t="inherit",n="ltr",r="rtl",i="row",o="row-reverse",a="column",l="column-reverse",u="flex-start",s="center",c="flex-end",f="space-between",d="space-around",h="flex-start",p="center",m="flex-end",y="stretch",v="relative",g="absolute",_={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},b={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},x={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},w={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function T(e){return void 0===e}function S(e){return e===i||e===o}function C(e,t){if(void 0!==e.style.marginStart&&S(t))return e.style.marginStart;var n=null;switch(t){case"row":n=e.style.marginLeft;break;case"row-reverse":n=e.style.marginRight;break;case"column":n=e.style.marginTop;break;case"column-reverse":n=e.style.marginBottom}return void 0!==n?n:void 0!==e.style.margin?e.style.margin:0}function k(e,t){if(void 0!==e.style.marginEnd&&S(t))return e.style.marginEnd;var n=null;switch(t){case"row":n=e.style.marginRight;break;case"row-reverse":n=e.style.marginLeft;break;case"column":n=e.style.marginBottom;break;case"column-reverse":n=e.style.marginTop}return null!=n?n:void 0!==e.style.margin?e.style.margin:0}function L(e,t){if(void 0!==e.style.borderStartWidth&&e.style.borderStartWidth>=0&&S(t))return e.style.borderStartWidth;var n=null;switch(t){case"row":n=e.style.borderLeftWidth;break;case"row-reverse":n=e.style.borderRightWidth;break;case"column":n=e.style.borderTopWidth;break;case"column-reverse":n=e.style.borderBottomWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function M(e,t){if(void 0!==e.style.borderEndWidth&&e.style.borderEndWidth>=0&&S(t))return e.style.borderEndWidth;var n=null;switch(t){case"row":n=e.style.borderRightWidth;break;case"row-reverse":n=e.style.borderLeftWidth;break;case"column":n=e.style.borderBottomWidth;break;case"column-reverse":n=e.style.borderTopWidth}return null!=n&&n>=0?n:void 0!==e.style.borderWidth&&e.style.borderWidth>=0?e.style.borderWidth:0}function P(e,t){return function(e,t){if(void 0!==e.style.paddingStart&&e.style.paddingStart>=0&&S(t))return e.style.paddingStart;var n=null;switch(t){case"row":n=e.style.paddingLeft;break;case"row-reverse":n=e.style.paddingRight;break;case"column":n=e.style.paddingTop;break;case"column-reverse":n=e.style.paddingBottom}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+L(e,t)}function O(e,t){return function(e,t){if(void 0!==e.style.paddingEnd&&e.style.paddingEnd>=0&&S(t))return e.style.paddingEnd;var n=null;switch(t){case"row":n=e.style.paddingRight;break;case"row-reverse":n=e.style.paddingLeft;break;case"column":n=e.style.paddingBottom;break;case"column-reverse":n=e.style.paddingTop}return null!=n&&n>=0?n:void 0!==e.style.padding&&e.style.padding>=0?e.style.padding:0}(e,t)+M(e,t)}function E(e,t){return L(e,t)+M(e,t)}function I(e,t){return C(e,t)+k(e,t)}function R(e,t){return P(e,t)+O(e,t)}function A(e,t){return t.style.alignSelf?t.style.alignSelf:e.style.alignItems?e.style.alignItems:"stretch"}function D(e,t){if(t===r){if(e===i)return o;if(e===o)return i}return e}function z(e){return e.style.position?e.style.position:"relative"}function j(e){return z(e)===v&&e.style.flex>0}function N(e,t){return e.layout[w[t]]+I(e,t)}function F(e,t){return void 0!==e.style[w[t]]&&e.style[w[t]]>=0}function U(e,t){return void 0!==e.style[t]}function W(e,t){return void 0!==e.style[t]?e.style[t]:0}function H(e,t,n){var r={row:e.style.minWidth,"row-reverse":e.style.minWidth,column:e.style.minHeight,"column-reverse":e.style.minHeight}[t],i={row:e.style.maxWidth,"row-reverse":e.style.maxWidth,column:e.style.maxHeight,"column-reverse":e.style.maxHeight}[t],o=n;return void 0!==i&&i>=0&&o>i&&(o=i),void 0!==r&&r>=0&&ot?e:t}function B(e,t){void 0===e.layout[w[t]]&&F(e,t)&&(e.layout[w[t]]=V(H(e,t,e.style[w[t]]),R(e,t)))}function q(e,t,n){t.layout[b[n]]=e.layout[w[n]]-t.layout[w[n]]-t.layout[x[n]]}function X(e,t){return void 0!==e.style[_[t]]?W(e,_[t]):-W(e,b[t])}function Y(r,M,Y){var G=function(e,r){var i;return(i=e.style.direction?e.style.direction:t)===t&&(i=void 0===r?n:r),i}(r,Y),Z=D(function(e){return e.style.flexDirection?e.style.flexDirection:a}(r),G),K=function(e,t){return function(e){return e===a||e===l}(e)?D(i,t):a}(Z,G),J=D(i,G);B(r,Z),B(r,K),r.layout.direction=G,r.layout[_[Z]]+=C(r,Z)+X(r,Z),r.layout[b[Z]]+=k(r,Z)+X(r,Z),r.layout[_[K]]+=C(r,K)+X(r,K),r.layout[b[K]]+=k(r,K)+X(r,K);var $=r.children.length,ee=R(r,J);if(void 0!==r.style.measure){var te=!T(r.layout[w[J]]),ne=e;ne=F(r,J)?r.style.width:te?r.layout[w[J]]:M-I(r,J),ne-=ee;var re=!F(r,J)&&!te,ie=!F(r,a)&&T(r.layout[w[a]]);if(re||ie){var oe=r.style.measure(ne);re&&(r.layout.width=oe.width+ee),ie&&(r.layout.height=oe.height+R(r,a))}if(0===$)return}var ae,le,ue,se,ce="wrap"===r.style.flexWrap,fe=function(e){return e.style.justifyContent?e.style.justifyContent:"flex-start"}(r),de=P(r,Z),he=P(r,K),pe=R(r,Z),me=R(r,K),ye=!T(r.layout[w[Z]]),ve=!T(r.layout[w[K]]),ge=S(Z),_e=null,be=null,xe=e;ye&&(xe=r.layout[w[Z]]-pe);for(var we=0,Te=0,Se=0,Ce=0,ke=0,Le=0;Te<$;){var Me,Pe=0,Oe=0,Ee=0,Ie=0,Re=ye&&fe===u||!ye&&fe!==s,Ae=Re?$:we,De=!0,ze=$,je=null,Ne=null,Fe=de,Ue=0;for(ae=we;ae<$;++ae){if((ue=r.children[ae]).lineIndex=Le,ue.nextAbsoluteChild=null,ue.nextFlexChild=null,(Ge=A(r,ue))===y&&z(ue)===v&&ve&&!F(ue,K))ue.layout[w[K]]=V(H(ue,K,r.layout[w[K]]-me-I(ue,K)),R(ue,K));else if(z(ue)===g)for(null===_e&&(_e=ue),null!==be&&(be.nextAbsoluteChild=ue),be=ue,le=0;le<2;le++)se=0!==le?i:a,!T(r.layout[w[se]])&&!F(ue,se)&&U(ue,_[se])&&U(ue,b[se])&&(ue.layout[w[se]]=V(H(ue,se,r.layout[w[se]]-R(r,se)-I(ue,se)-W(ue,_[se])-W(ue,b[se])),R(ue,se)));var We=0;if(ye&&j(ue)?(Oe++,Ee+=ue.style.flex,null===je&&(je=ue),null!==Ne&&(Ne.nextFlexChild=ue),Ne=ue,We=R(ue,Z)+I(ue,Z)):(Me=e,ge||(Me=F(r,J)?r.layout[w[J]]-ee:M-I(r,J)-ee),0===Se&&Q(ue,Me,G),z(ue)===v&&(Ie++,We=N(ue,Z))),ce&&ye&&Pe+We>xe&&ae!==we){Ie--,Se=1;break}Re&&(z(ue)!==v||j(ue))&&(Re=!1,Ae=ae),De&&(z(ue)!==v||Ge!==y&&Ge!==h||T(ue.layout[w[K]]))&&(De=!1,ze=ae),Re&&(ue.layout[x[Z]]+=Fe,ye&&q(r,ue,Z),Fe+=N(ue,Z),Ue=V(Ue,H(ue,K,N(ue,K)))),De&&(ue.layout[x[K]]+=Ce+he,ve&&q(r,ue,K)),Se=0,Pe+=We,Te=ae+1}var He=0,Ve=0,Be=0;if(Be=ye?xe-Pe:V(Pe,0)-Pe,0!==Oe){var qe,Xe,Ye=Be/Ee;for(Ne=je;null!==Ne;)(qe=Ye*Ne.style.flex+R(Ne,Z))!==(Xe=H(Ne,Z,qe))&&(Be-=Xe,Ee-=Ne.style.flex),Ne=Ne.nextFlexChild;for((Ye=Be/Ee)<0&&(Ye=0),Ne=je;null!==Ne;)Ne.layout[w[Z]]=H(Ne,Z,Ye*Ne.style.flex+R(Ne,Z)),Me=e,F(r,J)?Me=r.layout[w[J]]-ee:ge||(Me=M-I(r,J)-ee),Q(Ne,Me,G),ue=Ne,Ne=Ne.nextFlexChild,ue.nextFlexChild=null}else fe!==u&&(fe===s?He=Be/2:fe===c?He=Be:fe===f?(Be=V(Be,0),Ve=Oe+Ie-1!=0?Be/(Oe+Ie-1):0):fe===d&&(He=(Ve=Be/(Oe+Ie))/2));for(Fe+=He,ae=Ae;ae1&&ve){var Je=r.layout[w[K]]-me,$e=Je-Ce,et=0,tt=he,nt=function(e){return e.style.alignContent?e.style.alignContent:"flex-start"}(r);nt===m?tt+=$e:nt===p?tt+=$e/2:nt===y&&Je>Ce&&(et=$e/Le);var rt=0;for(ae=0;ae0&&t.children.forEach(function(n){e(n,t.layer.frame.x,t.layer.frame.y)})}(t),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6));function o(e,t){return(t.zIndex||0)-(e.zIndex||0)}function a(e){var t=void 0;for(var n in i)if(i[n]===e){t=n;break}return t}function l(e,t,n){var i=e.touches?e.touches[0]:e,l=i.pageX,u=i.pageY,s=void 0;return n&&(l-=(s=n.getBoundingClientRect()).left,u-=s.top),u-=window.pageYOffset,l-=window.pageXOffset,function e(t,n,i,l,u){var s=null,c=a(n),f=void 0,d=(0,r.clone)(t.frame);if("number"==typeof t.alpha&&t.alpha<.01)return null;if(t.children)for(var h=0,p=(f=t.children.slice().reverse().sort(o)).length;h0)throw new Error("Invalid string. Length must be a multiple of 4");var u=e.length;a="="===e.charAt(u-2)?2:"="===e.charAt(u-1)?1:0,l=new t(3*e.length/4-a),i=a>0?e.length-4:e.length;var s=0;function f(e){l[s++]=e}for(n=0,r=0;n>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===a&&(f((o=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),f(255&o)),l},e.fromByteArray=function(e){var t,n,i,o,a=e.length%3,l="";function u(e){return r.charAt(e)}for(t=0,i=e.length-a;t>18&63)+u(o>>12&63)+u(o>>6&63)+u(63&o);switch(a){case 1:l+=u((n=e[e.length-1])>>2),l+=u(n<<4&63),l+="==";break;case 2:l+=u((n=(e[e.length-2]<<8)+e[e.length-1])>>10),l+=u(n>>4&63),l+=u(n<<2&63),l+="="}return l}}(t)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var o=new i,a=new i,l=new Uint8Array(30),u=new Uint16Array(30),s=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new i,h=new Uint8Array(320);function p(e,t,n,r){var i,o;for(i=0;i>>=1,t}function g(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function _(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=o,e.bitcount-=i,t.trans[n+r]}function b(e,t,n){var r,i,o,a,l,u;for(r=g(e,5,257),i=g(e,5,1),o=g(e,4,4),a=0;a<19;++a)h[a]=0;for(a=0;a8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),p(l,u,4,3),p(s,c,2,1),l[28]=0,u[28]=258,e.exports=function(e,t){var l,u,s=new function(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}(e,t);do{switch(l=v(s),g(s,2,0)){case 0:u=w(s);break;case 1:u=x(s,o,a);break;case 2:b(s,s.ltree,s.dtree),u=x(s,s.ltree,s.dtree);break;default:u=r}if(u!==n)throw new Error("Data error")}while(!l);return s.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(e,t,n){var r,i,o,a,l=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]];i=n(40),a=n(38).toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),o=new i(a),r=function(){function e(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}var t,n,r;return e.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&56319>=e&&56320<=t&&57343>=t?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){return 29===e?12:36===e||37===e||39===e?12:32===e?5:e},r=function(e){return 34===e||35===e?30:31===e?17:38===e?22:e},e.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(o.get(this.nextCodePoint()))},t=function(e,t){this.position=e,this.required=null!=t&&t},e.prototype.nextBreak=function(){var e,i,o;for(null==this.curClass&&(this.curClass=r(this.nextCharClass()));this.pos=this.string.length)return this.lastPosa&&(f=f.replace(/,?\s?\w+$/,"…")),c<=a+r&&e.fillText(f,s,c)}),e.restore()},t.drawGradient=function(e,t,n,r,i,o,a,l,u,s){e.save();var c=e.createLinearGradient(t,n,r,i);o.forEach(function(e){c.addColorStop(e.position,e.color)}),e.fillStyle=c,e.fillRect(a,l,u,s),e.restore()}},function(e,t,n){var r;e.exports=function e(t,n,i){function o(l,u){if(!n[l]){if(!t[l]){if(!u&&("function"==typeof r&&r))return r(l,!0);if(a)return a(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){return o(t[l][1][e]||e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var a="function"==typeof r&&r,l=0;l=0?(this.lastItem=this.list[t],this.list[t].val):void 0},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e))>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this)},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),(t=this.indexOf(e))>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return!(!this.lastItem||!this.isEqual(this.lastItem.key,e))||(t=this.indexOf(e))>=0&&(this.lastItem=this.list[t],!0)},r.prototype.forEach=function(e,t){var n;for(n=0;n0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!i(t))throw TypeError("listener must be a function");var n=!1;function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var n,r,a,l;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,r=-1,n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(l=a;l-- >0;)if(n[l]===t||n[l].listener&&n[l].listener===t){r=l;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(17),i=n(4),o=n(45);e.exports=function(){function e(e,t,n,r,a,l){l!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){ -/** @license React v16.3.2 - * react.production.min.js - * - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var i=n(18),o=n(4),a=n(2),l=n(17),u="function"==typeof Symbol&&Symbol.for,s=u?Symbol.for("react.element"):60103,c=u?Symbol.for("react.portal"):60106,f=u?Symbol.for("react.fragment"):60107,d=u?Symbol.for("react.strict_mode"):60108,h=u?Symbol.for("react.provider"):60109,p=u?Symbol.for("react.context"):60110,m=u?Symbol.for("react.async_mode"):60111,y=u?Symbol.for("react.forward_ref"):60112,v="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rO.length&&O.push(e)}function R(e,t,n,i){var o=void 0===e?"undefined":r(e);"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case s:case c:a=!0}}if(a)return n(i,e,""===t?"."+A(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;lh))return;n._lastMouseDownTimestamp=null,n._lastMouseDownPosition=null,n._draggedSinceMouseDown=!1}else"mousemove"===e.type&&!n._draggedSinceMouseDown&&n._lastMouseDownPosition&&(n._draggedSinceMouseDown=e.pageX!==n._lastMouseDownPosition[0]||e.pageY!==n._lastMouseDownPosition[1]);var t=(0,c.default)(e,n.node,n.canvas);if("mouseout"===e.type?t=n._lastHitTarget:n._lastHitTarget=t,t){var r=t[c.default.getHitHandle(e.type)];r&&r(e)}},n.handleContextMenu=function(e){n.hitTest(e)},e.canvas&&n.setCanvasRef(e.canvas),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":r(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default.Component),i(t,[{key:"render",value:function(){if(this.props.canvas)return null;var e=this.props.width*this.props.scale,t=this.props.height*this.props.scale,n={};return this.props.style&&(n=Object.assign({},this.props.style)),void 0!==this.props.width&&(n.width=this.props.width),void 0!==this.props.height&&(n.height=this.props.height),o.default.createElement("canvas",{ref:this.setCanvasRef,className:this.props.className,id:this.props.id,width:e,height:t,style:n,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onTouchCancel:this.handleTouchEnd,onMouseDown:this.handleMouseEvent,onMouseUp:this.handleMouseEvent,onMouseMove:this.handleMouseEvent,onMouseOver:this.handleMouseEvent,onMouseOut:this.handleMouseEvent,onContextMenu:this.handleContextMenu,onClick:this.handleMouseEvent,onDoubleClick:this.handleMouseEvent})}}]),t}();p.propTypes={className:a.default.string,id:a.default.string,top:a.default.number.isRequired,left:a.default.number.isRequired,width:a.default.number.isRequired,height:a.default.number.isRequired,scale:a.default.number.isRequired,enableCSSLayout:a.default.bool,children:a.default.object,style:a.default.object,canvas:a.default.object},p.defaultProps={scale:window.devicePixelRatio||1},p.canvasRenderer=null,t.default=p},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t rendering for React components", - "main": "dist/bundle.js", + "main": "dist/index.js", "repository": { "type": "git", "url": "https://github.com/gfodor/react-canvas.git" }, "scripts": { - "build": "./node_modules/.bin/webpack .", + "build": "rimraf dist && babel src --out-dir dist", "storybook": "start-storybook -p 6006 -c .storybook", "build-storybook": "build-storybook -c .storybook" }, @@ -25,31 +25,28 @@ "devDependencies": { "@storybook/react": "^3.4.5", "alea": "^0.0.9", + "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-eslint": "^8.2.3", "babel-loader": "^7.1.4", - "babel-plugin-external-helpers": "^6.22.0", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-runtime": "^6.26.0", + "babel-preset-env": "^1.7.0", + "babel-preset-react": "^6.24.1", "d3-scale": "^1.0.6", - "del": "^3.0.0", "eslint": "^4.1.1", "eslint-config-prettier": "^2.9.0", "eslint-plugin-prettier": "^2.6.0", "eslint-plugin-react": "^7.8.2", - "jest": "^22.4.3", "lodash.range": "^3.2.0", "prettier": "^1.12.1", - "webpack": "^4.0.0", - "webpack-cli": "^2.1.3" + "rimraf": "^2.6.2" }, "dependencies": { "@craigmorton/linebreak": "^0.4.5", "css-layout": "^1.1.1", "fbjs": "^0.8.16", "multi-key-cache": "^1.0.2", - "object-assign": "^4.0.1", "prop-types": "^15.6.1", "react": "^16.3.2", "react-dom": "^16.3.2", diff --git a/webpack.config.babel.js b/webpack.config.babel.js deleted file mode 100644 index 7f0c85a..0000000 --- a/webpack.config.babel.js +++ /dev/null @@ -1,28 +0,0 @@ -import path from "path"; - -const config = { - entry: "./src/index.js", - output: { - filename: "bundle.js", - path: path.join(__dirname, "/dist"), - - // the name of the exported library - - libraryTarget: "commonjs" // universal module definition - // the type of the exported library - }, - - module: { - rules: [ - { - test: /\.js$/, - exclude: /(node_modules)/, - use: { - loader: "babel-loader" - } - } - ] - } -}; - -export default config; diff --git a/yarn.lock b/yarn.lock index feda095..d0447ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,12 +8,6 @@ dependencies: "@babel/highlight" "7.0.0-beta.44" -"@babel/code-frame@^7.0.0-beta.35": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" - dependencies: - "@babel/highlight" "7.0.0-beta.47" - "@babel/generator@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" @@ -52,14 +46,6 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/highlight@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" @@ -99,21 +85,6 @@ base64-js "0.0.8" unicode-trie "^0.3.0" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" - -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - "@storybook/addon-actions@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.5.tgz#ba0d0c0c74357c0852e0b890b404214975df40a8" @@ -314,126 +285,6 @@ react-split-pane "^0.1.77" react-treebeard "^2.1.0" -"@webassemblyjs/ast@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.4.3.tgz#3b3f6fced944d8660273347533e6d4d315b5934a" - dependencies: - "@webassemblyjs/helper-wasm-bytecode" "1.4.3" - "@webassemblyjs/wast-parser" "1.4.3" - debug "^3.1.0" - webassemblyjs "1.4.3" - -"@webassemblyjs/floating-point-hex-parser@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz#f5aee4c376a717c74264d7bacada981e7e44faad" - -"@webassemblyjs/helper-buffer@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz#0434b55958519bf503697d3824857b1dea80b729" - dependencies: - debug "^3.1.0" - -"@webassemblyjs/helper-code-frame@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz#f1349ca3e01a8e29ee2098c770773ef97af43641" - dependencies: - "@webassemblyjs/wast-printer" "1.4.3" - -"@webassemblyjs/helper-fsm@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz#65a921db48fb43e868f17b27497870bdcae22b79" - -"@webassemblyjs/helper-wasm-bytecode@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz#0e5b4b5418e33f8a26e940b7809862828c3721a5" - -"@webassemblyjs/helper-wasm-section@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz#9ceedd53a3f152c3412e072887ade668d0b1acbf" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/helper-buffer" "1.4.3" - "@webassemblyjs/helper-wasm-bytecode" "1.4.3" - "@webassemblyjs/wasm-gen" "1.4.3" - debug "^3.1.0" - -"@webassemblyjs/leb128@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.4.3.tgz#5a5e5949dbb5adfe3ae95664d0439927ac557fb8" - dependencies: - leb "^0.3.0" - -"@webassemblyjs/validation@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/validation/-/validation-1.4.3.tgz#9e66c9b3079d7bbcf2070c1bf52a54af2a09aac9" - dependencies: - "@webassemblyjs/ast" "1.4.3" - -"@webassemblyjs/wasm-edit@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz#87febd565e0ffb5ae25f6495bb3958d17aa0a779" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/helper-buffer" "1.4.3" - "@webassemblyjs/helper-wasm-bytecode" "1.4.3" - "@webassemblyjs/helper-wasm-section" "1.4.3" - "@webassemblyjs/wasm-gen" "1.4.3" - "@webassemblyjs/wasm-opt" "1.4.3" - "@webassemblyjs/wasm-parser" "1.4.3" - "@webassemblyjs/wast-printer" "1.4.3" - debug "^3.1.0" - -"@webassemblyjs/wasm-gen@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz#8553164d0154a6be8f74d653d7ab355f73240aa4" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/helper-wasm-bytecode" "1.4.3" - "@webassemblyjs/leb128" "1.4.3" - -"@webassemblyjs/wasm-opt@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz#26c7a23bfb136aa405b1d3410e63408ec60894b8" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/helper-buffer" "1.4.3" - "@webassemblyjs/wasm-gen" "1.4.3" - "@webassemblyjs/wasm-parser" "1.4.3" - debug "^3.1.0" - -"@webassemblyjs/wasm-parser@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz#7ddd3e408f8542647ed612019cfb780830993698" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/helper-wasm-bytecode" "1.4.3" - "@webassemblyjs/leb128" "1.4.3" - "@webassemblyjs/wasm-parser" "1.4.3" - webassemblyjs "1.4.3" - -"@webassemblyjs/wast-parser@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz#3250402e2c5ed53dbe2233c9de1fe1f9f0d51745" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/floating-point-hex-parser" "1.4.3" - "@webassemblyjs/helper-code-frame" "1.4.3" - "@webassemblyjs/helper-fsm" "1.4.3" - long "^3.2.0" - webassemblyjs "1.4.3" - -"@webassemblyjs/wast-printer@1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz#3d59aa8d0252d6814a3ef4e6d2a34c9ded3904e0" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/wast-parser" "1.4.3" - long "^3.2.0" - -abab@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" - abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -451,18 +302,6 @@ acorn-dynamic-import@^2.0.0: dependencies: acorn "^4.0.3" -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - dependencies: - acorn "^5.0.0" - -acorn-globals@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" - dependencies: - acorn "^5.0.0" - acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -477,7 +316,7 @@ acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0: +acorn@^5.0.0, acorn@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" @@ -510,7 +349,7 @@ ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" -ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.0.0, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -544,14 +383,6 @@ alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-escapes@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" @@ -572,19 +403,18 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" dependencies: color-convert "^1.9.0" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -any-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.2.0.tgz#c67870058003579009083f54ac0abafb5c33d242" +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" anymatch@^2.0.0: version "2.0.0" @@ -593,12 +423,6 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - dependencies: - default-require-extensions "^1.0.0" - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -634,14 +458,6 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" @@ -703,7 +519,7 @@ array.prototype.flatten@^1.2.0: es-abstract "^1.10.0" function-bind "^1.1.1" -arrify@^1.0.0, arrify@^1.0.1: +arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -719,14 +535,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -741,40 +549,20 @@ ast-types@0.10.1: version "0.10.1" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" -ast-types@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" - ast-types@0.9.6: version "0.9.6" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - -async@^1.4.0, async@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@^2.1.2, async@^2.1.4, async@^2.6.0: +async@^2.1.2, async@^2.1.4: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: lodash "^4.14.0" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" @@ -801,13 +589,26 @@ autoprefixer@^7.2.6: postcss "^6.0.17" postcss-value-parser "^3.2.3" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" @@ -817,7 +618,7 @@ babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.0.0, babel-core@^6.26.0, babel-core@^6.26.3: +babel-core@^6.26.0, babel-core@^6.26.3: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" dependencies: @@ -852,7 +653,7 @@ babel-eslint@^8.2.3: eslint-scope "~3.7.1" eslint-visitor-keys "^1.0.0" -babel-generator@^6.18.0, babel-generator@^6.26.0: +babel-generator@^6.26.0: version "6.26.1" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" dependencies: @@ -1019,13 +820,6 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.3.tgz#4b7a0b6041691bbd422ab49b3b73654a49a6627a" - dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.3" - babel-loader@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015" @@ -1046,25 +840,6 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-external-helpers@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-istanbul@^4.1.5: - version "4.1.6" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.13.0" - find-up "^2.1.0" - istanbul-lib-instrument "^1.10.1" - test-exclude "^4.2.1" - -babel-plugin-jest-hoist@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a" - babel-plugin-macros@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.2.1.tgz#7cc0f84735aa86f776b51860793a98928f43a7fa" @@ -1192,7 +967,7 @@ babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" -babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: +babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" @@ -1262,7 +1037,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: +babel-plugin-transform-es2015-block-scoping@^6.23.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -1272,7 +1047,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -1286,33 +1061,33 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: +babel-plugin-transform-es2015-computed-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: +babel-plugin-transform-es2015-function-name@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -1343,7 +1118,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -1351,7 +1126,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-e babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: +babel-plugin-transform-es2015-modules-umd@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -1359,14 +1134,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015 babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: +babel-plugin-transform-es2015-object-super@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: +babel-plugin-transform-es2015-parameters@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -1377,7 +1152,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015- babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -1390,7 +1165,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: +babel-plugin-transform-es2015-sticky-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -1404,13 +1179,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: +babel-plugin-transform-es2015-unicode-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -1433,7 +1208,7 @@ babel-plugin-transform-export-extensions@^6.22.0: babel-plugin-syntax-export-extensions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.8.0: +babel-plugin-transform-flow-strip-types@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: @@ -1504,7 +1279,7 @@ babel-plugin-transform-react-jsx@^6.24.1: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1, babel-plugin-transform-regenerator@^6.26.0: +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: @@ -1549,7 +1324,15 @@ babel-plugin-transform-undefined-to-void@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" -babel-preset-env@^1.6.1: +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-env@^1.6.1, babel-preset-env@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" dependencies: @@ -1584,48 +1367,12 @@ babel-preset-env@^1.6.1: invariant "^2.2.2" semver "^5.3.0" -babel-preset-es2015@^6.9.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.24.1" - babel-plugin-transform-es2015-classes "^6.24.1" - babel-plugin-transform-es2015-computed-properties "^6.24.1" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.24.1" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.24.1" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-plugin-transform-es2015-modules-systemjs "^6.24.1" - babel-plugin-transform-es2015-modules-umd "^6.24.1" - babel-plugin-transform-es2015-object-super "^6.24.1" - babel-plugin-transform-es2015-parameters "^6.24.1" - babel-plugin-transform-es2015-shorthand-properties "^6.24.1" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.24.1" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.24.1" - babel-plugin-transform-regenerator "^6.24.1" - babel-preset-flow@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" -babel-preset-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" - dependencies: - babel-plugin-jest-hoist "^22.4.3" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-minify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.3.0.tgz#7db64afa75f16f6e06c0aa5f25195f6f36784d77" @@ -1673,7 +1420,7 @@ babel-preset-stage-0@^6.24.1: babel-plugin-transform-function-bind "^6.22.0" babel-preset-stage-1 "^6.24.1" -babel-preset-stage-1@^6.24.1, babel-preset-stage-1@^6.5.0: +babel-preset-stage-1@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" dependencies: @@ -1700,7 +1447,7 @@ babel-preset-stage-3@^6.24.1: babel-plugin-transform-exponentiation-operator "^6.24.1" babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@^6.26.0, babel-register@^6.9.0: +babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: @@ -1719,7 +1466,7 @@ babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: +babel-template@^6.24.1, babel-template@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: @@ -1729,7 +1476,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -1743,7 +1490,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -1760,14 +1507,10 @@ babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" -babylon@^6.17.3, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -babylon@^7.0.0-beta.30: - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" - balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1796,12 +1539,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -1810,10 +1547,6 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" -binaryextensions@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.1.tgz#3209a51ca4a4ad541a3b8d3d6a6d5b83a2485935" - bluebird@^3.4.7, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -1841,18 +1574,6 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - bowser@^1.0.0, bowser@^1.7.3: version "1.9.3" resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.3.tgz#6643ae4d783f31683f6d23156976b74183862162" @@ -1895,16 +1616,6 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" -browser-process-hrtime@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" - -browser-resolve@^1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -1978,12 +1689,6 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000835" electron-to-chromium "^1.3.45" -bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" @@ -2044,22 +1749,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -2070,10 +1759,6 @@ callsites@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - camel-case@3.0.x: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" @@ -2106,20 +1791,10 @@ caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.300008 version "1.0.30000842" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000842.tgz#7a198e3181a207f4b5749b8f5a1817685bf3d7df" -capture-exit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" - dependencies: - rsvp "^3.3.3" - case-sensitive-paths-webpack-plugin@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192" -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -2127,7 +1802,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@1.1.3, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2137,7 +1812,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -2145,18 +1820,25 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4 escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + chokidar@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" @@ -2179,14 +1861,6 @@ chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" -chrome-trace-event@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz#d395af2d31c87b90a716c831fe326f69768ec084" - -ci-info@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -2223,35 +1897,12 @@ clean-css@4.1.x: dependencies: source-map "0.5.x" -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -2272,48 +1923,10 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - -clone-response@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - dependencies: - mimic-response "^1.0.0" - -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - -clone@^1.0.0, clone@^1.0.2: +clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" -clone@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2367,28 +1980,18 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - -colors@^1.1.2: - version "1.2.5" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" - colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -combined-stream@1.0.6, combined-stream@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - dependencies: - delayed-stream "~1.0.0" - commander@2.15.x, commander@^2.15.0, commander@^2.9.0, commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" +commander@^2.11.0: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -2403,10 +2006,6 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" -compare-versions@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.2.1.tgz#a49eb7689d4caaf0b6db5220173fd279614000f7" - component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -2446,7 +2045,7 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -convert-source-map@^1.4.0, convert-source-map@^1.5.1: +convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -2481,7 +2080,7 @@ core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: version "2.5.6" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2550,22 +2149,6 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -2685,16 +2268,6 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" - -"cssstyle@>= 0.2.37 < 0.3.0": - version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" - dependencies: - cssom "0.3.x" - csstype@^2.2.0: version "2.5.2" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.2.tgz#4534308476ceede8fbe148b9b99f9baf1c80fa06" @@ -2753,36 +2326,10 @@ d@1: dependencies: es5-ext "^0.10.9" -dargs@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f" - dependencies: - abab "^1.0.4" - whatwg-mimetype "^2.0.0" - whatwg-url "^6.4.0" - -date-fns@^1.27.2: - version "1.29.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2803,12 +2350,6 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" -decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - dependencies: - mimic-response "^1.0.0" - deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -2821,12 +2362,6 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - dependencies: - strip-bom "^2.0.0" - define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -2869,21 +2404,6 @@ del@^2.0.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -2907,10 +2427,6 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -2921,10 +2437,6 @@ detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - detect-port-alt@1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" @@ -2932,10 +2444,6 @@ detect-port-alt@1.1.6: address "^1.0.1" debug "^2.6.0" -diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -2944,13 +2452,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - doctrine@^2.0.0, doctrine@^2.0.2, doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -2990,12 +2491,6 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domexception@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - dependencies: - webidl-conversions "^4.0.2" - domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" @@ -3025,10 +2520,6 @@ dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -3042,32 +2533,14 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -editions@^1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.5.9: - version "2.6.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" - electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.45: version "1.3.47" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz#764e887ca9104d01a0ac8eabee7dfc0e2ce14104" -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -3109,22 +2582,10 @@ enhanced-resolve@^3.4.0: object-assign "^4.0.1" tapable "^0.2.7" -enhanced-resolve@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -envinfo@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-4.4.2.tgz#472c49f3a8b9bca73962641ce7cb692bf623cd1c" - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -3137,13 +2598,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" - dependencies: - string-template "~0.2.1" - xtend "~4.0.0" - es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0, es-abstract@^1.9.0: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" @@ -3238,17 +2692,6 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - escope@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" @@ -3345,14 +2788,14 @@ esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@^3.1.3, esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - esprima@^4.0.0, esprima@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + esquery@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" @@ -3365,7 +2808,7 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -3405,12 +2848,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" - dependencies: - merge "^1.1.3" - execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -3427,14 +2864,6 @@ exenv@^1.2.0, exenv@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -3465,17 +2894,6 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" - dependencies: - ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - express@^4.16.3: version "4.16.3" resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" @@ -3524,11 +2942,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^2.0.4, external-editor@^2.1.0: +external-editor@^2.0.4: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" dependencies: @@ -3555,14 +2969,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" @@ -3575,17 +2981,6 @@ fast-diff@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" -fast-glob@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.0.1" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.1" - micromatch "^3.1.10" - fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -3608,12 +3003,6 @@ faye-websocket@~0.11.0: dependencies: websocket-driver ">=0.5.1" -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - dependencies: - bser "^2.0.0" - fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9: version "0.8.16" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" @@ -3626,13 +3015,6 @@ fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -3657,13 +3039,6 @@ filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" -fileset@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - filesize@3.5.11: version "3.5.11" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" @@ -3707,25 +3082,12 @@ find-cache-dir@^1.0.0: make-dir "^1.0.0" pkg-dir "^2.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: locate-path "^2.0.0" -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - dependencies: - readable-stream "^2.0.2" - flat-cache@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" @@ -3739,10 +3101,6 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -flow-parser@^0.*: - version "0.72.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.72.0.tgz#6c8041e76ac7d0be1a71ce29c00cd1435fb6013c" - flush-write-stream@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" @@ -3764,18 +3122,6 @@ foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" - forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -3790,7 +3136,7 @@ fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" -from2@^2.1.0, from2@^2.1.1: +from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" dependencies: @@ -3803,6 +3149,10 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -3816,7 +3166,7 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.1.2, fsevents@^1.2.3: +fsevents@^1.0.0, fsevents@^1.1.2: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -3864,7 +3214,7 @@ get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" -get-stream@3.0.0, get-stream@^3.0.0: +get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -3872,25 +3222,6 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -gh-got@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" - dependencies: - got "^7.0.0" - is-plain-obj "^1.1.0" - -github-username@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" - dependencies: - gh-got "^6.0.0" - glamor@^2.20.40: version "2.20.40" resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.40.tgz#f606660357b7cf18dface731ad1a2cfa93817f05" @@ -3914,13 +3245,6 @@ glamorous@^4.12.1: react-html-attributes "^1.4.2" svg-tag-names "^1.1.0" -glob-all@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.1.0.tgz#8913ddfb5ee1ac7812656241b03d5217c64b02ab" - dependencies: - glob "^7.0.5" - yargs "~1.2.6" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3941,11 +3265,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -4000,120 +3320,22 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^8.0.0, globby@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -got@^8.2.0: - version "8.3.1" - resolved "https://registry.yarnpkg.com/got/-/got-8.3.1.tgz#093324403d4d955f5a16a7a8d39955d055ae10ed" - dependencies: - "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -grouped-queue@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" - dependencies: - lodash "^4.17.2" - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - gzip-size@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" dependencies: duplexer "^0.1.1" -handlebars@^4.0.3: - version "4.0.11" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -4126,16 +3348,6 @@ has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - dependencies: - has-symbol-support-x "^1.4.1" - has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -4187,15 +3399,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -4208,10 +3411,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" @@ -4241,12 +3440,6 @@ html-element-attributes@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-1.3.1.tgz#9fa6a2e37e6b61790a303e87ddbbb9746e8c035f" -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - dependencies: - whatwg-encoding "^1.0.1" - html-entities@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" @@ -4297,10 +3490,6 @@ htmlparser2@~3.3.0: domutils "1.1" readable-stream "1.0" -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - http-errors@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" @@ -4323,14 +3512,6 @@ http-parser-js@>=0.4.0: version "0.4.12" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.12.tgz#b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -4373,7 +3554,7 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3, ignore@^3.3.5: +ignore@^3.3.3: version "3.3.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" @@ -4381,27 +3562,10 @@ immutable@^3.8.1: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -4462,35 +3626,10 @@ inquirer@3.3.0, inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^5.1.0, inquirer@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.1.0" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^5.5.2" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -interpret@^1.0.0, interpret@^1.0.4: +interpret@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" - invariant@^2.2.0, invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -4545,12 +3684,6 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-ci@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" - dependencies: - ci-info "^1.0.0" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4639,10 +3772,6 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -4677,16 +3806,6 @@ is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - is-odd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" @@ -4709,7 +3828,7 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -4741,21 +3860,11 @@ is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" -is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - is-root@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" - dependencies: - scoped-regex "^1.0.0" - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -4769,14 +3878,6 @@ is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -4793,10 +3894,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isbinaryfile@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4818,475 +3915,44 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul-api@^1.1.14: - version "1.3.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" - dependencies: - async "^2.1.4" - compare-versions "^3.1.0" - fileset "^2.0.2" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-hook "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-report "^1.1.4" - istanbul-lib-source-maps "^1.2.4" - istanbul-reports "^1.3.0" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverage@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" - -istanbul-lib-hook@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c" - dependencies: - append-transform "^0.4.0" +jest-docblock@^21.0.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" -istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.0" - semver "^5.3.0" +js-base64@^2.1.9: + version "2.4.5" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" -istanbul-lib-report@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" - dependencies: - istanbul-lib-coverage "^1.2.0" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -istanbul-lib-source-maps@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" +js-yaml@^3.4.3, js-yaml@^3.9.0, js-yaml@^3.9.1: + version "3.11.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.1.2" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" + argparse "^1.0.7" + esprima "^4.0.0" -istanbul-lib-source-maps@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7" +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.2.0" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" + argparse "^1.0.7" + esprima "^2.6.0" -istanbul-reports@^1.3.0: +jsesc@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" - dependencies: - handlebars "^4.0.3" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" -istextorbinary@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53" - dependencies: - binaryextensions "2" - editions "^1.3.3" - textextensions "2" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jest-changed-files@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" - dependencies: - throat "^4.0.0" - -jest-cli@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.3.tgz#bf16c4a5fb7edc3fa5b9bb7819e34139e88a72c7" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.11" - import-local "^1.0.0" - is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.4.3" - jest-config "^22.4.3" - jest-environment-jsdom "^22.4.3" - jest-get-type "^22.4.3" - jest-haste-map "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve-dependencies "^22.4.3" - jest-runner "^22.4.3" - jest-runtime "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - jest-worker "^22.4.3" - micromatch "^2.3.11" - node-notifier "^5.2.1" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^1.0.0" - string-length "^2.0.0" - strip-ansi "^4.0.0" - which "^1.2.12" - yargs "^10.0.3" - -jest-config@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" - dependencies: - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^22.4.3" - jest-environment-node "^22.4.3" - jest-get-type "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - pretty-format "^22.4.3" - -jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" - -jest-docblock@^21.0.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" - -jest-docblock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" - dependencies: - detect-newline "^2.1.0" - -jest-environment-jsdom@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" - dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" - jsdom "^11.5.1" - -jest-environment-node@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" - dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" - -jest-get-type@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" - -jest-haste-map@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" - dependencies: - fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - jest-docblock "^22.4.3" - jest-serializer "^22.4.3" - jest-worker "^22.4.3" - micromatch "^2.3.11" - sane "^2.0.0" - -jest-jasmine2@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.3.tgz#4daf64cd14c793da9db34a7c7b8dcfe52a745965" - dependencies: - chalk "^2.0.1" - co "^4.6.0" - expect "^22.4.3" - graceful-fs "^4.1.11" - is-generator-fn "^1.0.0" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" - dependencies: - pretty-format "^22.4.3" - -jest-matcher-utils@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" - dependencies: - chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" - -jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" - -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" - -jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" - -jest-resolve-dependencies@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" - dependencies: - jest-regex-util "^22.4.3" - -jest-resolve@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" - dependencies: - browser-resolve "^1.11.2" - chalk "^2.0.1" - -jest-runner@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.3.tgz#298ddd6a22b992c64401b4667702b325e50610c3" - dependencies: - exit "^0.1.2" - jest-config "^22.4.3" - jest-docblock "^22.4.3" - jest-haste-map "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-leak-detector "^22.4.3" - jest-message-util "^22.4.3" - jest-runtime "^22.4.3" - jest-util "^22.4.3" - jest-worker "^22.4.3" - throat "^4.0.0" - -jest-runtime@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.3.tgz#b69926c34b851b920f666c93e86ba2912087e3d0" - dependencies: - babel-core "^6.0.0" - babel-jest "^22.4.3" - babel-plugin-istanbul "^4.1.5" - chalk "^2.0.1" - convert-source-map "^1.4.0" - exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^22.4.3" - jest-haste-map "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - json-stable-stringify "^1.0.1" - micromatch "^2.3.11" - realpath-native "^1.0.0" - slash "^1.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.1.0" - yargs "^10.0.3" - -jest-serializer@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" - -jest-snapshot@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" - dependencies: - chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^22.4.3" - -jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^22.4.3" - mkdirp "^0.5.1" - source-map "^0.6.0" - -jest-validate@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.3.tgz#0780954a5a7daaeec8d3c10834b9280865976b30" - dependencies: - chalk "^2.0.1" - jest-config "^22.4.3" - jest-get-type "^22.4.3" - leven "^2.1.0" - pretty-format "^22.4.3" - -jest-worker@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" - dependencies: - merge-stream "^1.0.1" - -jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" - dependencies: - import-local "^1.0.0" - jest-cli "^22.4.3" - -js-base64@^2.1.9: - version "2.4.5" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: - version "3.11.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jscodeshift@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.4.1.tgz#da91a1c2eccfa03a3387a21d39948e251ced444a" - dependencies: - async "^1.5.0" - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-preset-es2015 "^6.9.0" - babel-preset-stage-1 "^6.5.0" - babel-register "^6.9.0" - babylon "^6.17.3" - colors "^1.1.2" - flow-parser "^0.*" - lodash "^4.13.1" - micromatch "^2.3.7" - node-dir "0.1.8" - nomnom "^1.8.1" - recast "^0.12.5" - temp "^0.8.1" - write-file-atomic "^1.2.0" - -jscodeshift@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.0.tgz#bdb7b6cc20dd62c16aa728c3fa2d2fe66ca7c748" - dependencies: - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-preset-es2015 "^6.9.0" - babel-preset-stage-1 "^6.5.0" - babel-register "^6.9.0" - babylon "^7.0.0-beta.30" - colors "^1.1.2" - flow-parser "^0.*" - lodash "^4.13.1" - micromatch "^2.3.7" - neo-async "^2.5.0" - node-dir "0.1.8" - nomnom "^1.8.1" - recast "^0.14.1" - temp "^0.8.1" - write-file-atomic "^1.2.0" - -jsdom@^11.5.1: - version "11.10.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.10.0.tgz#a42cd54e88895dc765f03f15b807a474962ac3b5" - dependencies: - abab "^1.0.4" - acorn "^5.3.0" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - data-urls "^1.0.0" - domexception "^1.0.0" - escodegen "^1.9.0" - html-encoding-sniffer "^1.0.2" - left-pad "^1.2.0" - nwmatcher "^1.4.3" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.83.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.3" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.0" - ws "^4.0.0" - xml-name-validator "^3.0.0" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" +jsesc@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - json-loader@^0.5.4, json-loader@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" @@ -5299,21 +3965,11 @@ json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -5329,15 +3985,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - jsx-ast-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" @@ -5348,12 +3995,6 @@ keycode@^2.1.9: version "2.2.0" resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" - dependencies: - json-buffer "3.0.0" - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -5384,18 +4025,6 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -leb@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/leb/-/leb-0.3.0.tgz#32bee9fad168328d6aea8522d833f4180eed1da3" - -left-pad@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -5403,64 +4032,6 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - -listr-update-renderer@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" - dependencies: - chalk "^1.1.3" - cli-cursor "^1.0.2" - date-fns "^1.27.2" - figures "^1.7.0" - -listr@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - figures "^1.7.0" - indent-string "^2.1.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.4.0" - listr-verbose-renderer "^0.4.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - ora "^0.2.3" - p-map "^1.1.1" - rxjs "^5.4.2" - stream-to-observable "^0.2.0" - strip-ansi "^3.0.1" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -5470,15 +4041,6 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" @@ -5575,33 +4137,10 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: +lodash@^4.14.0, lodash@^4.17.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -log-symbols@^2.1.0, log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - dependencies: - chalk "^2.0.1" - -log-update@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" - dependencies: - ansi-escapes "^1.0.0" - cli-cursor "^1.0.2" - -long@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -5616,14 +4155,6 @@ lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - lru-cache@^4.0.1, lru-cache@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" @@ -5635,7 +4166,7 @@ macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" -make-dir@^1.0.0, make-dir@^1.1.0: +make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" dependencies: @@ -5645,12 +4176,6 @@ make-error@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - dependencies: - tmpl "1.0.x" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -5695,30 +4220,6 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -mem-fs-editor@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.2.tgz#55a79b1e824da631254c4c95ba6366602c77af90" - dependencies: - commondir "^1.0.1" - deep-extend "^0.5.1" - ejs "^2.5.9" - glob "^7.0.3" - globby "^8.0.0" - isbinaryfile "^3.0.2" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^2.0.1" - -mem-fs@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" - dependencies: - through2 "^2.0.0" - vinyl "^1.1.0" - vinyl-file "^2.0.0" - mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -5736,25 +4237,11 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - dependencies: - readable-stream "^2.0.1" - -merge2@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" - -merge@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.3.11, micromatch@^2.3.7: +micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -5772,7 +4259,7 @@ micromatch@^2.3.11, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: @@ -5801,7 +4288,7 @@ mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: +mime-types@~2.1.18: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: @@ -5819,10 +4306,6 @@ mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" -mimic-response@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" - min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -5843,7 +4326,7 @@ minimatch@3.0.3: dependencies: brace-expansion "^1.0.0" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -5853,18 +4336,10 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - -minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - minipass@^2.2.1, minipass@^2.2.4: version "2.3.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384" @@ -5931,15 +4406,6 @@ multi-key-cache@^1.0.2: dependencies: map-or-similar "^1.1.3" -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -5989,20 +4455,12 @@ next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" -nice-try@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" - no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" dependencies: lower-case "^1.1.1" -node-dir@0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.8.tgz#55fb8deb699070707fb67f91a460f0448294c77d" - node-dir@^0.1.10: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" @@ -6016,10 +4474,6 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - node-libs-browser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" @@ -6048,15 +4502,6 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" -node-notifier@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" - dependencies: - growly "^1.3.0" - semver "^5.4.1" - shellwords "^0.1.1" - which "^1.3.0" - node-pre-gyp@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" @@ -6072,13 +4517,6 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -nomnom@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -6095,7 +4533,7 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -6105,14 +4543,6 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - normalize-url@^1.4.0: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -6162,14 +4592,6 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -nwmatcher@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" - -oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -6242,10 +4664,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -6258,14 +4676,7 @@ opn@5.2.0: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1, optionator@^0.8.2: +optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: @@ -6276,15 +4687,6 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -ora@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" - dependencies: - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - object-assign "^4.0.1" - original@>=0.0.5: version "1.0.1" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" @@ -6318,32 +4720,18 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" dependencies: - p-reduce "^1.0.0" + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - -p-lazy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" - p-limit@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" @@ -6356,26 +4744,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - dependencies: - p-finally "^1.0.0" - -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -6438,10 +4806,6 @@ parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -6458,12 +4822,6 @@ path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -6476,7 +4834,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -6488,26 +4846,12 @@ path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" dependencies: pify "^2.0.0" -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - dependencies: - pify "^3.0.0" - pbkdf2@^3.0.3: version "3.0.16" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" @@ -6518,11 +4862,7 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -6550,10 +4890,6 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -6846,26 +5182,18 @@ prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" -prepend-http@^1.0.0, prepend-http@^1.0.1: +prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.12.1, prettier@^1.5.3: +prettier@^1.12.1: version "1.12.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -6873,18 +5201,11 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - private@^0.1.6, private@^0.1.8, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: +process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -6970,7 +5291,7 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -6986,7 +5307,7 @@ qs@6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -qs@^6.5.1, qs@~6.5.1: +qs@^6.5.1: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -6997,14 +5318,6 @@ query-string@^4.1.0: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -7027,8 +5340,8 @@ radium@^0.19.0: prop-types "^15.5.8" randomatic@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" + version "3.1.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" dependencies: is-number "^4.0.0" kind-of "^6.0.0" @@ -7213,20 +5526,6 @@ react@^16.3.2: object-assign "^4.1.1" prop-types "^15.6.0" -read-chunk@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" - dependencies: - pify "^3.0.0" - safe-buffer "^5.1.1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -7234,21 +5533,6 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -7257,15 +5541,7 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -7295,13 +5571,7 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -realpath-native@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" - dependencies: - util.promisify "^1.0.0" - -recast@^0.12.5, recast@^0.12.6: +recast@^0.12.6: version "0.12.9" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" dependencies: @@ -7311,15 +5581,6 @@ recast@^0.12.5, recast@^0.12.6: private "~0.1.5" source-map "~0.6.1" -recast@^0.14.1: - version "0.14.7" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" - dependencies: - ast-types "0.11.3" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - recast@~0.11.12: version "0.11.23" resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" @@ -7368,6 +5629,10 @@ regenerate@^1.2.1: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" @@ -7455,54 +5720,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - dependencies: - lodash "^4.13.1" - -request-promise-native@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" - dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" - -request@^2.83.0: - version "2.86.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.86.0.tgz#2b9497f449b0a32654c081a5cf426bbfb5bf5b69" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -7530,12 +5747,6 @@ requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - dependencies: - resolve-from "^3.0.0" - resolve-dir@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -7547,37 +5758,16 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - resolve@^1.1.6: version "1.7.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" dependencies: path-parse "^1.0.5" -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -7601,10 +5791,6 @@ rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: dependencies: glob "^7.0.5" -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -7612,11 +5798,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rsvp@^3.3.3: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" - -run-async@^2.0.0, run-async@^2.2.0: +run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: @@ -7638,12 +5820,6 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rxjs@^5.4.2, rxjs@^5.5.2: - version "5.5.10" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" - dependencies: - symbol-observable "1.0.1" - safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -7662,21 +5838,6 @@ safe-regex@^1.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" -sane@^2.0.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" - dependencies: - anymatch "^2.0.0" - capture-exit "^1.2.0" - exec-sh "^0.2.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.2.3" - sax@^1.2.4, sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -7687,22 +5848,18 @@ schema-utils@^0.3.0: dependencies: ajv "^5.0.0" -schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5: +schema-utils@^0.4.0, schema-utils@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" dependencies: ajv "^6.1.0" ajv-keywords "^3.1.0" -scoped-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" - "scroller@https://github.com/mjohnston/scroller": version "0.0.1" resolved "https://github.com/mjohnston/scroller#054c3349d5ff7474589eb7fbbb36708e5c48e435" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" @@ -7817,7 +5974,7 @@ shell-quote@1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shelljs@^0.8.0, shelljs@^0.8.1: +shelljs@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" dependencies: @@ -7825,10 +5982,6 @@ shelljs@^0.8.0, shelljs@^0.8.1: interpret "^1.0.0" rechoir "^0.6.2" -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -7837,20 +5990,12 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" dependencies: is-fullwidth-code-point "^2.0.0" -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -7878,12 +6023,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - sockjs-client@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" @@ -7901,12 +6040,6 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - dependencies: - is-plain-obj "^1.0.0" - source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" @@ -7927,13 +6060,6 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -7942,13 +6068,7 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, sourc version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -7984,30 +6104,12 @@ sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" -sshpk@^1.7.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - ssri@^5.2.4: version "5.3.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" dependencies: safe-buffer "^5.1.1" -stack-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -8023,10 +6125,6 @@ statuses@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" -stealthy-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -8055,27 +6153,10 @@ stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" -stream-to-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" - dependencies: - any-observable "^0.2.0" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -8129,27 +6210,10 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - -strip-bom@3.0.0, strip-bom@^3.0.0: +strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -8169,7 +6233,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -8203,22 +6267,10 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - symbol-observable@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" -symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - table@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" @@ -8234,10 +6286,6 @@ tapable@^0.2.7: version "0.2.8" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" -tapable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" - tar@^4: version "4.4.2" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462" @@ -8250,35 +6298,10 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -temp@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -test-exclude@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" - dependencies: - arrify "^1.0.1" - micromatch "^3.1.8" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0: +text-table@0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -textextensions@2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz#38ac676151285b658654581987a0ce1a4490d286" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -8294,10 +6317,6 @@ time-stamp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" -timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - timers-browserify@^2.0.4: version "2.0.10" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" @@ -8314,10 +6333,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -8356,18 +6371,6 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" -tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" - dependencies: - punycode "^1.4.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - dependencies: - punycode "^2.1.0" - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -8376,16 +6379,6 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -8421,7 +6414,7 @@ uglify-js@3.3.x: commander "~2.15.0" source-map "~0.6.1" -uglify-js@^2.6, uglify-js@^2.8.29: +uglify-js@^2.8.29: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: @@ -8455,10 +6448,6 @@ uglifyjs-webpack-plugin@^1.2.4: webpack-sources "^1.1.0" worker-farm "^1.5.2" -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - unicode-trie@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" @@ -8512,10 +6501,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.2.tgz#7f1f302055b3fea0f3e81dc78eb36766cb65e3f1" - upath@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" @@ -8542,18 +6527,6 @@ url-loader@^0.6.2: mime "^1.4.1" schema-utils "^0.3.0" -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - dependencies: - prepend-http "^2.0.0" - url-parse@^1.1.8, url-parse@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" @@ -8561,10 +6534,6 @@ url-parse@^1.1.8, url-parse@~1.4.0: querystringify "^2.0.0" requires-port "^1.0.0" -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -8578,17 +6547,14 @@ use@^3.1.0: dependencies: kind-of "^6.0.2" +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -8607,13 +6573,15 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@^3.1.0, uuid@^3.2.1: +uuid@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" -v8-compile-cache@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" validate-npm-package-license@^3.0.1: version "3.0.3" @@ -8643,76 +6611,19 @@ vendors@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" - -vinyl@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - dependencies: - browser-process-hrtime "^0.1.2" - -walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - dependencies: - makeerror "1.0.x" - warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" dependencies: loose-envify "^1.0.0" -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -watchpack@^1.4.0, watchpack@^1.5.0: +watchpack@^1.4.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" dependencies: @@ -8720,57 +6631,6 @@ watchpack@^1.4.0, watchpack@^1.5.0: graceful-fs "^4.1.2" neo-async "^2.5.0" -webassemblyjs@1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webassemblyjs/-/webassemblyjs-1.4.3.tgz#0591893efb8fbde74498251cbe4b2d83df9239cb" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/validation" "1.4.3" - "@webassemblyjs/wasm-parser" "1.4.3" - "@webassemblyjs/wast-parser" "1.4.3" - long "^3.2.0" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - -webpack-addons@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/webpack-addons/-/webpack-addons-1.1.5.tgz#2b178dfe873fb6e75e40a819fa5c26e4a9bc837a" - dependencies: - jscodeshift "^0.4.0" - -webpack-cli@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.1.3.tgz#65d166851abaa56067ef3f716b02a97ba6bbe84d" - dependencies: - chalk "^2.3.2" - cross-spawn "^6.0.5" - diff "^3.5.0" - enhanced-resolve "^4.0.0" - envinfo "^4.4.2" - glob-all "^3.1.0" - global-modules "^1.0.0" - got "^8.2.0" - import-local "^1.0.0" - inquirer "^5.1.0" - interpret "^1.0.4" - jscodeshift "^0.5.0" - listr "^0.13.0" - loader-utils "^1.1.0" - lodash "^4.17.5" - log-symbols "^2.2.0" - mkdirp "^0.5.1" - p-each-series "^1.0.0" - p-lazy "^1.0.0" - prettier "^1.5.3" - supports-color "^5.3.0" - v8-compile-cache "^1.1.2" - webpack-addons "^1.1.5" - yargs "^11.1.0" - yeoman-environment "^2.0.0" - yeoman-generator "^2.0.4" - webpack-dev-middleware@^1.12.2: version "1.12.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" @@ -8824,33 +6684,6 @@ webpack@^3.11.0: webpack-sources "^1.0.1" yargs "^8.0.2" -webpack@^4.0.0: - version "4.8.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.8.3.tgz#957c8e80000f9e5cc03d775e78b472d8954f4eeb" - dependencies: - "@webassemblyjs/ast" "1.4.3" - "@webassemblyjs/wasm-edit" "1.4.3" - "@webassemblyjs/wasm-parser" "1.4.3" - acorn "^5.0.0" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^0.1.1" - enhanced-resolve "^4.0.0" - eslint-scope "^3.7.1" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.0.0" - uglifyjs-webpack-plugin "^1.2.4" - watchpack "^1.5.0" - webpack-sources "^1.0.1" - websocket-driver@>=0.5.1: version "0.7.0" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" @@ -8862,28 +6695,10 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" - dependencies: - iconv-lite "0.4.19" - whatwg-fetch@>=0.10.0: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" -whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" - -whatwg-url@^6.4.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.1.tgz#fdb94b440fd4ad836202c16e9737d511f012fd67" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -8892,7 +6707,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0: +which@^1.2.14, which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: @@ -8912,10 +6727,6 @@ wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -8937,40 +6748,13 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^1.2.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-file-atomic@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" dependencies: mkdirp "^0.5.1" -ws@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -8996,52 +6780,6 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - dependencies: - camelcase "^4.1.0" - -yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - -yargs@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - yargs@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" @@ -9060,12 +6798,6 @@ yargs@^8.0.2: y18n "^3.2.1" yargs-parser "^7.0.0" -yargs@~1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" - dependencies: - minimist "^0.1.0" - yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" @@ -9074,53 +6806,3 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" - -yeoman-environment@^2.0.0, yeoman-environment@^2.0.5: - version "2.1.1" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.1.1.tgz#10a045f7fc4397873764882eae055a33e56ee1c5" - dependencies: - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^3.1.0" - diff "^3.3.1" - escape-string-regexp "^1.0.2" - globby "^8.0.1" - grouped-queue "^0.3.3" - inquirer "^5.2.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.1.0" - mem-fs "^1.1.0" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.2" - -yeoman-generator@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-2.0.5.tgz#57b0b3474701293cc9ec965288f3400b00887c81" - dependencies: - async "^2.6.0" - chalk "^2.3.0" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^5.1.0" - dateformat "^3.0.3" - debug "^3.1.0" - detect-conflict "^1.0.0" - error "^7.0.2" - find-up "^2.1.0" - github-username "^4.0.0" - istextorbinary "^2.2.1" - lodash "^4.17.10" - make-dir "^1.1.0" - mem-fs-editor "^4.0.0" - minimist "^1.2.0" - pretty-bytes "^4.0.2" - read-chunk "^2.1.0" - read-pkg-up "^3.0.0" - rimraf "^2.6.2" - run-async "^2.0.0" - shelljs "^0.8.0" - text-table "^0.2.0" - through2 "^2.0.0" - yeoman-environment "^2.0.5" From 3f53b133c35f50b89e5358b307394bc9d22e79d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Fri, 17 Aug 2018 10:08:10 +0200 Subject: [PATCH 46/60] Fixed build & storybook --- .babelrc | 9 +++------ .storybook/webpack.config.js | 18 ------------------ package.json | 5 ++--- src/index.js | 15 +++++++++++++++ yarn.lock | 2 +- 5 files changed, 21 insertions(+), 28 deletions(-) delete mode 100644 .storybook/webpack.config.js diff --git a/.babelrc b/.babelrc index 7f397f9..9a926d3 100644 --- a/.babelrc +++ b/.babelrc @@ -1,16 +1,13 @@ { "presets": [ - "react", [ "env", { "targets": { "browsers": ["last 2 versions"] } } - ] - ], - "plugins": [ - "transform-class-properties", - "transform-object-rest-spread" + ], + "react", + "stage-2" ] } diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js deleted file mode 100644 index 17cc9b3..0000000 --- a/.storybook/webpack.config.js +++ /dev/null @@ -1,18 +0,0 @@ -// you can use this file to add your custom webpack plugins, loaders and anything you like. -// This is just the basic way to add additional webpack configurations. -// For more information refer the docs: https://storybook.js.org/configurations/custom-webpack-config - -// IMPORTANT -// When you add this file, we won't add the default configurations which is similar -// to "React Create App". This only has babel loader to load JavaScript. - -module.exports = { - plugins: [ - // your custom plugins - ], - module: { - loaders: [ - // add your custom loaders. - ], - }, -}; diff --git a/package.json b/package.json index 0898168..74351ab 100644 --- a/package.json +++ b/package.json @@ -28,11 +28,10 @@ "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-eslint": "^8.2.3", - "babel-loader": "^7.1.4", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-preset-react": "^6.24.1", + "babel-preset-stage-2": "^6.24.1", + "babel-runtime": "^6.26.0", "d3-scale": "^1.0.6", "eslint": "^4.1.1", "eslint-config-prettier": "^2.9.0", diff --git a/src/index.js b/src/index.js index 555672d..d209d57 100644 --- a/src/index.js +++ b/src/index.js @@ -44,4 +44,19 @@ const ReactCanvas = { registerCustomComponent }; +export const Text = ReactCanvas.Text; +export const Group = ReactCanvas.Group; +export const Gradient = ReactCanvas.Gradient; +export const Layer = ReactCanvas.Layer; + +export { + Surface, + Image, + ListView, + FontFace, + FrameUtils, + measureText, + registerCustomComponent +}; + export default ReactCanvas; diff --git a/yarn.lock b/yarn.lock index d0447ab..e46129e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1238,7 +1238,7 @@ babel-plugin-transform-minify-booleans@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" -babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.26.0: +babel-plugin-transform-object-rest-spread@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: From a626c240c81393e4ab74aa281529755cd6393d75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Fri, 17 Aug 2018 10:10:40 +0200 Subject: [PATCH 47/60] Fixed children proptype --- src/Surface.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Surface.js b/src/Surface.js index b471819..cc3fc80 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -26,7 +26,7 @@ class Surface extends React.Component { height: PropTypes.number.isRequired, scale: PropTypes.number.isRequired, enableCSSLayout: PropTypes.bool, - children: PropTypes.object, + children: PropTypes.node, style: PropTypes.object, canvas: PropTypes.object }; From 93bff2353d18d163d221b8978ef95d73d6d6340a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Fri, 17 Aug 2018 10:11:08 +0200 Subject: [PATCH 48/60] Dont run afterTick when canvas is already removed from DOM --- src/Surface.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Surface.js b/src/Surface.js index cc3fc80..d2b3712 100755 --- a/src/Surface.js +++ b/src/Surface.js @@ -176,7 +176,8 @@ class Surface extends React.Component { afterTick = () => { // Execute pending draw that may have been scheduled during previous frame this._frameReady = true; - if (this._pendingTick) { + // canvas might be already removed from DOM + if (this._pendingTick && this.canvas) { this._pendingTick = false; this.batchedTick(); } From 6e41eac87175c1f13245849f8db67d8bff6131d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Fri, 17 Aug 2018 10:19:20 +0200 Subject: [PATCH 49/60] Unify stories' names in storybook --- .editorconfig | 9 ++ stories/{csslayout.js => CSS.js} | 0 stories/{customDrawStory.js => CustomDraw.js} | 0 stories/Gradient.js | 57 ++++++++ stories/{heatmapStory.js => Heatmap.js} | 0 stories/Image.js | 27 ++++ stories/{listviewStory.js => Listview.js} | 0 stories/Text.js | 49 +++++++ stories/{timeline.js => Timeline.js} | 0 stories/canvasStory.js | 127 ------------------ stories/index.js | 14 +- 11 files changed, 150 insertions(+), 133 deletions(-) create mode 100644 .editorconfig rename stories/{csslayout.js => CSS.js} (100%) rename stories/{customDrawStory.js => CustomDraw.js} (100%) create mode 100644 stories/Gradient.js rename stories/{heatmapStory.js => Heatmap.js} (100%) create mode 100644 stories/Image.js rename stories/{listviewStory.js => Listview.js} (100%) create mode 100644 stories/Text.js rename stories/{timeline.js => Timeline.js} (100%) delete mode 100644 stories/canvasStory.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..a3ad0dc --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = false \ No newline at end of file diff --git a/stories/csslayout.js b/stories/CSS.js similarity index 100% rename from stories/csslayout.js rename to stories/CSS.js diff --git a/stories/customDrawStory.js b/stories/CustomDraw.js similarity index 100% rename from stories/customDrawStory.js rename to stories/CustomDraw.js diff --git a/stories/Gradient.js b/stories/Gradient.js new file mode 100644 index 0000000..dab9ddc --- /dev/null +++ b/stories/Gradient.js @@ -0,0 +1,57 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { Gradient, Surface } from "../src/index"; + +storiesOf("Gradient", module) + .add("transparent-grey", () => { + const props = { size: { width: 80, height: 80 } }; + return ( +
+ + + +
+ ); + }) + .add("blue-green", () => { + const props = { size: { width: 80, height: 80 } }; + return ( +
+ + + +
+ ); + }); diff --git a/stories/heatmapStory.js b/stories/Heatmap.js similarity index 100% rename from stories/heatmapStory.js rename to stories/Heatmap.js diff --git a/stories/Image.js b/stories/Image.js new file mode 100644 index 0000000..f855def --- /dev/null +++ b/stories/Image.js @@ -0,0 +1,27 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { Image, Surface } from "../src/index"; + +storiesOf("Image", module).add("hello-world", () => { + const props = { size: { width: 400, height: 400 } }; + return ( +
+ + + +
+ ); +}); diff --git a/stories/listviewStory.js b/stories/Listview.js similarity index 100% rename from stories/listviewStory.js rename to stories/Listview.js diff --git a/stories/Text.js b/stories/Text.js new file mode 100644 index 0000000..a42ecb8 --- /dev/null +++ b/stories/Text.js @@ -0,0 +1,49 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { Text, Group, Image, Surface } from "../src/index"; + +storiesOf("Text", module).add("hello-world", () => { + const props = { size: { width: 400, height: 400 } }; + return ( +
+ + + + Hello World + + + Hello World 2 + + + + + +
+ ); +}); diff --git a/stories/timeline.js b/stories/Timeline.js similarity index 100% rename from stories/timeline.js rename to stories/Timeline.js diff --git a/stories/canvasStory.js b/stories/canvasStory.js deleted file mode 100644 index a0a8f33..0000000 --- a/stories/canvasStory.js +++ /dev/null @@ -1,127 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import { Gradient, Text, Group, Image, Surface } from "../src/index"; - -storiesOf("Gradient", module) - .add("transparent-grey", () => { - const props = { size: { width: 80, height: 80 } }; - return ( -
- - - -
- ); - }) - .add("blue-green", () => { - const props = { size: { width: 80, height: 80 } }; - return ( -
- - - -
- ); - }); - -storiesOf("Text", module).add("hello-world", () => { - const props = { size: { width: 400, height: 400 } }; - return ( -
- - - - Hello World - - - Hello World 2 - - - - - -
- ); -}); - -storiesOf("Image", module).add("hello-world", () => { - const props = { size: { width: 400, height: 400 } }; - return ( -
- - - -
- ); -}); diff --git a/stories/index.js b/stories/index.js index 1afc631..d7f3733 100644 --- a/stories/index.js +++ b/stories/index.js @@ -1,6 +1,8 @@ -import "./canvasStory"; -import "./listviewStory"; -import "./customDrawStory"; -import "./heatmapStory"; -import "./timeline"; -import "./csslayout"; +import "./Image"; +import "./Gradient"; +import "./Text"; +import "./Listview"; +import "./CustomDraw"; +import "./Heatmap"; +import "./Timeline"; +import "./CSS"; From e17358f78676560839b14aab9e05d0fe8bfeb25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Fri, 17 Aug 2018 10:22:16 +0200 Subject: [PATCH 50/60] Added build to npm prepare (build before package is pushed) --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 74351ab..80b6ce9 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "scripts": { "build": "rimraf dist && babel src --out-dir dist", "storybook": "start-storybook -p 6006 -c .storybook", - "build-storybook": "build-storybook -c .storybook" + "build-storybook": "build-storybook -c .storybook", + "prepare": "yarn build" }, "keywords": [ "react", From 2b5d7c69b54bd50f918f338601201af3f74773aa Mon Sep 17 00:00:00 2001 From: Vita Smid Date: Tue, 21 Aug 2018 15:43:33 +0200 Subject: [PATCH 51/60] v1.6.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 80b6ce9..07b9020 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-canvas", - "version": "1.5.0", + "version": "1.6.0", "description": "High performance rendering for React components", "main": "dist/index.js", "repository": { From a77629cbd26c51d2c049c61d904bdc957f7ee1de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Wed, 12 Sep 2018 09:43:11 +0200 Subject: [PATCH 52/60] Ignore yarn log --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 03e9bd6..10d2a1c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules npm-debug.log .idea storybook-static -dist \ No newline at end of file +dist +yarn-error.log From d79b1baa1ace2fe00146c4466985e07e25e826c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Wed, 12 Sep 2018 09:44:44 +0200 Subject: [PATCH 53/60] Fix prettier --- package.json | 4 +++- src/DrawingUtils.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 07b9020..e6ec2bb 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,9 @@ "build": "rimraf dist && babel src --out-dir dist", "storybook": "start-storybook -p 6006 -c .storybook", "build-storybook": "build-storybook -c .storybook", - "prepare": "yarn build" + "prepare": "yarn build", + "prettier": "prettier src/**/* --write", + "lint": "eslint src/**/*" }, "keywords": [ "react", diff --git a/src/DrawingUtils.js b/src/DrawingUtils.js index 873219b..d56a021 100644 --- a/src/DrawingUtils.js +++ b/src/DrawingUtils.js @@ -405,7 +405,7 @@ drawRenderLayer = (ctx, layer) => { if (saveContext) { ctx.restore(); } -} +}; /** * Draw a bitmap-cacheable layer into a pooled . The result will be From 75a6a5c13600f139d2df4cb738f98f94ca9bdee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Wed, 12 Sep 2018 09:46:55 +0200 Subject: [PATCH 54/60] Eslint rules --- .eslintrc.js | 9 --------- src/CanvasRenderer.js | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5b45cca..2dec016 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,14 +6,5 @@ module.exports = { node: true }, plugins: ["prettier", "react"], - rules: { - "prettier/prettier": "error", - "prefer-const": "error", - "no-use-before-define": "error", - "no-var": "error", - "no-throw-literal": "error", - // Light console usage is useful but remove debug logs before merging to master. - "no-console": "off" - }, extends: ["prettier", "plugin:react/recommended", "eslint:recommended"] }; diff --git a/src/CanvasRenderer.js b/src/CanvasRenderer.js index 5d9fd52..26eaceb 100644 --- a/src/CanvasRenderer.js +++ b/src/CanvasRenderer.js @@ -212,7 +212,7 @@ CanvasRenderer.injectIntoDevTools({ version: React.version || 16, rendererPackageName: "react-canvas", getInspectorDataForViewTag: (...args) => { - console.log(args); + console.log(args); // eslint-disable-line no-console } }); From 5ff6db3ac2b5ddba1a05bde5dc472a882a97300b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Wed, 12 Sep 2018 11:03:25 +0200 Subject: [PATCH 55/60] Keep defined RenderLayer zIndex --- src/RenderLayer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RenderLayer.js b/src/RenderLayer.js index 6e929a7..4d47b04 100644 --- a/src/RenderLayer.js +++ b/src/RenderLayer.js @@ -83,7 +83,7 @@ RenderLayer.prototype = { const beforeIndex = parentLayer.children.indexOf(beforeLayer); parentLayer.children.splice(beforeIndex, 0, this); this.parentLayer = parentLayer; - this.zIndex = beforeLayer.zIndex || 0; + this.zIndex = this.zIndex || beforeLayer.zIndex || 0; }, /** From ad2f4942d0604cb7c9cf569efcc3088d3227397f Mon Sep 17 00:00:00 2001 From: Vita Smid Date: Thu, 13 Sep 2018 09:54:29 +0200 Subject: [PATCH 56/60] v1.6.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e6ec2bb..0890da6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-canvas", - "version": "1.6.0", + "version": "1.6.1", "description": "High performance rendering for React components", "main": "dist/index.js", "repository": { From 5586699e111bdc8657bafabb90cc37fe96f672f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Thu, 13 Sep 2018 16:57:29 +0200 Subject: [PATCH 57/60] Move React to peerDependencies --- package.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0890da6..c9befc5 100644 --- a/package.json +++ b/package.json @@ -42,16 +42,20 @@ "eslint-plugin-react": "^7.8.2", "lodash.range": "^3.2.0", "prettier": "^1.12.1", + "react": "^16.3.2", + "react-dom": "^16.3.2", "rimraf": "^2.6.2" }, + "peerDependencies": { + "react": "^16.3.2", + "react-dom": "^16.3.2" + }, "dependencies": { "@craigmorton/linebreak": "^0.4.5", "css-layout": "^1.1.1", "fbjs": "^0.8.16", "multi-key-cache": "^1.0.2", "prop-types": "^15.6.1", - "react": "^16.3.2", - "react-dom": "^16.3.2", "react-reconciler": "^0.10.0", "scroller": "https://github.com/mjohnston/scroller" } From 2fe0cf11ca6674b3ef8dc3330d81f75b0ebc2420 Mon Sep 17 00:00:00 2001 From: Vita Smid Date: Fri, 14 Sep 2018 09:38:53 +0200 Subject: [PATCH 58/60] v1.6.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c9befc5..a9ef341 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-canvas", - "version": "1.6.1", + "version": "1.6.2", "description": "High performance rendering for React components", "main": "dist/index.js", "repository": { From 3acbbb26b60380a6c30d973c38c8420f09fc3ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vojt=C3=A1=C5=A1ek?= Date: Mon, 29 Oct 2018 14:56:11 +0100 Subject: [PATCH 59/60] Added support for React 16.6.0 --- package.json | 9 +- src/CanvasRenderer.js | 151 +++--- src/index.js | 4 +- yarn.lock | 1128 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 1200 insertions(+), 92 deletions(-) diff --git a/package.json b/package.json index a9ef341..f4cd037 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "eslint-plugin-react": "^7.8.2", "lodash.range": "^3.2.0", "prettier": "^1.12.1", - "react": "^16.3.2", - "react-dom": "^16.3.2", + "react": "^16.6.0", + "react-dom": "^16.6.0", "rimraf": "^2.6.2" }, "peerDependencies": { @@ -53,10 +53,11 @@ "dependencies": { "@craigmorton/linebreak": "^0.4.5", "css-layout": "^1.1.1", - "fbjs": "^0.8.16", + "fbjs": "^1.0.0", "multi-key-cache": "^1.0.2", "prop-types": "^15.6.1", - "react-reconciler": "^0.10.0", + "react-reconciler": "^0.16.0", + "scheduler": "^0.10.0", "scroller": "https://github.com/mjohnston/scroller" } } diff --git a/src/CanvasRenderer.js b/src/CanvasRenderer.js index 26eaceb..fb39379 100644 --- a/src/CanvasRenderer.js +++ b/src/CanvasRenderer.js @@ -5,7 +5,11 @@ import Gradient from "./Gradient"; import Text from "./Text"; import Group from "./Group"; import { RawImage } from "./Image"; -import ReactDOMFrameScheduling from "./ReactDOMFrameScheduling"; +import { + unstable_now as now, + unstable_scheduleWork as scheduleDeferredCallback, + unstable_cancelScheduledWork as cancelDeferredCallback +} from 'scheduler' import ReactFiberReconciler from "react-reconciler"; import CanvasComponent from "./CanvasComponent"; import { getClosestInstanceFromNode } from "./ReactDOMComponentTree"; @@ -120,7 +124,8 @@ const CanvasHostConfig = { return emptyObject; }, - scheduleDeferredCallback: ReactDOMFrameScheduling.rIC, + scheduleDeferredCallback, + cancelDeferredCallback, shouldSetTextContent(type, props) { return ( @@ -128,78 +133,79 @@ const CanvasHostConfig = { ); }, - now: ReactDOMFrameScheduling.now, + now, isPrimaryRenderer: false, useSyncScheduling: true, - mutation: { - appendChild(parentInstance, child) { - const childLayer = child.getLayer(); - const parentLayer = parentInstance.getLayer(); - - if (childLayer.parentLayer === parentLayer) { - childLayer.moveToTop(); - } else { - childLayer.inject(parentLayer); - } - - parentLayer.invalidateLayout(); - }, - - appendChildToContainer(parentInstance, child) { - const childLayer = child.getLayer(); - const parentLayer = parentInstance.getLayer(); - - if (childLayer.parentLayer === parentLayer) { - childLayer.moveToTop(); - } else { - childLayer.inject(parentLayer); - } - - parentLayer.invalidateLayout(); - }, - - insertBefore(parentInstance, child, beforeChild) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); - parentLayer.invalidateLayout(); - }, - - insertInContainerBefore(parentInstance, child, beforeChild) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); - parentLayer.invalidateLayout(); - }, - - removeChild(parentInstance, child) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().remove(); - freeComponentAndChildren(child); - parentLayer.invalidateLayout(); - }, - - removeChildFromContainer(parentInstance, child) { - const parentLayer = parentInstance.getLayer(); - child.getLayer().remove(); - freeComponentAndChildren(child); - parentLayer.invalidateLayout(); - }, - - commitTextUpdate(/*textInstance, oldText, newText*/) { - // Noop - }, - - commitMount(/*instance, type, newProps*/) { - // Noop - }, - - commitUpdate(instance, updatePayload, type, oldProps, newProps) { - if (typeof instance.applyLayerProps !== "undefined") { - instance.applyLayerProps(oldProps, newProps); - instance.getLayer().invalidateLayout(); - } + supportsMutation: true, + + // mutation + appendChild(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); + } + + parentLayer.invalidateLayout(); + }, + + appendChildToContainer(parentInstance, child) { + const childLayer = child.getLayer(); + const parentLayer = parentInstance.getLayer(); + + if (childLayer.parentLayer === parentLayer) { + childLayer.moveToTop(); + } else { + childLayer.inject(parentLayer); + } + + parentLayer.invalidateLayout(); + }, + + insertBefore(parentInstance, child, beforeChild) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + parentLayer.invalidateLayout(); + }, + + insertInContainerBefore(parentInstance, child, beforeChild) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().injectBefore(parentLayer, beforeChild.getLayer()); + parentLayer.invalidateLayout(); + }, + + removeChild(parentInstance, child) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().remove(); + freeComponentAndChildren(child); + parentLayer.invalidateLayout(); + }, + + removeChildFromContainer(parentInstance, child) { + const parentLayer = parentInstance.getLayer(); + child.getLayer().remove(); + freeComponentAndChildren(child); + parentLayer.invalidateLayout(); + }, + + commitTextUpdate(/*textInstance, oldText, newText*/) { + // Noop + }, + + commitMount(/*instance, type, newProps*/) { + // Noop + }, + + commitUpdate(instance, updatePayload, type, oldProps, newProps) { + if (typeof instance.applyLayerProps !== "undefined") { + instance.applyLayerProps(oldProps, newProps); + instance.getLayer().invalidateLayout(); } } }; @@ -216,8 +222,11 @@ CanvasRenderer.injectIntoDevTools({ } }); -CanvasRenderer.registerComponentConstructor = (name, ctor) => { +const registerComponentConstructor = (name, ctor) => { componentConstructors[name] = ctor; }; -export default CanvasRenderer; +export { + CanvasRenderer, + registerComponentConstructor +}; diff --git a/src/index.js b/src/index.js index d209d57..5c53c82 100644 --- a/src/index.js +++ b/src/index.js @@ -6,7 +6,7 @@ import FontFace from "./FontFace"; import FrameUtils from "./FrameUtils"; import measureText from "./measureText"; import CanvasComponent from "./CanvasComponent"; -import CanvasRenderer from "./CanvasRenderer"; +import { CanvasRenderer, registerComponentConstructor } from "./CanvasRenderer"; import { registerLayerType } from "./DrawingUtils"; Surface.canvasRenderer = CanvasRenderer; @@ -28,7 +28,7 @@ const registerCustomComponent = function(name, applyProps, drawFunction) { }; }; - CanvasRenderer.registerComponentConstructor(name, klass); + registerComponentConstructor(name, klass); return name; }; diff --git a/yarn.lock b/yarn.lock index e46129e..fb61750 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,12 +5,14 @@ "@babel/code-frame@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" + integrity sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g== dependencies: "@babel/highlight" "7.0.0-beta.44" "@babel/generator@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" + integrity sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ== dependencies: "@babel/types" "7.0.0-beta.44" jsesc "^2.5.1" @@ -21,6 +23,7 @@ "@babel/helper-function-name@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" + integrity sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg== dependencies: "@babel/helper-get-function-arity" "7.0.0-beta.44" "@babel/template" "7.0.0-beta.44" @@ -29,18 +32,21 @@ "@babel/helper-get-function-arity@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" + integrity sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw== dependencies: "@babel/types" "7.0.0-beta.44" "@babel/helper-split-export-declaration@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" + integrity sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA== dependencies: "@babel/types" "7.0.0-beta.44" "@babel/highlight@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" + integrity sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ== dependencies: chalk "^2.0.0" esutils "^2.0.2" @@ -49,6 +55,7 @@ "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" + integrity sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng== dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" @@ -58,6 +65,7 @@ "@babel/traverse@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" + integrity sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA== dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/generator" "7.0.0-beta.44" @@ -73,6 +81,7 @@ "@babel/types@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" + integrity sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ== dependencies: esutils "^2.0.2" lodash "^4.2.0" @@ -81,6 +90,7 @@ "@craigmorton/linebreak@^0.4.5": version "0.4.5" resolved "https://registry.yarnpkg.com/@craigmorton/linebreak/-/linebreak-0.4.5.tgz#b3a9787844bc5ad954eed23c778ba56769e78d2f" + integrity sha1-s6l4eES8WtlU7tI8d4ulZ2nnjS8= dependencies: base64-js "0.0.8" unicode-trie "^0.3.0" @@ -88,6 +98,7 @@ "@storybook/addon-actions@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.5.tgz#ba0d0c0c74357c0852e0b890b404214975df40a8" + integrity sha512-l/PMGlOBRKzZfibEPT8+ntqT/lmGG5dTJDwnuVYWeR9hGdRc2sp6G2RjhsrPyl32t0io30JbATT/5xXB4eLEMQ== dependencies: "@storybook/components" "3.4.5" babel-runtime "^6.26.0" @@ -103,6 +114,7 @@ "@storybook/addon-links@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.5.tgz#c885dae976f5084faa0ae026755f2d6068da034f" + integrity sha512-lRh6oELxI29qxSwqcQ6+SHo+vlsNcoLmeltq+Z1gtqzSC5JMlX77biOCumplvw0alsngkjMT0BOhHmEF7TyocQ== dependencies: "@storybook/components" "3.4.5" babel-runtime "^6.26.0" @@ -112,10 +124,12 @@ "@storybook/addons@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.5.tgz#8dd6eb93ae26b4498a9b1e2b890316944efa41da" + integrity sha512-kL7EOA08qjltdYTFwWaay6uwHfXnw4oONppDM35gkhiIyyMyMA/JAvfdce5qXvJOnKwJzm+7fjAwWPhrK3i9rQ== "@storybook/channel-postmessage@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.5.tgz#8c7de674847dec2a154947e0b99e54a2618c79cb" + integrity sha512-GAVFCxEmlw24TY7kLPT+1ACiubl9VmckS/MDnwRxdYZCSHQCedukq17cwRGeKy1KHOAQLyyABqFq912dPwjxDA== dependencies: "@storybook/channels" "3.4.5" global "^4.3.2" @@ -124,14 +138,17 @@ "@storybook/channels@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.5.tgz#cb8e3798cdcbed0b7037e634fb029cdd758c73a8" + integrity sha512-yn/DFw/WxkiPY0d7x+Zr/MHaYDheYoiuVwI94xxBNb2unnTDRdHjilnoCCaGVd986BY/ZzyBPKHApsM49ibrKA== "@storybook/client-logger@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.5.tgz#aca45699b14d6663c694ab3253d46bc257f8783e" + integrity sha512-8ECV534PjKK1CAHEFr5fLbPEs7K77G4om5fCCsA9KxdkqcNTUI/YE5COWoP08EcEdZsQWeIW3MqE8H0ZkRt7qA== "@storybook/components@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.5.tgz#02653ba562e3678eab3adbc31b012eae4fbe61dc" + integrity sha512-A1Gg5s0DEe+m/KN8Wqemcm4D46/2n6PiPAkd8DxxFRNOWlW84qlSkE8cD8KPmZRPDlGaYRAR6KM/c3MPyaPqJQ== dependencies: glamor "^2.20.40" glamorous "^4.12.1" @@ -140,6 +157,7 @@ "@storybook/core@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.5.tgz#a34a498eace85d29a12559a895c420f5ae54b0b7" + integrity sha512-LOD8Gg05D6E4hw5WB3SCqosPy58fWyTWWJAh6FLzcTF6aVA/PIxNObw1JKTKQoeMBY1G6xJw1QACRaiLUMQWTQ== dependencies: "@storybook/addons" "3.4.5" "@storybook/channel-postmessage" "3.4.5" @@ -172,6 +190,7 @@ "@storybook/mantra-core@^1.7.2": version "1.7.2" resolved "https://registry.yarnpkg.com/@storybook/mantra-core/-/mantra-core-1.7.2.tgz#e10c7faca29769e97131e0e0308ef7cfb655b70c" + integrity sha512-GD4OYJ8GsayVhIg306sfgcKDk9j8YfuSKIAWvdB/g7IDlw0pDgueONALVEEE2XWJtCwcsUyDtCYzXFgCBWLEjA== dependencies: "@storybook/react-komposer" "^2.0.1" "@storybook/react-simple-di" "^1.2.1" @@ -180,12 +199,14 @@ "@storybook/node-logger@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.5.tgz#d08c082b0d4a573736f25c2e0eea261b30183962" + integrity sha512-5+noqmkdgIjH4b/hzFkLfBZ355griskZYTl2xDZsHwTM3id39/4TZmlhjXxtmb6WhaPSIzhFyCqtFD+uzFgzfw== dependencies: npmlog "^4.1.2" "@storybook/podda@^1.2.3": version "1.2.3" resolved "https://registry.yarnpkg.com/@storybook/podda/-/podda-1.2.3.tgz#53c4a1a3f8c7bbd5755dff5c34576fd1af9d38ba" + integrity sha512-g7dsdsn50AhlGZ8iIDKdF8bi7Am++iFOq+QN+hNKz3FvgLuf8Dz+mpC/BFl90eE9bEYxXqXKeMf87399Ec5Qhw== dependencies: babel-runtime "^6.11.6" immutable "^3.8.1" @@ -193,6 +214,7 @@ "@storybook/react-komposer@^2.0.1", "@storybook/react-komposer@^2.0.3": version "2.0.4" resolved "https://registry.yarnpkg.com/@storybook/react-komposer/-/react-komposer-2.0.4.tgz#c2c0d4a75d9b4a9c0c6b46f14ab050f458ad4bb0" + integrity sha1-wsDUp12bSpwMa0bxSrBQ9FitS7A= dependencies: "@storybook/react-stubber" "^1.0.0" babel-runtime "^6.11.6" @@ -203,6 +225,7 @@ "@storybook/react-simple-di@^1.2.1": version "1.3.0" resolved "https://registry.yarnpkg.com/@storybook/react-simple-di/-/react-simple-di-1.3.0.tgz#13116d89a2f42898716a7f8c4095b47415526371" + integrity sha512-RH6gPQaYMs/VzQX2dgbZU8DQMKFXVOv1ruohHjjNPys4q+YdqMFMDe5jOP1AUE3j9g01x0eW7bVjRawSpl++Ew== dependencies: babel-runtime "6.x.x" create-react-class "^15.6.2" @@ -212,12 +235,14 @@ "@storybook/react-stubber@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@storybook/react-stubber/-/react-stubber-1.0.1.tgz#8c312c2658b9eeafce470e1c39e4193f0b5bf9b1" + integrity sha512-k+CHH+vA8bQfCmzBTtJsPkITFgD+C/w19KuByZ9WeEvNUFtnDaCqfP+Vp3/OR+3IAfAXYYOWolqPLxNPcEqEjw== dependencies: babel-runtime "^6.5.0" "@storybook/react@^3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.5.tgz#1979423f365252cf03a4508db26b676f239c1e80" + integrity sha512-1f8sAwCYU1r2g4zKGikCQSdtSqPXsqaEXlfDWRVSgiex5NyTfOttyL+bH46eVqrrGQN7IMOMWh6wyVkN2i5kew== dependencies: "@storybook/addon-actions" "3.4.5" "@storybook/addon-links" "3.4.5" @@ -262,6 +287,7 @@ "@storybook/ui@3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.5.tgz#b11e97590b5e09b2d1452c0a4b84567780ec3390" + integrity sha512-UxHsfp80M8nCmBMA9b37ZjZEqsReTFGXzeerNK2p+Y+eA7tivYh2X4V2P/Ldq/2ErgCLvHlszNmGzcC3KNeiuw== dependencies: "@storybook/components" "3.4.5" "@storybook/mantra-core" "^1.7.2" @@ -288,10 +314,12 @@ abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== accepts@~1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= dependencies: mime-types "~2.1.18" negotiator "0.6.1" @@ -299,34 +327,41 @@ accepts@~1.3.5: acorn-dynamic-import@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ= dependencies: acorn "^4.0.3" acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= dependencies: acorn "^3.0.4" acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= acorn@^5.0.0, acorn@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" + integrity sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ== address@1.0.3, address@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" + integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== airbnb-js-shims@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-1.4.1.tgz#cc3e8eb8d35877f9d0fdc6583e26b0ee75b98ad0" + integrity sha512-b7S3d+DPRMwaDAs0cgKQTMLO/JG/iSehIlzEGvt2FpxIztRDDABEjWI73AfTxkSiK3/OsraPRYxVNAX3yhSNLw== dependencies: array-includes "^3.0.3" array.prototype.flatmap "^1.2.0" @@ -344,14 +379,17 @@ airbnb-js-shims@^1.4.1: ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" + integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I= ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" + integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= ajv@^5.0.0, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= dependencies: co "^4.6.0" fast-deep-equal "^1.0.0" @@ -361,6 +399,7 @@ ajv@^5.0.0, ajv@^5.2.3, ajv@^5.3.0: ajv@^6.1.0: version "6.5.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c" + integrity sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -370,10 +409,12 @@ ajv@^6.1.0: alea@^0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/alea/-/alea-0.0.9.tgz#f738cb45f83430069f45cf69ccbf312dd57a9e1a" + integrity sha1-9zjLRfg0MAafRc9pzL8xLdV6nho= align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= dependencies: kind-of "^3.0.2" longest "^1.0.1" @@ -382,36 +423,44 @@ align-text@^0.1.1, align-text@^0.1.3: alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" anymatch@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== dependencies: micromatch "^2.1.5" normalize-path "^2.0.0" @@ -419,6 +468,7 @@ anymatch@^1.3.0: anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" @@ -426,10 +476,12 @@ anymatch@^2.0.0: aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== are-we-there-yet@~1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0= dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -437,42 +489,51 @@ are-we-there-yet@~1.1.2: argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= dependencies: arr-flatten "^1.0.1" arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= array-find@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-includes@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= dependencies: define-properties "^1.1.2" es-abstract "^1.7.0" @@ -480,32 +541,39 @@ array-includes@^3.0.3: array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= array.prototype.flatmap@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9" + integrity sha512-i18e2APdsiezkcqDyZor78Pbfjfds3S94dG6dgIV2ZASJaUf1N0dz2tGdrmwrmlZuNUgxH+wz6Z0zYVH2c5xzQ== dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" @@ -514,6 +582,7 @@ array.prototype.flatmap@^1.2.0: array.prototype.flatten@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.1.tgz#a77ae1b64524ce373b137fade324d12040d3c680" + integrity sha512-3GhsA78XgK//wQKbhUe6L93kknekGlTRY0kvYcpuSi0aa9rVrMr/okeIIv/XSpN8fZ5iUM+bWifhf2/7CYKtIg== dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" @@ -522,14 +591,17 @@ array.prototype.flatten@^1.2.0: arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -538,38 +610,46 @@ asn1.js@^4.0.0: assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= dependencies: util "0.10.3" assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-types@0.10.1: version "0.10.1" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" + integrity sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ== ast-types@0.9.6: version "0.9.6" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= async@^2.1.2, async@^2.1.4: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + integrity sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw== dependencies: lodash "^4.14.0" atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + integrity sha1-ri1acpR38onWDdf5amMUoi3Wwio= autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ= dependencies: browserslist "^1.7.6" caniuse-db "^1.0.30000634" @@ -581,6 +661,7 @@ autoprefixer@^6.3.1: autoprefixer@^7.2.6: version "7.2.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" + integrity sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ== dependencies: browserslist "^2.11.3" caniuse-lite "^1.0.30000805" @@ -592,6 +673,7 @@ autoprefixer@^7.2.6: babel-cli@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE= dependencies: babel-core "^6.26.0" babel-polyfill "^6.26.0" @@ -613,6 +695,7 @@ babel-cli@^6.26.0: babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= dependencies: chalk "^1.1.3" esutils "^2.0.2" @@ -621,6 +704,7 @@ babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: babel-core@^6.26.0, babel-core@^6.26.3: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== dependencies: babel-code-frame "^6.26.0" babel-generator "^6.26.0" @@ -645,6 +729,7 @@ babel-core@^6.26.0, babel-core@^6.26.3: babel-eslint@^8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf" + integrity sha512-0HeSTtaXg/Em7FCUWxwOT+KeFSO1O7LuRuzhk7g+1BjwdlQGlHq4OyMi3GqGxrNfEq8jEi6Hmt5ylEQUhurgiQ== dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/traverse" "7.0.0-beta.44" @@ -656,6 +741,7 @@ babel-eslint@^8.2.3: babel-generator@^6.26.0: version "6.26.1" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== dependencies: babel-messages "^6.23.0" babel-runtime "^6.26.0" @@ -669,6 +755,7 @@ babel-generator@^6.26.0: babel-helper-bindify-decorators@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + integrity sha1-FMGeXxQte0fxmlJDHlKxzLxAozA= dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -677,6 +764,7 @@ babel-helper-bindify-decorators@^6.24.1: babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= dependencies: babel-helper-explode-assignable-expression "^6.24.1" babel-runtime "^6.22.0" @@ -685,6 +773,7 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: babel-helper-builder-react-jsx@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" + integrity sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA= dependencies: babel-runtime "^6.26.0" babel-types "^6.26.0" @@ -693,6 +782,7 @@ babel-helper-builder-react-jsx@^6.24.1: babel-helper-call-delegate@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -702,6 +792,7 @@ babel-helper-call-delegate@^6.24.1: babel-helper-define-map@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.26.0" @@ -711,10 +802,12 @@ babel-helper-define-map@^6.24.1: babel-helper-evaluate-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.3.0.tgz#2439545e0b6eae5b7f49b790acbebd6b9a73df20" + integrity sha512-dRFlMTqUJRGzx5a2smKxmptDdNCXKSkPcXWzKLwAV72hvIZumrd/0z9RcewHkr7PmAEq+ETtpD1GK6wZ6ZUXzw== babel-helper-explode-assignable-expression@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -723,6 +816,7 @@ babel-helper-explode-assignable-expression@^6.24.1: babel-helper-explode-class@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + integrity sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes= dependencies: babel-helper-bindify-decorators "^6.24.1" babel-runtime "^6.22.0" @@ -732,10 +826,12 @@ babel-helper-explode-class@^6.24.1: babel-helper-flip-expressions@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.3.0.tgz#f5b6394bd5219b43cf8f7b201535ed540c6e7fa2" + integrity sha512-kNGohWmtAG3b7tN1xocRQ5rsKkH/hpvZsMiGOJ1VwGJKhnwzR5KlB3rvKBaBPl5/IGHcopB2JN+r1SUEX1iMAw== babel-helper-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= dependencies: babel-helper-get-function-arity "^6.24.1" babel-runtime "^6.22.0" @@ -746,6 +842,7 @@ babel-helper-function-name@^6.24.1: babel-helper-get-function-arity@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -753,6 +850,7 @@ babel-helper-get-function-arity@^6.24.1: babel-helper-hoist-variables@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -760,18 +858,22 @@ babel-helper-hoist-variables@^6.24.1: babel-helper-is-nodes-equiv@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" + integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ= babel-helper-is-void-0@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.3.0.tgz#95570d20bd27b2206f68083ae9980ee7003d8fe7" + integrity sha512-JVqdX8y7Rf/x4NwbqtUI7mdQjL9HWoDnoAEQ8Gv8oxzjvbJv+n75f7l36m9Y8C7sCUltX3V5edndrp7Hp1oSXQ== babel-helper-mark-eval-scopes@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.3.0.tgz#b4731314fdd7a89091271a5213b4e12d236e29e8" + integrity sha512-nrho5Dg4vl0VUgURVpGpEGiwbst5JX7efIyDHFxmkCx/ocQFnrPt8ze9Kxl6TKjR29bJ7D/XKY1NMlSxOQJRbQ== babel-helper-optimise-call-expression@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -779,6 +881,7 @@ babel-helper-optimise-call-expression@^6.24.1: babel-helper-regex@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= dependencies: babel-runtime "^6.26.0" babel-types "^6.26.0" @@ -787,6 +890,7 @@ babel-helper-regex@^6.24.1: babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -797,10 +901,12 @@ babel-helper-remap-async-to-generator@^6.24.1: babel-helper-remove-or-void@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.3.0.tgz#f43c86147c8fcc395a9528cbb31e7ff49d7e16e3" + integrity sha512-D68W1M3ibCcbg0ysh3ww4/O0g10X1CXK720oOuR8kpfY7w0yP4tVcpK7zDmI1JecynycTQYAZ1rhLJo9aVtIKQ== babel-helper-replace-supers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= dependencies: babel-helper-optimise-call-expression "^6.24.1" babel-messages "^6.23.0" @@ -812,10 +918,12 @@ babel-helper-replace-supers@^6.24.1: babel-helper-to-multiple-sequence-expressions@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.3.0.tgz#8da2275ccc26995566118f7213abfd9af7214427" + integrity sha512-1uCrBD+EAaMnAYh7hc944n8Ga19y3daEnoXWPYDvFVsxMCc1l8aDjksApaCEaNSSuewq8BEcff47Cy1PbLg2Gw== babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -823,6 +931,7 @@ babel-helpers@^6.24.1: babel-loader@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015" + integrity sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw== dependencies: find-cache-dir "^1.0.0" loader-utils "^1.0.2" @@ -831,36 +940,42 @@ babel-loader@^7.1.4: babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= dependencies: babel-runtime "^6.22.0" babel-plugin-check-es2015-constants@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= dependencies: babel-runtime "^6.22.0" babel-plugin-macros@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.2.1.tgz#7cc0f84735aa86f776b51860793a98928f43a7fa" + integrity sha512-DSLZpd6/LQFOJUr2pQK6pncxvAL87E6ReWgfaEfgOL1y/YTTIeqVfsrbdDgerdjtVzCIKajD32fxlvhEgvxMEw== dependencies: cosmiconfig "^4.0.0" babel-plugin-minify-builtins@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.3.0.tgz#4740117a6a784063aaf8f092989cf9e4bd484860" + integrity sha512-MqhSHlxkmgURqj3144qPksbZ/qof1JWdumcbucc4tysFcf3P3V3z3munTevQgKEFNMd8F5/ECGnwb63xogLjAg== dependencies: babel-helper-evaluate-path "^0.3.0" babel-plugin-minify-constant-folding@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.3.0.tgz#687e40336bd4ddd921e0e197f0006235ac184bb9" + integrity sha512-1XeRpx+aY1BuNY6QU/cm6P+FtEi3ar3XceYbmC+4q4W+2Ewq5pL7V68oHg1hKXkBIE0Z4/FjSoHz6vosZLOe/A== dependencies: babel-helper-evaluate-path "^0.3.0" babel-plugin-minify-dead-code-elimination@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.3.0.tgz#a323f686c404b824186ba5583cf7996cac81719e" + integrity sha512-SjM2Fzg85YZz+q/PNJ/HU4O3W98FKFOiP9K5z3sfonlamGOzvZw3Eup2OTiEBsbbqTeY8yzNCAv3qpJRYCgGmw== dependencies: babel-helper-evaluate-path "^0.3.0" babel-helper-mark-eval-scopes "^0.3.0" @@ -870,36 +985,43 @@ babel-plugin-minify-dead-code-elimination@^0.3.0: babel-plugin-minify-flip-comparisons@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.3.0.tgz#6627893a409c9f30ef7f2c89e0c6eea7ee97ddc4" + integrity sha512-B8lK+ekcpSNVH7PZpWDe5nC5zxjRiiT4nTsa6h3QkF3Kk6y9qooIFLemdGlqBq6j0zALEnebvCpw8v7gAdpgnw== dependencies: babel-helper-is-void-0 "^0.3.0" babel-plugin-minify-guarded-expressions@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.3.0.tgz#2552d96189ef45d9a463f1a6b5e4fa110703ac8d" + integrity sha512-O+6CvF5/Ttsth3LMg4/BhyvVZ82GImeKMXGdVRQGK/8jFiP15EjRpdgFlxv3cnqRjqdYxLCS6r28VfLpb9C/kA== dependencies: babel-helper-flip-expressions "^0.3.0" babel-plugin-minify-infinity@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.3.0.tgz#c5ec0edd433517cf31b3af17077c202beb48bbe7" + integrity sha512-Sj8ia3/w9158DWieUxU6/VvnYVy59geeFEkVgLZYBE8EBP+sN48tHtBM/jSgz0ejEdBlcfqJ6TnvPmVXTzR2BQ== babel-plugin-minify-mangle-names@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.3.0.tgz#f28561bad0dd2f0380816816bb946e219b3b6135" + integrity sha512-PYTonhFWURsfAN8achDwvR5Xgy6EeTClLz+fSgGRqjAIXb0OyFm3/xfccbQviVi1qDXmlSnt6oJhBg8KE4Fn7Q== dependencies: babel-helper-mark-eval-scopes "^0.3.0" babel-plugin-minify-numeric-literals@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.3.0.tgz#b57734a612e8a592005407323c321119f27d4b40" + integrity sha512-TgZj6ay8zDw74AS3yiIfoQ8vRSNJisYO/Du60S8nPV7EW7JM6fDMx5Sar6yVHlVuuwNgvDUBh191K33bVrAhpg== babel-plugin-minify-replace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.3.0.tgz#980125bbf7cbb5a637439de9d0b1b030a4693893" + integrity sha512-VR6tTg2Lt0TicHIOw04fsUtpPw7RaRP8PC8YzSFwEixnzvguZjZJoL7TgG7ZyEWQD1cJ96UezswECmFNa815bg== babel-plugin-minify-simplify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.3.0.tgz#14574cc74d21c81d3060fafa041010028189f11b" + integrity sha512-2M16ytQOCqBi7bYMu4DCWn8e6KyFCA108F6+tVrBJxOmm5u2sOmTFEa8s94tR9RHRRNYmcUf+rgidfnzL3ik9Q== dependencies: babel-helper-flip-expressions "^0.3.0" babel-helper-is-nodes-equiv "^0.0.1" @@ -908,12 +1030,14 @@ babel-plugin-minify-simplify@^0.3.0: babel-plugin-minify-type-constructors@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.3.0.tgz#7f5a86ef322c4746364e3c591b8514eeafea6ad4" + integrity sha512-XRXpvsUCPeVw9YEUw+9vSiugcSZfow81oIJT0yR9s8H4W7yJ6FHbImi5DJHoL8KcDUjYnL9wYASXk/fOkbyR6Q== dependencies: babel-helper-is-void-0 "^0.3.0" babel-plugin-react-docgen@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.9.0.tgz#2e79aeed2f93b53a172398f93324fdcf9f02e01f" + integrity sha512-8lQ73p4BL+xcgba03NTiHrddl2X8J6PDMQHPpz73sesrRBf6JtAscQPLIjFWQR/abLokdv81HdshpjYGppOXgA== dependencies: babel-types "^6.24.1" lodash "^4.17.0" @@ -922,62 +1046,77 @@ babel-plugin-react-docgen@^1.9.0: babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= babel-plugin-syntax-async-generators@^6.5.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + integrity sha1-a8lj67FuzLrmuStZbrfzXDQqi5o= babel-plugin-syntax-class-constructor-call@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + integrity sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY= babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + integrity sha1-1+sjt5oxf4VDlixQW4J8fWysJ94= babel-plugin-syntax-decorators@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + integrity sha1-MSVjtNvePMgGzuPkFszurd0RrAs= babel-plugin-syntax-do-expressions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + integrity sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0= babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + integrity sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo= babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= babel-plugin-syntax-export-extensions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + integrity sha1-cKFITw+QiaToStRLrDU8lbmxJyE= babel-plugin-syntax-flow@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + integrity sha1-TDqyCiryaqIM0lmVw5jE63AxDI0= babel-plugin-syntax-function-bind@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + integrity sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y= babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= babel-plugin-transform-async-generator-functions@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + integrity sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds= dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-generators "^6.5.0" @@ -986,6 +1125,7 @@ babel-plugin-transform-async-generator-functions@^6.24.1: babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" @@ -994,6 +1134,7 @@ babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async- babel-plugin-transform-class-constructor-call@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + integrity sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk= dependencies: babel-plugin-syntax-class-constructor-call "^6.18.0" babel-runtime "^6.22.0" @@ -1002,6 +1143,7 @@ babel-plugin-transform-class-constructor-call@^6.24.1: babel-plugin-transform-class-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + integrity sha1-anl2PqYdM9NvN7YRqp3vgagbRqw= dependencies: babel-helper-function-name "^6.24.1" babel-plugin-syntax-class-properties "^6.8.0" @@ -1011,6 +1153,7 @@ babel-plugin-transform-class-properties@^6.24.1: babel-plugin-transform-decorators@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + integrity sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0= dependencies: babel-helper-explode-class "^6.24.1" babel-plugin-syntax-decorators "^6.13.0" @@ -1021,6 +1164,7 @@ babel-plugin-transform-decorators@^6.24.1: babel-plugin-transform-do-expressions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + integrity sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs= dependencies: babel-plugin-syntax-do-expressions "^6.8.0" babel-runtime "^6.22.0" @@ -1028,18 +1172,21 @@ babel-plugin-transform-do-expressions@^6.22.0: babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoping@^6.23.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= dependencies: babel-runtime "^6.26.0" babel-template "^6.26.0" @@ -1050,6 +1197,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0: babel-plugin-transform-es2015-classes@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= dependencies: babel-helper-define-map "^6.24.1" babel-helper-function-name "^6.24.1" @@ -1064,6 +1212,7 @@ babel-plugin-transform-es2015-classes@^6.23.0: babel-plugin-transform-es2015-computed-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -1071,12 +1220,14 @@ babel-plugin-transform-es2015-computed-properties@^6.22.0: babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-duplicate-keys@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -1084,12 +1235,14 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0: babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-function-name@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -1098,12 +1251,14 @@ babel-plugin-transform-es2015-function-name@^6.22.0: babel-plugin-transform-es2015-literals@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= dependencies: babel-plugin-transform-es2015-modules-commonjs "^6.24.1" babel-runtime "^6.22.0" @@ -1112,6 +1267,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015 babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: version "6.26.2" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== dependencies: babel-plugin-transform-strict-mode "^6.24.1" babel-runtime "^6.26.0" @@ -1121,6 +1277,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-plugin-transform-es2015-modules-systemjs@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -1129,6 +1286,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0: babel-plugin-transform-es2015-modules-umd@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= dependencies: babel-plugin-transform-es2015-modules-amd "^6.24.1" babel-runtime "^6.22.0" @@ -1137,6 +1295,7 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0: babel-plugin-transform-es2015-object-super@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" @@ -1144,6 +1303,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0: babel-plugin-transform-es2015-parameters@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= dependencies: babel-helper-call-delegate "^6.24.1" babel-helper-get-function-arity "^6.24.1" @@ -1155,6 +1315,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0: babel-plugin-transform-es2015-shorthand-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -1162,12 +1323,14 @@ babel-plugin-transform-es2015-shorthand-properties@^6.22.0: babel-plugin-transform-es2015-spread@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-sticky-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -1176,18 +1339,21 @@ babel-plugin-transform-es2015-sticky-regex@^6.22.0: babel-plugin-transform-es2015-template-literals@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-unicode-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -1196,6 +1362,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0: babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= dependencies: babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" babel-plugin-syntax-exponentiation-operator "^6.8.0" @@ -1204,6 +1371,7 @@ babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-e babel-plugin-transform-export-extensions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + integrity sha1-U3OLR+deghhYnuqUbLvTkQm75lM= dependencies: babel-plugin-syntax-export-extensions "^6.8.0" babel-runtime "^6.22.0" @@ -1211,6 +1379,7 @@ babel-plugin-transform-export-extensions@^6.22.0: babel-plugin-transform-flow-strip-types@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + integrity sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988= dependencies: babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.22.0" @@ -1218,6 +1387,7 @@ babel-plugin-transform-flow-strip-types@^6.22.0: babel-plugin-transform-function-bind@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + integrity sha1-xvuOlqwpajELjPjqQBRiQH3fapc= dependencies: babel-plugin-syntax-function-bind "^6.8.0" babel-runtime "^6.22.0" @@ -1225,22 +1395,27 @@ babel-plugin-transform-function-bind@^6.22.0: babel-plugin-transform-inline-consecutive-adds@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.3.0.tgz#f07d93689c0002ed2b2b62969bdd99f734e03f57" + integrity sha512-iZsYAIjYLLfLK0yN5WVT7Xf7Y3wQ9Z75j9A8q/0IglQSpUt2ppTdHlwl/GeaXnxdaSmsxBu861klbTBbv2n+RA== babel-plugin-transform-member-expression-literals@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf" + integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8= babel-plugin-transform-merge-sibling-variables@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae" + integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4= babel-plugin-transform-minify-booleans@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" + integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg= babel-plugin-transform-object-rest-spread@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" @@ -1248,18 +1423,21 @@ babel-plugin-transform-object-rest-spread@^6.22.0: babel-plugin-transform-property-literals@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39" + integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk= dependencies: esutils "^2.0.2" babel-plugin-transform-react-display-name@^6.23.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" + integrity sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-react-jsx-self@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" + integrity sha1-322AqdomEqEh5t3XVYvL7PBuY24= dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" @@ -1267,6 +1445,7 @@ babel-plugin-transform-react-jsx-self@^6.22.0: babel-plugin-transform-react-jsx-source@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" + integrity sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY= dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" @@ -1274,6 +1453,7 @@ babel-plugin-transform-react-jsx-source@^6.22.0: babel-plugin-transform-react-jsx@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" + integrity sha1-hAoCjn30YN/DotKfDA2R9jduZqM= dependencies: babel-helper-builder-react-jsx "^6.24.1" babel-plugin-syntax-jsx "^6.8.0" @@ -1282,40 +1462,48 @@ babel-plugin-transform-react-jsx@^6.24.1: babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= dependencies: regenerator-transform "^0.10.0" babel-plugin-transform-regexp-constructors@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.3.0.tgz#9bb2c8dd082271a5cb1b3a441a7c52e8fd07e0f5" + integrity sha512-h92YHzyl042rb0naKO8frTHntpRFwRgKkfWD8602kFHoQingjJNtbvZzvxqHncJ6XmKVyYvfrBpDOSkCTDIIxw== babel-plugin-transform-remove-console@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" + integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A= babel-plugin-transform-remove-debugger@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2" + integrity sha1-QrcnYxyXl44estGZp67IShgznvI= babel-plugin-transform-remove-undefined@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.3.0.tgz#03f5f0071867781e9beabbc7b77bf8095fd3f3ec" + integrity sha512-TYGQucc8iP3LJwN3kDZLEz5aa/2KuFrqpT+s8f8NnHsBU1sAgR3y8Opns0xhC+smyDYWscqFCKM1gbkWQOhhnw== dependencies: babel-helper-evaluate-path "^0.3.0" babel-plugin-transform-runtime@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + integrity sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4= dependencies: babel-runtime "^6.22.0" babel-plugin-transform-simplify-comparison-operators@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9" + integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk= babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -1323,10 +1511,12 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-plugin-transform-undefined-to-void@^6.9.0: version "6.9.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" + integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= dependencies: babel-runtime "^6.26.0" core-js "^2.5.0" @@ -1335,6 +1525,7 @@ babel-polyfill@^6.26.0: babel-preset-env@^1.6.1, babel-preset-env@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" + integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -1370,12 +1561,14 @@ babel-preset-env@^1.6.1, babel-preset-env@^1.7.0: babel-preset-flow@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" + integrity sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0= dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" babel-preset-minify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.3.0.tgz#7db64afa75f16f6e06c0aa5f25195f6f36784d77" + integrity sha512-+VV2GWEyak3eDOmzT1DDMuqHrw3VbE9nBNkx2LLVs4pH/Me32ND8DRpVDd8IRvk1xX5p75nygyRPtkMh6GIAbQ== dependencies: babel-plugin-minify-builtins "^0.3.0" babel-plugin-minify-constant-folding "^0.3.0" @@ -1404,6 +1597,7 @@ babel-preset-minify@^0.3.0: babel-preset-react@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" + integrity sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A= dependencies: babel-plugin-syntax-jsx "^6.3.13" babel-plugin-transform-react-display-name "^6.23.0" @@ -1415,6 +1609,7 @@ babel-preset-react@^6.24.1: babel-preset-stage-0@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" + integrity sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo= dependencies: babel-plugin-transform-do-expressions "^6.22.0" babel-plugin-transform-function-bind "^6.22.0" @@ -1423,6 +1618,7 @@ babel-preset-stage-0@^6.24.1: babel-preset-stage-1@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + integrity sha1-dpLNfc1oSZB+auSgqFWJz7niv7A= dependencies: babel-plugin-transform-class-constructor-call "^6.24.1" babel-plugin-transform-export-extensions "^6.22.0" @@ -1431,6 +1627,7 @@ babel-preset-stage-1@^6.24.1: babel-preset-stage-2@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + integrity sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE= dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-plugin-transform-class-properties "^6.24.1" @@ -1440,6 +1637,7 @@ babel-preset-stage-2@^6.24.1: babel-preset-stage-3@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + integrity sha1-g2raCp56f6N8sTj7kyb4eTSkg5U= dependencies: babel-plugin-syntax-trailing-function-commas "^6.22.0" babel-plugin-transform-async-generator-functions "^6.24.1" @@ -1450,6 +1648,7 @@ babel-preset-stage-3@^6.24.1: babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= dependencies: babel-core "^6.26.0" babel-runtime "^6.26.0" @@ -1462,6 +1661,7 @@ babel-register@^6.26.0: babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" @@ -1469,6 +1669,7 @@ babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime babel-template@^6.24.1, babel-template@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= dependencies: babel-runtime "^6.26.0" babel-traverse "^6.26.0" @@ -1479,6 +1680,7 @@ babel-template@^6.24.1, babel-template@^6.26.0: babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= dependencies: babel-code-frame "^6.26.0" babel-messages "^6.23.0" @@ -1493,6 +1695,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0: babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= dependencies: babel-runtime "^6.26.0" esutils "^2.0.2" @@ -1502,34 +1705,42 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: babylon@7.0.0-beta.31: version "7.0.0-beta.31" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f" + integrity sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ== babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" + integrity sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g== babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= base64-js@^1.0.2: version "1.3.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -1542,22 +1753,27 @@ base@^0.11.1: big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + integrity sha1-RqoXUftqL5PuXmibsQh9SxTGwgU= bluebird@^3.4.7, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== body-parser@1.18.2: version "1.18.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + integrity sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ= dependencies: bytes "3.0.0" content-type "~1.0.4" @@ -1573,14 +1789,17 @@ body-parser@1.18.2: boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= bowser@^1.0.0, bowser@^1.7.3: version "1.9.3" resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.3.tgz#6643ae4d783f31683f6d23156976b74183862162" + integrity sha512-/gp96UlcFw5DbV2KQPCqTqi0Mb9gZRyDAHiDsGEH+4B/KOQjeoE5lM1PxlVX8DQDvfEfitmC1rW2Oy8fk/XBDg== brace-expansion@^1.0.0, brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -1588,6 +1807,7 @@ brace-expansion@^1.0.0, brace-expansion@^1.1.7: braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= dependencies: expand-range "^1.8.1" preserve "^0.2.0" @@ -1596,6 +1816,7 @@ braces@^1.8.2: braces@^2.3.0, braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -1611,14 +1832,17 @@ braces@^2.3.0, braces@^2.3.1: brcast@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd" + integrity sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg== brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -1630,6 +1854,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -1638,6 +1863,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" + integrity sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw== dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -1646,6 +1872,7 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= dependencies: bn.js "^4.1.0" randombytes "^2.0.1" @@ -1653,6 +1880,7 @@ browserify-rsa@^4.0.0: browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -1665,12 +1893,14 @@ browserify-sign@^4.0.0: browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk= dependencies: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" @@ -1678,6 +1908,7 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: browserslist@^2.11.3: version "2.11.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" + integrity sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA== dependencies: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" @@ -1685,6 +1916,7 @@ browserslist@^2.11.3: browserslist@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.7.tgz#aa488634d320b55e88bab0256184dbbcca1e6de9" + integrity sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ== dependencies: caniuse-lite "^1.0.30000835" electron-to-chromium "^1.3.45" @@ -1692,14 +1924,17 @@ browserslist@^3.2.6: buffer-from@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" + integrity sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA== buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1708,18 +1943,22 @@ buffer@^4.3.0: builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= cacache@^10.0.4: version "10.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== dependencies: bluebird "^3.5.1" chownr "^1.0.1" @@ -1738,6 +1977,7 @@ cacache@^10.0.4: cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -1752,16 +1992,19 @@ cache-base@^1.0.1: caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= dependencies: callsites "^0.2.0" callsites@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= camel-case@3.0.x: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" upper-case "^1.1.1" @@ -1769,14 +2012,17 @@ camel-case@3.0.x: camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= caniuse-api@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw= dependencies: browserslist "^1.3.6" caniuse-db "^1.0.30000529" @@ -1786,18 +2032,22 @@ caniuse-api@^1.5.2: caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000842" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000842.tgz#8a82c377b8b3d6f2594478e8431ff4fd303e160c" + integrity sha1-ioLDd7iz1vJZRHjoQx/0/TA+Fgw= caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000835: version "1.0.30000842" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000842.tgz#7a198e3181a207f4b5749b8f5a1817685bf3d7df" + integrity sha512-juspQHLwQRgptEM03HN66SpM/ggZUB+m49NAgJIaIS11aXVNeRB57sEY1X6tEzeK2THGvYWKZZu1wIbh+W7YTA== case-sensitive-paths-webpack-plugin@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192" + integrity sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg== center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= dependencies: align-text "^0.1.3" lazy-cache "^1.0.3" @@ -1805,6 +2055,7 @@ center-align@^0.1.1: chalk@1.1.3, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -1815,6 +2066,7 @@ chalk@1.1.3, chalk@^1.1.3: chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -1823,10 +2075,12 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1: chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= chokidar@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1842,6 +2096,7 @@ chokidar@^1.6.1: chokidar@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" + integrity sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg== dependencies: anymatch "^2.0.0" async-each "^1.0.0" @@ -1860,10 +2115,12 @@ chokidar@^2.0.2: chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + integrity sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE= cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -1871,16 +2128,19 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== clap@^1.0.9: version "1.2.3" resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== dependencies: chalk "^1.1.3" class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" @@ -1890,26 +2150,31 @@ class-utils@^0.3.5: classnames@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + integrity sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0= clean-css@4.1.x: version "4.1.11" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a" + integrity sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo= dependencies: source-map "0.5.x" cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= dependencies: center-align "^0.1.1" right-align "^0.1.1" @@ -1918,6 +2183,7 @@ cliui@^2.1.0: cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -1926,24 +2192,29 @@ cliui@^3.2.0: clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= coa@~1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= dependencies: q "^1.1.2" code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" object-visit "^1.0.0" @@ -1951,22 +2222,26 @@ collection-visit@^1.0.0: color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + integrity sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ== dependencies: color-name "^1.1.1" color-name@^1.0.0, color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-string@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= dependencies: color-name "^1.0.0" color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -1975,6 +2250,7 @@ color@^0.11.0: colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM= dependencies: color "^0.11.0" css-color-names "0.0.4" @@ -1983,40 +2259,49 @@ colormin@^1.0.5: colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= commander@2.15.x, commander@^2.15.0, commander@^2.9.0, commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== commander@^2.11.0: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== common-tags@^1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.7.2.tgz#24d9768c63d253a56ecff93845b44b4df1d52771" + integrity sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ== dependencies: babel-runtime "^6.26.0" commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.5.0, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -2026,40 +2311,49 @@ concat-stream@^1.5.0, concat-stream@^1.6.0: console-browserify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU= cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== dependencies: aproba "^1.1.1" fs-write-stream-atomic "^1.0.8" @@ -2071,22 +2365,27 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: version "2.5.6" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" + integrity sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ== core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: version "2.2.2" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + integrity sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A== dependencies: is-directory "^0.3.1" js-yaml "^3.4.3" @@ -2099,6 +2398,7 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: cosmiconfig@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" + integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== dependencies: is-directory "^0.3.1" js-yaml "^3.9.0" @@ -2108,6 +2408,7 @@ cosmiconfig@^4.0.0: create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== dependencies: bn.js "^4.1.0" elliptic "^6.0.0" @@ -2115,6 +2416,7 @@ create-ecdh@^4.0.0: create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -2125,6 +2427,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -2136,6 +2439,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: create-react-class@^15.6.2: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" + integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" @@ -2144,6 +2448,7 @@ create-react-class@^15.6.2: cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" @@ -2152,6 +2457,7 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -2168,10 +2474,12 @@ crypto-browserify@^3.11.0: css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= css-in-js-utils@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" + integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA== dependencies: hyphenate-style-name "^1.0.2" isobject "^3.0.1" @@ -2179,10 +2487,12 @@ css-in-js-utils@^2.0.0: css-layout@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-layout/-/css-layout-1.1.1.tgz#ada5bb8c901e475d41043a88e034ade54d939392" + integrity sha1-raW7jJAeR11BBDqI4DSt5U2Tk5I= css-loader@^0.28.11: version "0.28.11" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" + integrity sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg== dependencies: babel-code-frame "^6.26.0" css-selector-tokenizer "^0.7.0" @@ -2202,6 +2512,7 @@ css-loader@^0.28.11: css-select@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= dependencies: boolbase "~1.0.0" css-what "2.1" @@ -2211,6 +2522,7 @@ css-select@^1.1.0: css-selector-tokenizer@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + integrity sha1-5piEdK6MlTR3v15+/s/OzNnPTIY= dependencies: cssesc "^0.1.0" fastparse "^1.1.1" @@ -2219,14 +2531,17 @@ css-selector-tokenizer@^0.7.0: css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + integrity sha1-lGfQMsOM+u+58teVASUwYvh/ob0= cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= cssnano@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= dependencies: autoprefixer "^6.3.1" decamelize "^1.1.2" @@ -2264,6 +2579,7 @@ cssnano@^3.10.0: csso@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= dependencies: clap "^1.0.9" source-map "^0.5.3" @@ -2271,36 +2587,44 @@ csso@~2.3.1: csstype@^2.2.0: version "2.5.2" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.2.tgz#4534308476ceede8fbe148b9b99f9baf1c80fa06" + integrity sha512-epoHrKPywwUhFTXadQNA5PPx4GChtkM03SkBeFZTaFtJcn6QfXpBkX2IAc4J9Oe18nha5NrTOo2OMOge+qH1mw== cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= d3-array@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" + integrity sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw== d3-collection@1: version "1.0.4" resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" + integrity sha1-NC39EoN8kJdPM/HMCnha6lcNzcI= d3-color@1: version "1.2.0" resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.0.tgz#d1ea19db5859c86854586276ec892cf93148459a" + integrity sha512-dmL9Zr/v39aSSMnLOTd58in2RbregCg4UtGyUArvEKTTN6S3HKEy+ziBWVYo9PTzRyVW+pUBHUtRKz0HYX+SQg== d3-format@1: version "1.3.0" resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.0.tgz#a3ac44269a2011cdb87c7b5693040c18cddfff11" + integrity sha512-ycfLEIzHVZC3rOvuBOKVyQXSiUyCDjeAPIj9n/wugrr+s5AcTQC2Bz6aKkubG7rQaQF0SGW/OV4UEJB9nfioFg== d3-interpolate@1: version "1.2.0" resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.2.0.tgz#40d81bd8e959ff021c5ea7545bc79b8d22331c41" + integrity sha512-zLvTk8CREPFfc/2XglPQriAsXkzoRDAyBzndtKJWrZmHw7kmOWHNS11e40kPTd/oGk8P5mFJW5uBbcFQ+ybxyA== dependencies: d3-color "1" d3-scale@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" + integrity sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw== dependencies: d3-array "^1.2.0" d3-collection "1" @@ -2313,58 +2637,70 @@ d3-scale@^1.0.6: d3-time-format@2: version "2.1.1" resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31" + integrity sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw== dependencies: d3-time "1" d3-time@1: version "1.0.8" resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" + integrity sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ== d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= dependencies: es5-ext "^0.10.9" date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= deep-extend@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" + integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w== deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + integrity sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ= dependencies: foreach "^2.0.5" object-keys "^1.0.8" @@ -2372,18 +2708,21 @@ define-properties@^1.1.2: define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" @@ -2391,10 +2730,12 @@ define-property@^2.0.2: defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= dependencies: globby "^5.0.0" is-path-cwd "^1.0.0" @@ -2407,18 +2748,22 @@ del@^2.0.2: delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= depd@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + integrity sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k= depd@~1.1.1, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" @@ -2426,20 +2771,24 @@ des.js@^1.0.0: destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= dependencies: repeating "^2.0.0" detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= detect-port-alt@1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== dependencies: address "^1.0.1" debug "^2.6.0" @@ -2447,6 +2796,7 @@ detect-port-alt@1.1.6: diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -2455,22 +2805,26 @@ diffie-hellman@^5.0.0: doctrine@^2.0.0, doctrine@^2.0.2, doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" dom-converter@~0.1: version "0.1.4" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + integrity sha1-pF71cnuJDJv/5tfIduexnLDhfzs= dependencies: utila "~0.3" dom-helpers@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6" + integrity sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg== dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII= dependencies: domelementtype "~1.1.1" entities "~1.1.1" @@ -2478,34 +2832,41 @@ dom-serializer@0: dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== domelementtype@1: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + integrity sha1-sXrtguirWeUt2cGbF1bg/BhyBMI= domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs= domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + integrity sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ= dependencies: domelementtype "1" domutils@1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + integrity sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU= dependencies: domelementtype "1" domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= dependencies: dom-serializer "0" domelementtype "1" @@ -2513,20 +2874,24 @@ domutils@1.5.1: dotenv-webpack@^1.5.5: version "1.5.5" resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.5.5.tgz#3441094f04d304b6119e6b72524e62fb3252f5f2" + integrity sha1-NEEJTwTTBLYRnmtyUk5i+zJS9fI= dependencies: dotenv "^5.0.1" dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" + integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= duplexify@^3.4.2, duplexify@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + integrity sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -2536,14 +2901,17 @@ duplexify@^3.4.2, duplexify@^3.6.0: ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.45: version "1.3.47" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz#764e887ca9104d01a0ac8eabee7dfc0e2ce14104" + integrity sha1-dk6IfKkQTQGgrI6r7n38DizhQQQ= elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + integrity sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8= dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -2556,26 +2924,31 @@ elliptic@^6.0.0: emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= dependencies: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" enhanced-resolve@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24= dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -2585,22 +2958,26 @@ enhanced-resolve@^3.4.0: entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + integrity sha1-blwtClYhtdra7O+AuQ7ftc13cvA= errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== dependencies: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + integrity sha1-+FWobOYa3E6GIcPNoh56dhLDqNw= dependencies: is-arrayish "^0.2.1" es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0, es-abstract@^1.9.0: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" + integrity sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA== dependencies: es-to-primitive "^1.1.1" function-bind "^1.1.1" @@ -2611,6 +2988,7 @@ es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-to-primitive@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + integrity sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0= dependencies: is-callable "^1.1.1" is-date-object "^1.0.1" @@ -2619,6 +2997,7 @@ es-to-primitive@^1.1.1: es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.42" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" + integrity sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA== dependencies: es6-iterator "~2.0.3" es6-symbol "~3.1.1" @@ -2627,10 +3006,12 @@ es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: es5-shim@^4.5.10: version "4.5.10" resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.10.tgz#b7e17ef4df2a145b821f1497b50c25cf94026205" + integrity sha512-vmryBdqKRO8Ei9LJ4yyEk/EOmAOGIagcHDYPpTAi6pot4IMHS1AC2q5cTKPmydpijg2iX8DVmCuqgrNxIWj8Yg== es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= dependencies: d "1" es5-ext "^0.10.35" @@ -2639,6 +3020,7 @@ es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: es6-map@^0.1.3: version "0.1.5" resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= dependencies: d "1" es5-ext "~0.10.14" @@ -2650,6 +3032,7 @@ es6-map@^0.1.3: es6-set@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= dependencies: d "1" es5-ext "~0.10.14" @@ -2660,10 +3043,12 @@ es6-set@~0.1.5: es6-shim@^0.35.3: version "0.35.3" resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" + integrity sha1-m/tzY/7//4emzbbNk+QF7DxLbyY= es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= dependencies: d "1" es5-ext "~0.10.14" @@ -2671,6 +3056,7 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: es6-templates@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + integrity sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ= dependencies: recast "~0.11.12" through "~2.3.6" @@ -2678,6 +3064,7 @@ es6-templates@^0.2.3: es6-weak-map@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= dependencies: d "1" es5-ext "^0.10.14" @@ -2687,14 +3074,17 @@ es6-weak-map@^2.0.1: escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escope@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= dependencies: es6-map "^0.1.3" es6-weak-map "^2.0.1" @@ -2704,12 +3094,14 @@ escope@^3.6.0: eslint-config-prettier@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" + integrity sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A== dependencies: get-stdin "^5.0.1" eslint-plugin-prettier@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7" + integrity sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ== dependencies: fast-diff "^1.1.1" jest-docblock "^21.0.0" @@ -2717,6 +3109,7 @@ eslint-plugin-prettier@^2.6.0: eslint-plugin-react@^7.8.2: version "7.8.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz#e95c9c47fece55d2303d1a67c9d01b930b88a51d" + integrity sha512-H3ne8ob4Bn6NXSN9N9twsn7t8dyHT5bF/ibQepxIHi6JiPIdC2gXlfYvZYucbdrWio4FxBq7Z4mSauQP+qmMkQ== dependencies: doctrine "^2.0.2" has "^1.0.1" @@ -2726,6 +3119,7 @@ eslint-plugin-react@^7.8.2: eslint-scope@^3.7.1, eslint-scope@~3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -2733,10 +3127,12 @@ eslint-scope@^3.7.1, eslint-scope@~3.7.1: eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== eslint@^4.1.1: version "4.19.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" + integrity sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ== dependencies: ajv "^5.3.0" babel-code-frame "^6.22.0" @@ -2780,6 +3176,7 @@ eslint@^4.1.1: espree@^3.5.4: version "3.5.4" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" + integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== dependencies: acorn "^5.5.0" acorn-jsx "^3.0.0" @@ -2787,42 +3184,51 @@ espree@^3.5.4: esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= esprima@^4.0.0, esprima@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= esquery@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== dependencies: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= event-emitter@~0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= dependencies: d "1" es5-ext "~0.10.14" @@ -2830,20 +3236,24 @@ event-emitter@~0.3.5: events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= events@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/events/-/events-2.0.0.tgz#cbbb56bf3ab1ac18d71c43bb32c86255062769f2" + integrity sha512-r/M5YkNg9zwI8QbSf7tsDWWJvO3PGwZXyG7GpFAxtMASnHL2eblFd7iHiGPtyGKKFPZ59S63NeX10Ws6WqGDcg== eventsource@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= dependencies: original ">=0.0.5" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" @@ -2851,6 +3261,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -2863,16 +3274,19 @@ execa@^0.7.0: exenv@^1.2.0, exenv@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= dependencies: is-posix-bracket "^0.1.0" expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -2885,18 +3299,21 @@ expand-brackets@^2.1.4: expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= dependencies: fill-range "^2.1.0" expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" express@^4.16.3: version "4.16.3" resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + integrity sha1-avilAjUNsyRuzEvs9rWjTSL37VM= dependencies: accepts "~1.3.5" array-flatten "1.1.1" @@ -2932,12 +3349,14 @@ express@^4.16.3: extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -2945,6 +3364,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: external-editor@^2.0.4: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== dependencies: chardet "^0.4.0" iconv-lite "^0.4.17" @@ -2953,12 +3373,14 @@ external-editor@^2.0.4: extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= dependencies: is-extglob "^1.0.0" extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -2972,40 +3394,54 @@ extglob@^2.0.4: fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-diff@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" + integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig== fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-memoize@^2.2.7: version "2.3.2" resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.3.2.tgz#f6b9eb8e06a754029cca25b4cd3945f2f6242c90" + integrity sha512-h2avnhux4p3tXTA9xR7ntnQSFQdY4hAkyNj8wDXlVT2Die38JxVCInnrieuktdxzRevRWa3dBjN+SbQe1os0GQ== fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + integrity sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg= faye-websocket@~0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= dependencies: websocket-driver ">=0.5.1" +fbjs-css-vars@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.1.tgz#836d876e887d702f45610f5ebd2fbeef649527fc" + integrity sha512-IM+v/C40MNZWqsLErc32e0TyIk/NhkkQZL0QmjBh6zi1eXv0/GeVKmKmueQX7nn9SXQBQbTUcB8zuexIF3/88w== + fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9: version "0.8.16" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + integrity sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s= dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -3015,15 +3451,31 @@ fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" +fbjs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" + integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA== + dependencies: + core-js "^2.4.1" + fbjs-css-vars "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= dependencies: flat-cache "^1.2.1" object-assign "^4.0.1" @@ -3031,6 +3483,7 @@ file-entry-cache@^2.0.0: file-loader@^1.1.11: version "1.1.11" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" + integrity sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg== dependencies: loader-utils "^1.0.2" schema-utils "^0.4.5" @@ -3038,14 +3491,17 @@ file-loader@^1.1.11: filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= filesize@3.5.11: version "3.5.11" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" + integrity sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g== fill-range@^2.1.0: version "2.2.4" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== dependencies: is-number "^2.1.0" isobject "^2.0.0" @@ -3056,6 +3512,7 @@ fill-range@^2.1.0: fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -3065,6 +3522,7 @@ fill-range@^4.0.0: finalhandler@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== dependencies: debug "2.6.9" encodeurl "~1.0.2" @@ -3077,6 +3535,7 @@ finalhandler@1.1.1: find-cache-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= dependencies: commondir "^1.0.1" make-dir "^1.0.0" @@ -3085,12 +3544,14 @@ find-cache-dir@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" flat-cache@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= dependencies: circular-json "^0.3.1" del "^2.0.2" @@ -3100,10 +3561,12 @@ flat-cache@^1.2.1: flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= flush-write-stream@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw== dependencies: inherits "^2.0.1" readable-stream "^2.0.4" @@ -3111,34 +3574,41 @@ flush-write-stream@^1.0.0: for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= for-own@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= dependencies: for-in "^1.0.1" foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= dependencies: inherits "^2.0.1" readable-stream "^2.0.0" @@ -3146,16 +3616,19 @@ from2@^2.1.0: fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== dependencies: minipass "^2.2.1" fs-readdir-recursive@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" @@ -3165,10 +3638,12 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.0.0, fsevents@^1.1.2: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== dependencies: nan "^2.9.2" node-pre-gyp "^0.10.0" @@ -3176,10 +3651,12 @@ fsevents@^1.0.0, fsevents@^1.1.2: function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== function.prototype.name@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" + integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -3188,14 +3665,17 @@ function.prototype.name@^1.1.0: functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= fuse.js@^3.0.1, fuse.js@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.0.tgz#f0448e8069855bf2a3e683cdc1d320e7e2a07ef4" + integrity sha1-8ESOgGmFW/Kj5oPNwdMg5+KgfvQ= gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -3209,22 +3689,27 @@ gauge@~2.7.3: get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + integrity sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U= get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= glamor@^2.20.40: version "2.20.40" resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.40.tgz#f606660357b7cf18dface731ad1a2cfa93817f05" + integrity sha512-DNXCd+c14N9QF8aAKrfl4xakPk5FdcFwmH7sD0qnC0Pr7xoZ5W9yovhUrY/dJc3psfGGXC58vqQyRtuskyUJxA== dependencies: fbjs "^0.8.12" inline-style-prefixer "^3.0.6" @@ -3235,6 +3720,7 @@ glamor@^2.20.40: glamorous@^4.12.1: version "4.13.0" resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.13.0.tgz#4ac5cb05633aa49a0396d409f665dd9b614f1b5a" + integrity sha512-lJ+ET2Cz5+ZIsxrFNruN7Ye30PSe+jSN8jbma2+AAmNoJZOozqtjfjB5EVi16J9G3CjjXQtENsv4shwR1YYtaQ== dependencies: brcast "^3.0.0" csstype "^2.2.0" @@ -3248,6 +3734,7 @@ glamorous@^4.12.1: glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" @@ -3255,12 +3742,14 @@ glob-base@^0.3.0: glob-parent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= dependencies: is-glob "^2.0.0" glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" @@ -3268,6 +3757,7 @@ glob-parent@^3.1.0: glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3279,6 +3769,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: global-modules@1.0.0, global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== dependencies: global-prefix "^1.0.1" is-windows "^1.0.1" @@ -3287,6 +3778,7 @@ global-modules@1.0.0, global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= dependencies: expand-tilde "^2.0.2" homedir-polyfill "^1.0.1" @@ -3297,6 +3789,7 @@ global-prefix@^1.0.1: global@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= dependencies: min-document "^2.19.0" process "~0.5.1" @@ -3304,14 +3797,17 @@ global@^4.3.2: globals@^11.0.1, globals@^11.1.0: version "11.5.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642" + integrity sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ== globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -3323,38 +3819,46 @@ globby@^5.0.0: graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= gzip-size@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= dependencies: duplexer "^0.1.1" has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -3363,6 +3867,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -3371,10 +3876,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" kind-of "^4.0.0" @@ -3382,12 +3889,14 @@ has-values@^1.0.0: has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + integrity sha1-hGFzP1OLCDfJNh45qauelwTcLyg= dependencies: function-bind "^1.0.2" hash-base@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -3395,6 +3904,7 @@ hash-base@^3.0.0: hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.3" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.0" @@ -3402,10 +3912,12 @@ hash.js@^1.0.0, hash.js@^1.0.3: he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -3414,10 +3926,12 @@ hmac-drbg@^1.0.0: hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" + integrity sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs= home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" @@ -3425,28 +3939,34 @@ home-or-tmp@^2.0.0: homedir-polyfill@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: version "2.6.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + integrity sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw== html-comment-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + integrity sha1-ZouTd26q5V696POtRkswekljYl4= html-element-attributes@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-1.3.1.tgz#9fa6a2e37e6b61790a303e87ddbbb9746e8c035f" + integrity sha512-UrRKgp5sQmRnDy4TEwAUsu14XBUlzKB8U3hjIYDjcZ3Hbp86Jtftzxfgrv6E/ii/h78tsaZwAnAE8HwnHr0dPA== html-entities@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= html-loader@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + integrity sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog== dependencies: es6-templates "^0.2.3" fastparse "^1.1.1" @@ -3457,6 +3977,7 @@ html-loader@^0.5.5: html-minifier@^3.2.3, html-minifier@^3.5.8: version "3.5.15" resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.15.tgz#f869848d4543cbfd84f26d5514a2a87cbf9a05e0" + integrity sha512-OZa4rfb6tZOZ3Z8Xf0jKxXkiDcFWldQePGYFDcgKqES2sXeWaEv9y6QQvWUtX3ySI3feApQi5uCsHLINQ6NoAw== dependencies: camel-case "3.0.x" clean-css "4.1.x" @@ -3469,10 +3990,12 @@ html-minifier@^3.2.3, html-minifier@^3.5.8: html-tag-names@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.3.tgz#f81f75e59d626cb8a958a19e58f90c1d69707b82" + integrity sha512-kY/ck6Q0lGLxGocn86BM8Q4vCTUCY78VN43h0uMGeZ8p9LU3XdSNQR4Rs3JEjrKZSS5iXI1YgzY0g8U1AFDQzA== html-webpack-plugin@^2.30.1: version "2.30.1" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" + integrity sha1-f5xCG36pHsRg9WUn1430hO51N9U= dependencies: bluebird "^3.4.7" html-minifier "^3.2.3" @@ -3484,6 +4007,7 @@ html-webpack-plugin@^2.30.1: htmlparser2@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + integrity sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4= dependencies: domelementtype "1" domhandler "2.1" @@ -3493,6 +4017,7 @@ htmlparser2@~3.3.0: http-errors@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + integrity sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY= dependencies: depd "1.1.1" inherits "2.0.3" @@ -3502,6 +4027,7 @@ http-errors@1.6.2: http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" inherits "2.0.3" @@ -3511,72 +4037,88 @@ http-errors@~1.6.2: http-parser-js@>=0.4.0: version "0.4.12" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.12.tgz#b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f" + integrity sha1-uc+/Sizybw/DSxDKFImid3HjR08= https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= hyphenate-style-name@^1.0.1, hyphenate-style-name@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" + integrity sha1-MRYKNpMK2vH8BMYHT360FGXU7Es= iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== dependencies: safer-buffer ">= 2.1.2 < 3" icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= dependencies: postcss "^6.0.1" ieee754@^1.1.4: version "1.1.11" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" + integrity sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== dependencies: minimatch "^3.0.4" ignore@^3.3.3: version "3.3.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" + integrity sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg== immutable@^3.8.1: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" @@ -3584,18 +4126,22 @@ inflight@^1.0.4: inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== inline-style-prefixer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" + integrity sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c= dependencies: bowser "^1.0.0" hyphenate-style-name "^1.0.1" @@ -3603,6 +4149,7 @@ inline-style-prefixer@^2.0.5: inline-style-prefixer@^3.0.6: version "3.0.8" resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz#8551b8e5b4d573244e66a34b04f7d32076a2b534" + integrity sha1-hVG45bTVcyROZqNLBPfTIHaitTQ= dependencies: bowser "^1.7.3" css-in-js-utils "^2.0.0" @@ -3610,6 +4157,7 @@ inline-style-prefixer@^3.0.6: inquirer@3.3.0, inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" @@ -3629,80 +4177,96 @@ inquirer@3.3.0, inquirer@^3.0.6: interpret@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= invariant@^2.2.0, invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= ipaddr.js@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + integrity sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs= is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= dependencies: builtin-modules "^1.0.0" is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + integrity sha1-hut1OSgF3cM69xySoO7fdO52BLI= is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -3711,6 +4275,7 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -3719,198 +4284,239 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-dom@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.0.9.tgz#483832d52972073de12b9fe3f60320870da8370d" + integrity sha1-SDgy1SlyBz3hK5/j9gMghw2oNw0= is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= is-equal-shallow@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= dependencies: is-primitive "^2.0.0" is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= dependencies: is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" is-glob@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= dependencies: is-extglob "^2.1.1" is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= dependencies: kind-of "^3.0.2" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== is-odd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" + integrity sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ== dependencies: is-number "^4.0.0" is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= is-path-in-cwd@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== dependencies: is-path-inside "^1.0.0" is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= dependencies: path-is-inside "^1.0.1" is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-root@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" + integrity sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU= is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-svg@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk= dependencies: html-comment-regex "^1.1.0" is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + integrity sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI= is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= dependencies: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" @@ -3918,18 +4524,22 @@ isomorphic-fetch@^2.1.1: jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" + integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== js-base64@^2.1.9: version "2.4.5" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" + integrity sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ== js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= js-yaml@^3.4.3, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.11.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" + integrity sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -3937,6 +4547,7 @@ js-yaml@^3.4.3, js-yaml@^3.9.0, js-yaml@^3.9.1: js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= dependencies: argparse "^1.0.7" esprima "^2.6.0" @@ -3944,90 +4555,110 @@ js-yaml@~3.7.0: jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= jsesc@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + integrity sha1-5CGiqOINawgZ3yiQj3glJrlt0f4= jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= json-loader@^0.5.4, json-loader@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsx-ast-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= dependencies: array-includes "^3.0.3" keycode@^2.1.9: version "2.2.0" resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" + integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ= kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= dependencies: invert-kv "^1.0.0" levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" @@ -4035,6 +4666,7 @@ levn@^0.3.0, levn@~0.3.0: load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -4044,10 +4676,12 @@ load-json-file@^2.0.0: loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + integrity sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI= loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -4057,6 +4691,7 @@ loader-utils@^0.2.16: loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + integrity sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0= dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -4065,6 +4700,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -4072,38 +4708,47 @@ locate-path@^2.0.0: lodash-es@^4.2.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" + integrity sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg== lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= lodash.keys@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= dependencies: lodash._getnative "^3.0.0" lodash.isarguments "^3.0.0" @@ -4112,52 +4757,64 @@ lodash.keys@^3.1.2: lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.pick@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= lodash.range@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" + integrity sha1-9GHliPZmg/fq3q3lE+OKaaVloV0= lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= lodash@^4.14.0, lodash@^4.17.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg== longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg= dependencies: js-tokens "^3.0.0" lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= lru-cache@^4.0.1, lru-cache@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" @@ -4165,34 +4822,41 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + integrity sha1-WQTcU3w57G2+/q6QIycTX6hRHxI= make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: pify "^3.0.0" make-error@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" + integrity sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g== map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-or-similar@^1.1.3: version "1.5.0" resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" + integrity sha1-beJlMXSt+12e3DPGnT6Sobdvrwg= map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" markdown-loader@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/markdown-loader/-/markdown-loader-2.0.2.tgz#1cdcf11307658cd611046d7db34c2fe80542af7c" + integrity sha512-v/ej7DflZbb6t//3Yu9vg0T+sun+Q9EoqggifeyABKfvFROqPwwwpv+hd1NKT2QxTRg6VCFk10IIJcMI13yCoQ== dependencies: loader-utils "^1.1.0" marked "^0.3.9" @@ -4200,18 +4864,22 @@ markdown-loader@^2.0.2: marked@^0.3.9: version "0.3.19" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= math-random@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= md5.js@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + integrity sha1-6b296UogpawYsENA/Fdk1bCdkB0= dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -4219,16 +4887,19 @@ md5.js@^1.3.4: media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= dependencies: mimic-fn "^1.0.0" memory-fs@^0.4.0, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" readable-stream "^2.0.1" @@ -4236,14 +4907,17 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -4262,6 +4936,7 @@ micromatch@^2.1.5: micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -4280,6 +4955,7 @@ micromatch@^3.1.4: miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" brorand "^1.0.1" @@ -4287,62 +4963,75 @@ miller-rabin@^4.0.0: mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== mime-types@~2.1.18: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== mime@^1.4.1, mime@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= dependencies: dom-walk "^0.1.0" minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + integrity sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q= dependencies: brace-expansion "^1.0.0" minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minipass@^2.2.1, minipass@^2.2.4: version "2.3.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384" + integrity sha512-jWC2Eg+Np4bxah7llu1IrUNSJQxtLz/J+pOjTM0nFpJXGAaV18XBWhUn031Q1tAA/TJtA1jgwnOe9S2PQa4Lbg== dependencies: safe-buffer "^5.1.1" yallist "^3.0.0" @@ -4350,12 +5039,14 @@ minipass@^2.2.1, minipass@^2.2.4: minizlib@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + integrity sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA== dependencies: minipass "^2.2.1" mississippi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -4371,6 +5062,7 @@ mississippi@^2.0.0: mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" @@ -4378,12 +5070,14 @@ mixin-deep@^1.2.0: mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= dependencies: aproba "^1.1.1" copy-concurrently "^1.0.0" @@ -4395,28 +5089,34 @@ move-concurrently@^1.0.1: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== multi-key-cache@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/multi-key-cache/-/multi-key-cache-1.0.2.tgz#4107c5f2b58f335a01735099ad34652dbbde579e" + integrity sha1-QQfF8rWPM1oBc1CZrTRlLbveV54= dependencies: map-or-similar "^1.1.3" mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= nan@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + integrity sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA== nanomatch@^1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + integrity sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -4434,10 +5134,12 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= needle@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" + integrity sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q== dependencies: debug "^2.1.2" iconv-lite "^0.4.4" @@ -4446,30 +5148,36 @@ needle@^2.2.0: negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= neo-async@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" + integrity sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA== next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== dependencies: lower-case "^1.1.1" node-dir@^0.1.10: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= dependencies: minimatch "^3.0.2" node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== dependencies: encoding "^0.1.11" is-stream "^1.0.1" @@ -4477,6 +5185,7 @@ node-fetch@^1.0.1: node-libs-browser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + integrity sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg== dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -4505,6 +5214,7 @@ node-libs-browser@^2.0.0: node-pre-gyp@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" + integrity sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ== dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -4520,6 +5230,7 @@ node-pre-gyp@^0.10.0: nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= dependencies: abbrev "1" osenv "^0.1.4" @@ -4527,6 +5238,7 @@ nopt@^4.0.1: normalize-package-data@^2.3.2: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -4536,16 +5248,19 @@ normalize-package-data@^2.3.2: normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= normalize-url@^1.4.0: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -4555,10 +5270,12 @@ normalize-url@^1.4.0: npm-bundled@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" + integrity sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow== npm-packlist@^1.1.6: version "1.1.10" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" + integrity sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -4566,12 +5283,14 @@ npm-packlist@^1.1.6: npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" npmlog@^4.0.2, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -4581,24 +5300,29 @@ npmlog@^4.0.2, npmlog@^4.1.2: nth-check@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + integrity sha1-mSms32KPwsQQmN6rgqxYDPFJquQ= dependencies: boolbase "~1.0.0" num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" @@ -4607,16 +5331,19 @@ object-copy@^0.1.0: object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + integrity sha1-xUYBd4rVYPEULODgG8yotW0TQm0= object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.entries@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + integrity sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8= dependencies: define-properties "^1.1.2" es-abstract "^1.6.1" @@ -4626,6 +5353,7 @@ object.entries@^1.0.4: object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" es-abstract "^1.5.1" @@ -4633,6 +5361,7 @@ object.getownpropertydescriptors@^2.0.3: object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= dependencies: for-own "^0.1.4" is-extendable "^0.1.1" @@ -4640,12 +5369,14 @@ object.omit@^2.0.0: object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" object.values@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + integrity sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo= dependencies: define-properties "^1.1.2" es-abstract "^1.6.1" @@ -4655,30 +5386,35 @@ object.values@^1.0.4: on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" opn@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" + integrity sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ== dependencies: is-wsl "^1.1.0" optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -4690,20 +5426,24 @@ optionator@^0.8.2: original@>=0.0.5: version "1.0.1" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" + integrity sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA== dependencies: url-parse "~1.4.0" os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-locale@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== dependencies: execa "^0.7.0" lcid "^1.0.0" @@ -4712,10 +5452,12 @@ os-locale@^2.0.0: os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -4723,6 +5465,7 @@ osenv@^0.1.4: output-file-sync@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + integrity sha1-0KM+7+YaIF+suQCS6CZZjVJFznY= dependencies: graceful-fs "^4.1.4" mkdirp "^0.5.1" @@ -4731,34 +5474,41 @@ output-file-sync@^1.1.2: p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-limit@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + integrity sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng== dependencies: p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= pako@^0.2.5: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= pako@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== parallel-transform@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= dependencies: cyclist "~0.2.2" inherits "^2.0.3" @@ -4767,12 +5517,14 @@ parallel-transform@^1.1.0: param-case@2.1.x: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: no-case "^2.2.0" parse-asn1@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + integrity sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -4783,6 +5535,7 @@ parse-asn1@^5.0.0: parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -4792,12 +5545,14 @@ parse-glob@^3.0.4: parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" @@ -4805,56 +5560,69 @@ parse-json@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME= path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: pify "^2.0.0" pbkdf2@^3.0.3: version "3.0.16" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + integrity sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -4865,38 +5633,46 @@ pbkdf2@^3.0.3: pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14= dependencies: postcss "^5.0.2" postcss-message-helpers "^2.0.0" @@ -4905,6 +5681,7 @@ postcss-calc@^5.2.0: postcss-colormin@^2.1.8: version "2.2.2" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks= dependencies: colormin "^1.0.5" postcss "^5.0.13" @@ -4913,6 +5690,7 @@ postcss-colormin@^2.1.8: postcss-convert-values@^2.3.4: version "2.6.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0= dependencies: postcss "^5.0.11" postcss-value-parser "^3.1.2" @@ -4920,30 +5698,35 @@ postcss-convert-values@^2.3.4: postcss-discard-comments@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0= dependencies: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + integrity sha1-uavye4isGIFYpesSq8riAmO5GTI= dependencies: postcss "^5.0.4" postcss-discard-empty@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU= dependencies: postcss "^5.0.14" postcss-discard-overridden@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg= dependencies: postcss "^5.0.16" postcss-discard-unused@^2.2.1: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM= dependencies: postcss "^5.0.14" uniqs "^2.0.0" @@ -4951,6 +5734,7 @@ postcss-discard-unused@^2.2.1: postcss-filter-plugins@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + integrity sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew= dependencies: postcss "^5.0.4" uniqid "^4.0.0" @@ -4958,12 +5742,14 @@ postcss-filter-plugins@^2.0.0: postcss-flexbugs-fixes@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz#0783cc7212850ef707f97f8bc8b6fb624e00c75d" + integrity sha512-9y9kDDf2F9EjKX6x9ueNa5GARvsUbXw4ezH8vXItXHwKzljbu8awP7t5dCaabKYm18Vs1lo5bKQcnc0HkISt+w== dependencies: postcss "^6.0.1" postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + integrity sha1-U56a/J3chiASHr+djDZz4M5Q0oo= dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" @@ -4973,6 +5759,7 @@ postcss-load-config@^1.2.0: postcss-load-options@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + integrity sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw= dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" @@ -4980,6 +5767,7 @@ postcss-load-options@^1.2.0: postcss-load-plugins@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + integrity sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI= dependencies: cosmiconfig "^2.1.1" object-assign "^4.1.0" @@ -4987,6 +5775,7 @@ postcss-load-plugins@^2.3.0: postcss-loader@^2.1.2: version "2.1.5" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.5.tgz#3c6336ee641c8f95138172533ae461a83595e788" + integrity sha512-pV7kB5neJ0/1tZ8L1uGOBNTVBCSCXQoIsZMsrwvO8V2rKGa2tBl/f80GGVxow2jJnRJ2w1ocx693EKhZAb9Isg== dependencies: loader-utils "^1.1.0" postcss "^6.0.0" @@ -4996,6 +5785,7 @@ postcss-loader@^2.1.2: postcss-merge-idents@^2.1.5: version "2.1.7" resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA= dependencies: has "^1.0.1" postcss "^5.0.10" @@ -5004,12 +5794,14 @@ postcss-merge-idents@^2.1.5: postcss-merge-longhand@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg= dependencies: postcss "^5.0.4" postcss-merge-rules@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE= dependencies: browserslist "^1.5.2" caniuse-api "^1.5.2" @@ -5020,10 +5812,12 @@ postcss-merge-rules@^2.0.3: postcss-message-helpers@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= postcss-minify-font-values@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k= dependencies: object-assign "^4.0.1" postcss "^5.0.4" @@ -5032,6 +5826,7 @@ postcss-minify-font-values@^1.0.2: postcss-minify-gradients@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE= dependencies: postcss "^5.0.12" postcss-value-parser "^3.3.0" @@ -5039,6 +5834,7 @@ postcss-minify-gradients@^1.0.1: postcss-minify-params@^1.0.4: version "1.2.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM= dependencies: alphanum-sort "^1.0.1" postcss "^5.0.2" @@ -5048,6 +5844,7 @@ postcss-minify-params@^1.0.4: postcss-minify-selectors@^2.0.4: version "2.1.1" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8= dependencies: alphanum-sort "^1.0.2" has "^1.0.1" @@ -5057,12 +5854,14 @@ postcss-minify-selectors@^2.0.4: postcss-modules-extract-imports@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + integrity sha1-ZhQOzs447wa/DT41XWm/WdFB6oU= dependencies: postcss "^6.0.1" postcss-modules-local-by-default@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" @@ -5070,6 +5869,7 @@ postcss-modules-local-by-default@^1.2.0: postcss-modules-scope@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" @@ -5077,6 +5877,7 @@ postcss-modules-scope@^1.1.0: postcss-modules-values@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= dependencies: icss-replace-symbols "^1.1.0" postcss "^6.0.1" @@ -5084,12 +5885,14 @@ postcss-modules-values@^1.3.0: postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E= dependencies: postcss "^5.0.5" postcss-normalize-url@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI= dependencies: is-absolute-url "^2.0.0" normalize-url "^1.4.0" @@ -5099,6 +5902,7 @@ postcss-normalize-url@^3.0.7: postcss-ordered-values@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.1" @@ -5106,6 +5910,7 @@ postcss-ordered-values@^2.1.0: postcss-reduce-idents@^2.2.2: version "2.4.0" resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM= dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.2" @@ -5113,12 +5918,14 @@ postcss-reduce-idents@^2.2.2: postcss-reduce-initial@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo= dependencies: postcss "^5.0.4" postcss-reduce-transforms@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE= dependencies: has "^1.0.1" postcss "^5.0.8" @@ -5127,6 +5934,7 @@ postcss-reduce-transforms@^1.0.3: postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -5135,6 +5943,7 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: postcss-svgo@^2.1.1: version "2.1.6" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0= dependencies: is-svg "^2.0.0" postcss "^5.0.14" @@ -5144,6 +5953,7 @@ postcss-svgo@^2.1.1: postcss-unique-selectors@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0= dependencies: alphanum-sort "^1.0.1" postcss "^5.0.4" @@ -5152,10 +5962,12 @@ postcss-unique-selectors@^2.0.2: postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + integrity sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU= postcss-zindex@^2.0.1: version "2.2.0" resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI= dependencies: has "^1.0.1" postcss "^5.0.4" @@ -5164,6 +5976,7 @@ postcss-zindex@^2.0.1: postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -5173,6 +5986,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17: version "6.0.22" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" + integrity sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA== dependencies: chalk "^2.4.1" source-map "^0.6.1" @@ -5181,22 +5995,27 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17: prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= prettier@^1.12.1: version "1.12.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" + integrity sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU= pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= dependencies: renderkid "^2.0.1" utila "~0.4" @@ -5204,30 +6023,37 @@ pretty-error@^2.0.2: private@^0.1.6, private@^0.1.8, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= promise.prototype.finally@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" + integrity sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ== dependencies: define-properties "^1.1.2" es-abstract "^1.9.0" @@ -5236,20 +6062,31 @@ promise.prototype.finally@^3.1.0: promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" + integrity sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ== dependencies: fbjs "^0.8.16" loose-envify "^1.3.1" object-assign "^4.1.1" +prop-types@^15.6.2: + version "15.6.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" + integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + proxy-addr@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + integrity sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ== dependencies: forwarded "~0.1.2" ipaddr.js "1.6.0" @@ -5257,14 +6094,17 @@ proxy-addr@~2.0.3: prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= public-encrypt@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + integrity sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q== dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -5275,6 +6115,7 @@ public-encrypt@^4.0.0: pump@^2.0.0, pump@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -5282,6 +6123,7 @@ pump@^2.0.0, pump@^2.0.1: pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== dependencies: duplexify "^3.6.0" inherits "^2.0.3" @@ -5290,30 +6132,37 @@ pumpify@^1.3.3: punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= punycode@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= qs@6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A== qs@^6.5.1: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" @@ -5321,18 +6170,22 @@ query-string@^4.1.0: querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= querystringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" + integrity sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw== radium@^0.19.0: version "0.19.6" resolved "https://registry.yarnpkg.com/radium/-/radium-0.19.6.tgz#b86721d08dbd303b061a4ae2ebb06cc6e335ae72" + integrity sha512-IABYntqCwYelUUIwA52maSCgJbqtJjHKIoD21wgpw3dGhIUbJ5chDShDGdaFiEzdF03hN9jfQqlmn0bF4YhfrQ== dependencies: array-find "^1.0.0" exenv "^1.2.1" @@ -5342,6 +6195,7 @@ radium@^0.19.0: randomatic@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" + integrity sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ== dependencies: is-number "^4.0.0" kind-of "^6.0.0" @@ -5350,12 +6204,14 @@ randomatic@^3.0.0: randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" @@ -5363,10 +6219,12 @@ randomfill@^1.0.3: range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= raw-body@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + integrity sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k= dependencies: bytes "3.0.0" http-errors "1.6.2" @@ -5376,6 +6234,7 @@ raw-body@2.3.2: rc@^1.1.7: version "1.2.7" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297" + integrity sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA== dependencies: deep-extend "^0.5.1" ini "~1.3.0" @@ -5385,6 +6244,7 @@ rc@^1.1.7: react-dev-utils@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-5.0.1.tgz#1f396e161fe44b595db1b186a40067289bf06613" + integrity sha512-+y92rG6pmXt3cpcg/NGmG4w/W309tWNSmyyPL8hCMxuCSg2UP/hUg3npACj2UZc8UKVSXexyLrCnxowizGoAsw== dependencies: address "1.0.3" babel-code-frame "6.26.0" @@ -5408,6 +6268,7 @@ react-dev-utils@^5.0.0: react-docgen@^3.0.0-beta11: version "3.0.0-beta9" resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-beta9.tgz#6be987e640786ecb10ce2dd22157a022c8285e95" + integrity sha512-3UqwxygAP/eZdDtOKum6vClKWUlceZ7RBVQ3Fe122l1WBYOqHcBzoUZIwN8feaLVo+s2eB/q+NkBfanLgvmt+w== dependencies: async "^2.1.4" babel-runtime "^6.9.2" @@ -5417,22 +6278,25 @@ react-docgen@^3.0.0-beta11: node-dir "^0.1.10" recast "^0.12.6" -react-dom@^16.3.2: - version "16.3.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.3.2.tgz#cb90f107e09536d683d84ed5d4888e9640e0e4df" +react-dom@^16.6.0: + version "16.6.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.6.0.tgz#6375b8391e019a632a89a0988bce85f0cc87a92f" + integrity sha512-Stm2D9dXEUUAQdvpvhvFj/DEXwC2PAL/RwEMhoN4dvvD2ikTlJegEXf97xryg88VIAU22ZAP7n842l+9BTz6+w== dependencies: - fbjs "^0.8.16" loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.0" + prop-types "^15.6.2" + scheduler "^0.10.0" react-error-overlay@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4" + integrity sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw== react-fuzzy@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/react-fuzzy/-/react-fuzzy-0.5.2.tgz#fc13bf6f0b785e5fefe908724efebec4935eaefe" + integrity sha512-qIZZxaCheb/HhcBi5fABbiCFg85+K5r1TCps1D4uaL0LAMMD/1zm/x1/kNR130Tx7nnY9V7mbFyY0DquPYeLAw== dependencies: babel-runtime "^6.23.0" classnames "^2.2.5" @@ -5442,22 +6306,26 @@ react-fuzzy@^0.5.2: react-html-attributes@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.4.2.tgz#0d2ccf134fc79b2d3543837dc1591d32b7b903f9" + integrity sha1-DSzPE0/Hmy01Q4N9wVkdMre5A/k= dependencies: html-element-attributes "^1.0.0" react-icon-base@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d" + integrity sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50= react-icons@^2.2.7: version "2.2.7" resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.7.tgz#d7860826b258557510dac10680abea5ca23cf650" + integrity sha512-0n4lcGqzJFcIQLoQytLdJCE0DKSA9dkwEZRYoGrIDJZFvIT6Hbajx5mv9geqhqFiNjUgtxg8kPyDfjlhymbGFg== dependencies: react-icon-base "2.1.0" react-inspector@^2.2.2: version "2.3.0" resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.0.tgz#fc9c1d38ab687fc0d190dcaf133ae40158968fc8" + integrity sha512-aIcbWb0fKFhEMB+RadoOYawlr1JoMMfrQ1oRgPUG/f/e4zERVJ6nYcIaQmrQmdHCZ63BOqe2cEkoeY0kyLBzNg== dependencies: babel-runtime "^6.26.0" is-dom "^1.0.9" @@ -5465,28 +6333,32 @@ react-inspector@^2.2.2: react-lifecycles-compat@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-modal@^3.3.2: version "3.4.4" resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.4.4.tgz#e9dde25e9e85a59c76831f2a2b468712a546aded" + integrity sha512-5VYNvy301Z0xxGBQhPmDdzOcyEkUG8sU7bpRsAPI4OHgEUkbBFrpjzs/ocNI0m824/lOqTxddXzwgmDJXx3s3Q== dependencies: exenv "^1.2.0" prop-types "^15.5.10" react-lifecycles-compat "^3.0.0" warning "^3.0.0" -react-reconciler@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.10.0.tgz#5dc75e73348de97b992deaba75ec72019918f71b" +react-reconciler@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.16.0.tgz#80bf491f2999f6829fac7752a43ba4304a7a4694" + integrity sha512-0rpdmwTQwcwMAOmQkHSW1LzM5tBjWBpm/a7QgjpbrbHfo0fHeMTogC4wC/z2UjfKsdVp0F8zSaxckoylbHd6Rw== dependencies: - fbjs "^0.8.16" loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.0" + prop-types "^15.6.2" + scheduler "^0.10.0" react-split-pane@^0.1.77: version "0.1.77" resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" + integrity sha512-xq0PPsbkNI9xEd6yTrGPr7hzf6XfIgnsxuUEdRJELq+kLPHMsO3ymFCjhiYP35wlDPn9W46+rHDsJd7LFYteMw== dependencies: inline-style-prefixer "^3.0.6" prop-types "^15.5.10" @@ -5495,12 +6367,14 @@ react-split-pane@^0.1.77: react-style-proptype@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/react-style-proptype/-/react-style-proptype-3.2.1.tgz#7cfeb9b87ec7ab9dcbde9715170ed10c11fb86aa" + integrity sha512-Z02QsgmdZ4wYNxJsHhNGGZsIF8+MO93fYmdPaC+ljdqX3rq8tl/fSMXOGBbofGJNzq5W/2LFcONllmV6vzyYHA== dependencies: prop-types "^15.5.4" react-transition-group@^2.0.0: version "2.3.1" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.3.1.tgz#31d611b33e143a5e0f2d94c348e026a0f3b474b6" + integrity sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ== dependencies: dom-helpers "^3.3.1" loose-envify "^1.3.1" @@ -5509,6 +6383,7 @@ react-transition-group@^2.0.0: react-treebeard@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/react-treebeard/-/react-treebeard-2.1.0.tgz#fbd5cf51089b6f09a9b18350ab3bddf736e57800" + integrity sha512-unoy8IJL1NR5jgTtK+CqOCZKZylh/Tlid0oYajW9bLZCbFelxzmCsF8Y2hyS6pvHqM4W501oOm5O/jvg3VZCrg== dependencies: babel-runtime "^6.23.0" deep-equal "^1.0.1" @@ -5517,18 +6392,20 @@ react-treebeard@^2.1.0: shallowequal "^0.2.2" velocity-react "^1.3.1" -react@^16.3.2: - version "16.3.2" - resolved "https://registry.yarnpkg.com/react/-/react-16.3.2.tgz#fdc8420398533a1e58872f59091b272ce2f91ea9" +react@^16.6.0: + version "16.6.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.6.0.tgz#b34761cfaf3e30f5508bc732fb4736730b7da246" + integrity sha512-zJPnx/jKtuOEXCbQ9BKaxDMxR0001/hzxXwYxG8septeyYGfsgAei6NgfbVgOhbY1WOP2o3VPs/E9HaN+9hV3Q== dependencies: - fbjs "^0.8.16" loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.0" + prop-types "^15.6.2" + scheduler "^0.10.0" read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= dependencies: find-up "^2.0.0" read-pkg "^2.0.0" @@ -5536,6 +6413,7 @@ read-pkg-up@^2.0.0: read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= dependencies: load-json-file "^2.0.0" normalize-package-data "^2.3.2" @@ -5544,6 +6422,7 @@ read-pkg@^2.0.0: "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -5556,6 +6435,7 @@ read-pkg@^2.0.0: readable-stream@1.0: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -5565,6 +6445,7 @@ readable-stream@1.0: readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + integrity sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg= dependencies: graceful-fs "^4.1.2" minimatch "^3.0.2" @@ -5574,6 +6455,7 @@ readdirp@^2.0.0: recast@^0.12.6: version "0.12.9" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" + integrity sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A== dependencies: ast-types "0.10.1" core-js "^2.4.1" @@ -5584,6 +6466,7 @@ recast@^0.12.6: recast@~0.11.12: version "0.11.23" resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM= dependencies: ast-types "0.9.6" esprima "~3.1.0" @@ -5593,18 +6476,21 @@ recast@~0.11.12: rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= dependencies: resolve "^1.1.6" recursive-readdir@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" + integrity sha1-kO8jHQd4xc4JPJpI105cVCLROpk= dependencies: minimatch "3.0.3" reduce-css-calc@^1.2.6: version "1.3.0" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= dependencies: balanced-match "^0.4.2" math-expression-evaluator "^1.2.14" @@ -5613,12 +6499,14 @@ reduce-css-calc@^1.2.6: reduce-function-call@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk= dependencies: balanced-match "^0.4.2" redux@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A== dependencies: lodash "^4.2.1" lodash-es "^4.2.1" @@ -5628,18 +6516,22 @@ redux@^3.7.2: regenerate@^1.2.1: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" @@ -5648,12 +6540,14 @@ regenerator-transform@^0.10.0: regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== dependencies: is-equal-shallow "^0.1.3" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" @@ -5661,10 +6555,12 @@ regex-not@^1.0.0, regex-not@^1.0.2: regexpp@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" + integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw== regexpu-core@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5673,6 +6569,7 @@ regexpu-core@^1.0.0: regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5681,24 +6578,29 @@ regexpu-core@^2.0.0: regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= regjsparser@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= dependencies: jsesc "~0.5.0" relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= renderkid@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" + integrity sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk= dependencies: css-select "^1.1.0" dom-converter "~0.1" @@ -5709,36 +6611,44 @@ renderkid@^2.0.1: repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo= repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= dependencies: is-finite "^1.0.0" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-from-string@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= require-from-string@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= dependencies: caller-path "^0.1.0" resolve-from "^1.0.0" @@ -5746,10 +6656,12 @@ require-uncached@^1.0.3: requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-dir@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= dependencies: expand-tilde "^2.0.0" global-modules "^1.0.0" @@ -5757,20 +6669,24 @@ resolve-dir@^1.0.0: resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@^1.1.6: version "1.7.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== dependencies: path-parse "^1.0.5" restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" signal-exit "^3.0.2" @@ -5778,22 +6694,26 @@ restore-cursor@^2.0.0: ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= dependencies: align-text "^0.1.1" rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== dependencies: glob "^7.0.5" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -5801,56 +6721,75 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= dependencies: is-promise "^2.1.0" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= dependencies: aproba "^1.1.1" rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= dependencies: rx-lite "*" rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@^1.2.4, sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +scheduler@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.10.0.tgz#7988de90fe7edccc774ea175a783e69c40c521e1" + integrity sha512-+TSTVTCBAA3h8Anei3haDc1IRwMeDmtI/y/o3iBe3Mjl2vwYF9DtPDt929HyRmV/e7au7CLu8sc4C4W0VOs29w== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" schema-utils@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= dependencies: ajv "^5.0.0" schema-utils@^0.4.0, schema-utils@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" + integrity sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA== dependencies: ajv "^6.1.0" ajv-keywords "^3.1.0" @@ -5862,10 +6801,12 @@ schema-utils@^0.4.0, schema-utils@^0.4.5: "semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== dependencies: debug "2.6.9" depd "~1.1.2" @@ -5884,10 +6825,12 @@ send@0.16.2: serialize-javascript@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" + integrity sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ== serve-favicon@^2.4.5: version "2.5.0" resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0" + integrity sha1-k10kDN/g9YBTB/3+ln2IlCosvPA= dependencies: etag "~1.8.1" fresh "0.5.2" @@ -5898,6 +6841,7 @@ serve-favicon@^2.4.5: serve-static@1.13.2: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" @@ -5907,14 +6851,17 @@ serve-static@1.13.2: set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= set-value@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -5924,6 +6871,7 @@ set-value@^0.4.3: set-value@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -5933,18 +6881,22 @@ set-value@^2.0.0: setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ= setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -5952,22 +6904,26 @@ sha.js@^2.4.0, sha.js@^2.4.8: shallowequal@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" + integrity sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4= dependencies: lodash.keys "^3.1.2" shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shell-quote@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= dependencies: array-filter "~0.0.0" array-map "~0.0.0" @@ -5977,6 +6933,7 @@ shell-quote@1.6.1: shelljs@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" + integrity sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ== dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5985,20 +6942,24 @@ shelljs@^0.8.1: signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== dependencies: is-fullwidth-code-point "^2.0.0" snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -6007,12 +6968,14 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: base "^0.11.1" debug "^2.2.0" @@ -6026,6 +6989,7 @@ snapdragon@^0.8.1: sockjs-client@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + integrity sha1-W6vjhrd15M8U51IJEUUmVAFsixI= dependencies: debug "^2.6.6" eventsource "0.1.6" @@ -6037,16 +7001,19 @@ sockjs-client@1.1.4: sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= dependencies: is-plain-obj "^1.0.0" source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + integrity sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A== source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== dependencies: atob "^2.1.1" decode-uri-component "^0.2.0" @@ -6057,24 +7024,29 @@ source-map-resolve@^0.5.0: source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== dependencies: source-map "^0.5.6" source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + integrity sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -6082,10 +7054,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + integrity sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg== spdx-expression-parse@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" @@ -6093,26 +7067,31 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + integrity sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= ssri@^5.2.4: version "5.3.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== dependencies: safe-buffer "^5.1.1" static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" @@ -6120,14 +7099,17 @@ static-extend@^0.1.1: "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= statuses@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds= dependencies: inherits "~2.0.1" readable-stream "^2.0.2" @@ -6135,6 +7117,7 @@ stream-browserify@^2.0.1: stream-each@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" + integrity sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA== dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" @@ -6142,6 +7125,7 @@ stream-each@^1.1.0: stream-http@^2.7.2: version "2.8.2" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" + integrity sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA== dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -6152,14 +7136,17 @@ stream-http@^2.7.2: stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -6168,6 +7155,7 @@ string-width@^1.0.1, string-width@^1.0.2: string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" @@ -6175,6 +7163,7 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: string.prototype.padend@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" + integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA= dependencies: define-properties "^1.1.2" es-abstract "^1.4.3" @@ -6183,6 +7172,7 @@ string.prototype.padend@^3.0.0: string.prototype.padstart@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" + integrity sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI= dependencies: define-properties "^1.1.2" es-abstract "^1.4.3" @@ -6191,40 +7181,48 @@ string.prototype.padstart@^3.0.0: string_decoder@^1.0.0, string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= style-loader@^0.20.3: version "0.20.3" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.3.tgz#ebef06b89dec491bcb1fdb3452e913a6fd1c10c4" + integrity sha512-2I7AVP73MvK33U7B9TKlYZAqdROyMXDYSMvHLX43qy3GCOaJNiV6i0v/sv9idWIaQ42Yn2dNv79Q5mKXbKhAZg== dependencies: loader-utils "^1.1.0" schema-utils "^0.4.5" @@ -6232,32 +7230,38 @@ style-loader@^0.20.3: supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= dependencies: has-flag "^1.0.0" supports-color@^4.2.1: version "4.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= dependencies: has-flag "^2.0.0" supports-color@^5.3.0, supports-color@^5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== dependencies: has-flag "^3.0.0" svg-tag-names@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/svg-tag-names/-/svg-tag-names-1.1.1.tgz#9641b29ef71025ee094c7043f7cdde7d99fbd50a" + integrity sha1-lkGynvcQJe4JTHBD983efZn71Qo= svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= dependencies: coa "~1.0.1" colors "~1.1.2" @@ -6270,10 +7274,12 @@ svgo@^0.7.0: symbol-observable@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== table@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" + integrity sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA== dependencies: ajv "^5.2.3" ajv-keywords "^2.1.0" @@ -6285,10 +7291,12 @@ table@4.0.2: tapable@^0.2.7: version "0.2.8" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + integrity sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI= tar@^4: version "4.4.2" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462" + integrity sha512-BfkE9CciGGgDsATqkikUHrQrraBCO+ke/1f6SFAEMnxyyfN9lxC+nW1NFWMpqH865DhHIy9vQi682gk1X7friw== dependencies: chownr "^1.0.1" fs-minipass "^1.2.5" @@ -6301,10 +7309,12 @@ tar@^4: text-table@0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= dependencies: readable-stream "^2.1.5" xtend "~4.0.1" @@ -6312,48 +7322,58 @@ through2@^2.0.0: through@^2.3.6, through@^2.3.8, through@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= time-stamp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + integrity sha1-lcakRTDhW6jW9KPsuMOj+sRto1c= timers-browserify@^2.0.4: version "2.0.10" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== dependencies: setimmediate "^1.0.4" tiny-inflate@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7" + integrity sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c= tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -6361,6 +7381,7 @@ to-regex-range@^2.1.0: to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" @@ -6370,24 +7391,29 @@ to-regex@^3.0.1, to-regex@^3.0.2: toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" type-is@~1.6.15, type-is@~1.6.16: version "1.6.16" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== dependencies: media-typer "0.3.0" mime-types "~2.1.18" @@ -6395,14 +7421,22 @@ type-is@~1.6.15, type-is@~1.6.16: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +ua-parser-js@^0.7.18: + version "0.7.19" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" + integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== ua-parser-js@^0.7.9: version "0.7.18" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" + integrity sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA== uglify-es@^3.3.4: version "3.3.9" resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== dependencies: commander "~2.13.0" source-map "~0.6.1" @@ -6410,6 +7444,7 @@ uglify-es@^3.3.4: uglify-js@3.3.x: version "3.3.25" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.25.tgz#3266ccb87c5bea229f69041a0296010d6477d539" + integrity sha512-hobogryjDV36VrLK3Y69ou4REyrTApzUblVFmdQOYRe8cYaSmFJXMb4dR9McdvYDSbeNdzUgYr2YVukJaErJcA== dependencies: commander "~2.15.0" source-map "~0.6.1" @@ -6417,6 +7452,7 @@ uglify-js@3.3.x: uglify-js@^2.8.29: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -6426,10 +7462,12 @@ uglify-js@^2.8.29: uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= uglifyjs-webpack-plugin@^0.4.6: version "0.4.6" resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk= dependencies: source-map "^0.5.6" uglify-js "^2.8.29" @@ -6438,6 +7476,7 @@ uglifyjs-webpack-plugin@^0.4.6: uglifyjs-webpack-plugin@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641" + integrity sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw== dependencies: cacache "^10.0.4" find-cache-dir "^1.0.0" @@ -6451,6 +7490,7 @@ uglifyjs-webpack-plugin@^1.2.4: unicode-trie@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" + integrity sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU= dependencies: pako "^0.2.5" tiny-inflate "^1.0.0" @@ -6458,6 +7498,7 @@ unicode-trie@^0.3.0: union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= dependencies: arr-union "^3.1.0" get-value "^2.0.6" @@ -6467,36 +7508,43 @@ union-value@^1.0.0: uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= uniqid@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + integrity sha1-iSIN32t1GuUrX3JISGNShZa7hME= dependencies: macaddress "^0.2.8" uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= unique-filename@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" + integrity sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM= dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" + integrity sha1-22Z258fMBimHj/GWCXx4hVrp9Ks= dependencies: imurmurhash "^0.1.4" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" isobject "^3.0.0" @@ -6504,24 +7552,29 @@ unset-value@^1.0.0: upath@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.1.tgz#4595a80a51f356164e22970df64c7abd6ade9850" + integrity sha512-jpKCA3HjsBfSDOEgxRDAxQCNyHfCPSbq57PqCkd3gAyBuPb3IWxw54EHncqESznIdqSetHfw3D7ylThu2Kcc9A== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-loader@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" + integrity sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q== dependencies: loader-utils "^1.0.2" mime "^1.4.1" @@ -6530,6 +7583,7 @@ url-loader@^0.6.2: url-parse@^1.1.8, url-parse@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" + integrity sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg== dependencies: querystringify "^2.0.0" requires-port "^1.0.0" @@ -6537,6 +7591,7 @@ url-parse@^1.1.8, url-parse@~1.4.0: url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" querystring "0.2.0" @@ -6544,48 +7599,58 @@ url@^0.11.0: use@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" + integrity sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw== dependencies: kind-of "^6.0.2" user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" utila@~0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + integrity sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY= utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA== v8flags@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= dependencies: user-home "^1.1.1" validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" + integrity sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" @@ -6593,14 +7658,17 @@ validate-npm-package-license@^3.0.1: vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= velocity-animate@^1.4.0: version "1.5.1" resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.1.tgz#606837047bab8fbfb59a636d1d82ecc3f7bd71a6" + integrity sha512-VJ3csMz5zP1ifkbBlsNYpxnoWkPHfVRQ8tUongS78W5DxSGHB68pjYHDTgUYBkVM7P/HpYdVukgVUFcxjr1gGg== velocity-react@^1.3.1: version "1.4.1" resolved "https://registry.yarnpkg.com/velocity-react/-/velocity-react-1.4.1.tgz#1d0b41859cdf2521c08a8b57f44e93ed2d54b5fc" + integrity sha512-ZyXBm+9C/6kNUNyc+aeNKEhtTu/Mn+OfpsNBGuTxU8S2DUcis/KQL0rTN6jWL+7ygdOrun18qhheNZTA7YERmg== dependencies: lodash "^4.17.5" prop-types "^15.5.8" @@ -6610,22 +7678,26 @@ velocity-react@^1.3.1: vendors@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= dependencies: indexof "0.0.1" warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= dependencies: loose-envify "^1.0.0" watchpack@^1.4.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== dependencies: chokidar "^2.0.2" graceful-fs "^4.1.2" @@ -6634,6 +7706,7 @@ watchpack@^1.4.0: webpack-dev-middleware@^1.12.2: version "1.12.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" + integrity sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A== dependencies: memory-fs "~0.4.1" mime "^1.5.0" @@ -6644,6 +7717,7 @@ webpack-dev-middleware@^1.12.2: webpack-hot-middleware@^2.22.1: version "2.22.2" resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.22.2.tgz#623b77ce591fcd4e1fb99f18167781443e50afac" + integrity sha512-uccPS6b/UlXJoNCS+3fuc40z2KZgO0qQhnu+Ne1iZiHTy9s5fMCJAV+Vc8VTVkN203UphsxQmkumxYeHLiQ5jg== dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -6653,6 +7727,7 @@ webpack-hot-middleware@^2.22.1: webpack-sources@^1.0.1, webpack-sources@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + integrity sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" @@ -6660,6 +7735,7 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0: webpack@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74" + integrity sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ== dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -6687,6 +7763,7 @@ webpack@^3.11.0: websocket-driver@>=0.5.1: version "0.7.0" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= dependencies: http-parser-js ">=0.4.0" websocket-extensions ">=0.1.1" @@ -6694,52 +7771,63 @@ websocket-driver@>=0.5.1: websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== whatwg-fetch@>=0.10.0: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.14, which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + integrity sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w== dependencies: string-width "^1.0.2" window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= worker-farm@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== dependencies: errno "~0.1.7" wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -6747,42 +7835,51 @@ wrap-ansi@^2.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= dependencies: mkdirp "^0.5.1" xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= yargs-parser@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= dependencies: camelcase "^4.1.0" yargs@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= dependencies: camelcase "^4.1.0" cliui "^3.2.0" @@ -6801,6 +7898,7 @@ yargs@^8.0.2: yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= dependencies: camelcase "^1.0.2" cliui "^2.1.0" From 906224a8b3fc9084aa8cdecb1393a5bb2c1bbd12 Mon Sep 17 00:00:00 2001 From: Jakub Kottnauer Date: Wed, 5 Dec 2018 12:53:38 +0100 Subject: [PATCH 60/60] Fix event resubscription --- package.json | 2 +- src/CanvasComponent.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a9ef341..795847b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-canvas", - "version": "1.6.2", + "version": "1.6.4", "description": "High performance rendering for React components", "main": "dist/index.js", "repository": { diff --git a/src/CanvasComponent.js b/src/CanvasComponent.js index 3564a6f..e12361a 100644 --- a/src/CanvasComponent.js +++ b/src/CanvasComponent.js @@ -18,12 +18,16 @@ export default class CanvasComponent { const subscriptions = this.subscriptions; const listeners = this.listeners; + let isListenerDifferent = false; if (listeners.get(type) !== listener) { listeners.set(type, listener); + isListenerDifferent = true; } if (listener) { - if (!subscriptions.has(type)) { + // Add subscription if this is the first listener of the given type + // or the new listener is different from the current listener. + if (!subscriptions.has(type) || isListenerDifferent) { subscriptions.set(type, this.node.subscribe(type, listener, this)); } } else {