@carto/kepler.gl 0.0.65-alpha.labels.4 → 0.0.65-alpha.labels.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,7 +58,7 @@ exports.StyledLayerConfigGroupAction = StyledLayerConfigGroupAction;
58
58
 
59
59
  var ConfigGroupCollapsibleContent = _styledComponents["default"].div.attrs({
60
60
  className: 'layer-config-group__content__collapsible'
61
- })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: visible;\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 600px;\n"])));
61
+ })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: visible;\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 650px;\n"])));
62
62
 
63
63
  exports.ConfigGroupCollapsibleContent = ConfigGroupCollapsibleContent;
64
64
 
@@ -68,7 +68,7 @@ var ConfigGroupCollapsibleHeader = _styledComponents["default"].div.attrs({
68
68
 
69
69
  exports.ConfigGroupCollapsibleHeader = ConfigGroupCollapsibleHeader;
70
70
 
71
- var StyledLayerConfigGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", "px;\n margin-bottom: ", "px;\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n &.collapsed {\n .layer-config-group__header__collapsible {\n overflow: visible;\n max-height: 600px;\n }\n .layer-config-group__content {\n .layer-config-group__content__collapsible {\n overflow: hidden;\n max-height: 0;\n }\n }\n }\n"])), function (props) {
71
+ var StyledLayerConfigGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", "px;\n margin-bottom: ", "px;\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n &.collapsed {\n .layer-config-group__header__collapsible {\n overflow: visible;\n max-height: 650px;\n }\n .layer-config-group__content {\n .layer-config-group__content__collapsible {\n overflow: hidden;\n max-height: 0;\n }\n }\n }\n"])), function (props) {
72
72
  return props.theme.layerConfigGroupPaddingLeft;
73
73
  }, function (props) {
74
74
  return props.theme.layerConfigGroupMarginBottom;
@@ -242,4 +242,4 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
242
242
 
243
243
  var _default = LayerConfigGroupFactory;
244
244
  exports["default"] = _default;
245
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwLmpzIl0sIm5hbWVzIjpbIlN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQiLCJhdHRycyIsImNsYXNzTmFtZSIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwIiwibGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0IiwibGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSIsIlN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIiwic3dpdGNoV2lkdGgiLCJzd2l0Y2hMYWJlbE1hcmdpbiIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkiLCJkZXBzIiwiSW5mb0hlbHBlckZhY3RvcnkiLCJJbmZvSGVscGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxhYmVsQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplIiwiTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiTGF5ZXJDb25maWdHcm91cCIsImNvbGxhcHNlZCIsImNoaWxkcmVuIiwicHJvcGVydHkiLCJzd2l0Y2hUb29sdGlwIiwibGF5ZXIiLCJvbkNoYW5nZSIsImNvbGxhcHNpYmxlIiwiZGlzYWJsZWQiLCJDb2xsYXBzZUJ1dHRvbiIsInN0YXRlIiwiaWQiLCJjb25maWciLCJ2aXNDb25maWciLCJzZXRTdGF0ZSIsImV4cGFuZGVkIiwiQ29tcG9uZW50IiwiaGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLDRCQUE0QixHQUFHQyw2QkFBT0MsR0FBVixtSkFHOUIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBSHlCLENBQWxDOzs7O0FBTUEsSUFBTUMsNkJBQTZCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdLLEtBQVgsQ0FBaUI7QUFDNURDLEVBQUFBLFNBQVMsRUFBRTtBQURpRCxDQUFqQixDQUFILHVNQUFuQzs7OztBQVNBLElBQU1DLDRCQUE0QixHQUFHUiw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQzNEQyxFQUFBQSxTQUFTLEVBQUU7QUFEZ0QsQ0FBakIsQ0FBSCx1SkFBbEM7Ozs7QUFRQSxJQUFNRSxzQkFBc0IsR0FBR1QsNkJBQU9DLEdBQVYsOGVBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sMkJBQWhCO0FBQUEsQ0FEWSxFQUVoQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLDRCQUFoQjtBQUFBLENBRlcsQ0FBNUI7Ozs7QUFzQlAsSUFBTUMsdUJBQXVCLEdBQUdaLDZCQUFPQyxHQUFWLHNXQVNkLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsV0FBaEI7QUFBQSxDQVRTLEVBYWQsVUFBQVgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZVSxXQUFoQjtBQUFB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RDtBQUFlLFFBQUEsTUFBTSxFQUFFQTtBQUF2QixRQUFkO0FBQUE7QUFOSSxHQUY4QjtBQXNGdEQsdUNBQVNqQixnQkFBVDtBQUVBLFNBQU9BLGdCQUFQO0FBQ0Q7O2VBRWNELHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdH1weDtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tfXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLmNvbGxhcHNlZCB7XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50IHtcbiAgICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnRfX2NvbGxhcHNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoV2lkdGh9cHg7XG4gIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbmA7XG5cbkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkuZGVwcyA9IFtJbmZvSGVscGVyRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5KEluZm9IZWxwZXIpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsID0gKHtsYWJlbCwgZGVzY3JpcHRpb259KSA9PiAoXG4gICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJsYXllci1jb25maWctZ3JvdXBfX2xhYmVsXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2xhYmVsIHx8ICdtaXNjLmVtcHR5J30gZGVmYXVsdE1lc3NhZ2U9e2xhYmVsfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2Rlc2NyaXB0aW9uICYmIDxJbmZvSGVscGVyIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gaWQ9e2xhYmVsfSAvPn1cbiAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cExhYmVsO1xufVxuXG5MYXllckNvbmZpZ0dyb3VwRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeShMYXllckNvbmZpZ0dyb3VwTGFiZWwpIHtcbiAgY2xhc3MgTGF5ZXJDb25maWdHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbGxhcHNpYmxlOiBmYWxzZSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIG9uQ2hhbmdlOiAoKSA9PiB7fSxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgQ29sbGFwc2VCdXR0b246ICh7aGVpZ2h0fSkgPT4gPFZlcnRUaHJlZURvdHMgaGVpZ2h0PXtoZWlnaHR9IC8+XG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAvLyAgaW52b2tlZCBhZnRlciBhIGNvbXBvbmVudCBpcyBpbnN0YW50aWF0ZWQgYXMgd2VsbCBhcyBiZWZvcmUgaXQgaXMgcmUtcmVuZGVyZWRcbiAgICAgIGlmIChwcm9wcy5leHBhbmRlZCAmJiBzdGF0ZS5jb2xsYXBzZWQpIHtcbiAgICAgICAgcmV0dXJuIHtjb2xsYXBzZWQ6IGZhbHNlfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGUgPSB7XG4gICAgICBjb2xsYXBzZWQ6IHRydWVcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYWJlbCxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHByb3BlcnR5LFxuICAgICAgICBzd2l0Y2hUb29sdGlwLFxuICAgICAgICBsYXllcixcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGNvbGxhcHNpYmxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIENvbGxhcHNlQnV0dG9uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge2NvbGxhcHNlZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwJywge1xuICAgICAgICAgICAgY29sbGFwc2VkOiBjb2xsYXBzZWQgfHwgZGlzYWJsZWQsXG4gICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyXCI+XG4gICAgICAgICAgICA8TGF5ZXJDb25maWdHcm91cExhYmVsIGxhYmVsPXtsYWJlbH0gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSAvPlxuICAgICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAge3Byb3BlcnR5ID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtsYXllci5pZH0tJHtsYWJlbH0tdG9vbHRpcGB9PlxuICAgICAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyLmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlKHtbcHJvcGVydHldOiAhbGF5ZXIuY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7c3dpdGNoVG9vbHRpcCA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xheWVyLmlkfS0ke2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzd2l0Y2hUb29sdGlwfVxuICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBTd2l0Y2g+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7Y29sbGFwc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPENvbGxhcHNlQnV0dG9uXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHtjb2xsYXBzZWQ6ICF0aGlzLnN0YXRlLmNvbGxhcHNlZH0pfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXshdGhpcy5zdGF0ZS5jb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOHB4XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50Jywge1xuICAgICAgICAgICAgICBkaXNhYmxlZDogKHByb3BlcnR5ICYmICFsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSkgfHwgZGlzYWJsZWRcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChMYXllckNvbmZpZ0dyb3VwKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=
245
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwLmpzIl0sIm5hbWVzIjpbIlN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQiLCJhdHRycyIsImNsYXNzTmFtZSIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwIiwibGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0IiwibGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSIsIlN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIiwic3dpdGNoV2lkdGgiLCJzd2l0Y2hMYWJlbE1hcmdpbiIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkiLCJkZXBzIiwiSW5mb0hlbHBlckZhY3RvcnkiLCJJbmZvSGVscGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxhYmVsQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplIiwiTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiTGF5ZXJDb25maWdHcm91cCIsImNvbGxhcHNlZCIsImNoaWxkcmVuIiwicHJvcGVydHkiLCJzd2l0Y2hUb29sdGlwIiwibGF5ZXIiLCJvbkNoYW5nZSIsImNvbGxhcHNpYmxlIiwiZGlzYWJsZWQiLCJDb2xsYXBzZUJ1dHRvbiIsInN0YXRlIiwiaWQiLCJjb25maWciLCJ2aXNDb25maWciLCJzZXRTdGF0ZSIsImV4cGFuZGVkIiwiQ29tcG9uZW50IiwiaGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLDRCQUE0QixHQUFHQyw2QkFBT0MsR0FBVixtSkFHOUIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBSHlCLENBQWxDOzs7O0FBTUEsSUFBTUMsNkJBQTZCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdLLEtBQVgsQ0FBaUI7QUFDNURDLEVBQUFBLFNBQVMsRUFBRTtBQURpRCxDQUFqQixDQUFILHVNQUFuQzs7OztBQVNBLElBQU1DLDRCQUE0QixHQUFHUiw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQzNEQyxFQUFBQSxTQUFTLEVBQUU7QUFEZ0QsQ0FBakIsQ0FBSCx1SkFBbEM7Ozs7QUFRQSxJQUFNRSxzQkFBc0IsR0FBR1QsNkJBQU9DLEdBQVYsOGVBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sMkJBQWhCO0FBQUEsQ0FEWSxFQUVoQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLDRCQUFoQjtBQUFBLENBRlcsQ0FBNUI7Ozs7QUFzQlAsSUFBTUMsdUJBQXVCLEdBQUdaLDZCQUFPQyxHQUFWLHNXQVNkLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsV0FBaEI7QUFBQSxDQVRTLEVBYWQsVUFBQVgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZVSxXQUFoQjtBQUFB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RDtBQUFlLFFBQUEsTUFBTSxFQUFFQTtBQUF2QixRQUFkO0FBQUE7QUFOSSxHQUY4QjtBQXNGdEQsdUNBQVNqQixnQkFBVDtBQUVBLFNBQU9BLGdCQUFQO0FBQ0Q7O2VBRWNELHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiA2NTBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdH1weDtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tfXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLmNvbGxhcHNlZCB7XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6IDY1MHB4O1xuICAgIH1cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50IHtcbiAgICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnRfX2NvbGxhcHNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoV2lkdGh9cHg7XG4gIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbmA7XG5cbkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkuZGVwcyA9IFtJbmZvSGVscGVyRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5KEluZm9IZWxwZXIpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsID0gKHtsYWJlbCwgZGVzY3JpcHRpb259KSA9PiAoXG4gICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJsYXllci1jb25maWctZ3JvdXBfX2xhYmVsXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2xhYmVsIHx8ICdtaXNjLmVtcHR5J30gZGVmYXVsdE1lc3NhZ2U9e2xhYmVsfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2Rlc2NyaXB0aW9uICYmIDxJbmZvSGVscGVyIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gaWQ9e2xhYmVsfSAvPn1cbiAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cExhYmVsO1xufVxuXG5MYXllckNvbmZpZ0dyb3VwRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeShMYXllckNvbmZpZ0dyb3VwTGFiZWwpIHtcbiAgY2xhc3MgTGF5ZXJDb25maWdHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbGxhcHNpYmxlOiBmYWxzZSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIG9uQ2hhbmdlOiAoKSA9PiB7fSxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgQ29sbGFwc2VCdXR0b246ICh7aGVpZ2h0fSkgPT4gPFZlcnRUaHJlZURvdHMgaGVpZ2h0PXtoZWlnaHR9IC8+XG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAvLyAgaW52b2tlZCBhZnRlciBhIGNvbXBvbmVudCBpcyBpbnN0YW50aWF0ZWQgYXMgd2VsbCBhcyBiZWZvcmUgaXQgaXMgcmUtcmVuZGVyZWRcbiAgICAgIGlmIChwcm9wcy5leHBhbmRlZCAmJiBzdGF0ZS5jb2xsYXBzZWQpIHtcbiAgICAgICAgcmV0dXJuIHtjb2xsYXBzZWQ6IGZhbHNlfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGUgPSB7XG4gICAgICBjb2xsYXBzZWQ6IHRydWVcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYWJlbCxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHByb3BlcnR5LFxuICAgICAgICBzd2l0Y2hUb29sdGlwLFxuICAgICAgICBsYXllcixcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGNvbGxhcHNpYmxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIENvbGxhcHNlQnV0dG9uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge2NvbGxhcHNlZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwJywge1xuICAgICAgICAgICAgY29sbGFwc2VkOiBjb2xsYXBzZWQgfHwgZGlzYWJsZWQsXG4gICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyXCI+XG4gICAgICAgICAgICA8TGF5ZXJDb25maWdHcm91cExhYmVsIGxhYmVsPXtsYWJlbH0gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSAvPlxuICAgICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAge3Byb3BlcnR5ID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtsYXllci5pZH0tJHtsYWJlbH0tdG9vbHRpcGB9PlxuICAgICAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyLmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlKHtbcHJvcGVydHldOiAhbGF5ZXIuY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7c3dpdGNoVG9vbHRpcCA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xheWVyLmlkfS0ke2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzd2l0Y2hUb29sdGlwfVxuICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBTd2l0Y2g+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7Y29sbGFwc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPENvbGxhcHNlQnV0dG9uXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHtjb2xsYXBzZWQ6ICF0aGlzLnN0YXRlLmNvbGxhcHNlZH0pfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXshdGhpcy5zdGF0ZS5jb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOHB4XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50Jywge1xuICAgICAgICAgICAgICBkaXNhYmxlZDogKHByb3BlcnR5ICYmICFsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSkgfHwgZGlzYWJsZWRcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChMYXllckNvbmZpZ0dyb3VwKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
134
134
  // an empty string which will allow us to retrieve the latest umd version
135
135
 
136
136
  exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
137
- var KEPLER_GL_VERSION = "0.0.65-alpha.labels.4";
137
+ var KEPLER_GL_VERSION = "0.0.65-alpha.labels.6";
138
138
  exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
139
139
  var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
140
140
  exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.PointLabelLayer = void 0;
9
9
 
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -102,15 +104,25 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
102
104
  anchor = _this$props.getTextAnchor,
103
105
  alignment = _this$props.getAlignmentBaseline,
104
106
  getRadius = _this$props.getRadius,
107
+ getSecondaryText = _this$props.getSecondaryText,
105
108
  radiusScale = _this$props.radiusScale,
109
+ secondarySizeScale = _this$props.secondarySizeScale,
106
110
  sizeScale = _this$props.sizeScale;
107
111
  var xMult = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
108
- var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Place secondary label under main label (spacing 1 / 3 main label font size)
109
-
110
- var yOffset = secondary ? (1 + 1 / 3) * sizeScale : 0; // Padding based on font size (font size / 4)
112
+ var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Padding based on font size (font size / 4)
111
113
 
112
114
  var xPadding = sizeScale / 4;
113
- var yPadding = sizeScale + 1 / 4; // Padding based on point radius (radius/ 4)
115
+ var yPadding = sizeScale * (1 + 1 / 4); // Place secondary label under main label (secondary label always 'top' baseline aligned)
116
+
117
+ var secondaryOffset = 0.6 * (1 - yMult) * sizeScale;
118
+ var yOffset = secondary ? secondaryOffset : 0; // Special case, position relative to secondary label
119
+
120
+ if (anchor === 'middle' && alignment === 'top' && getSecondaryText) {
121
+ yOffset -= secondaryOffset;
122
+ yOffset -= secondarySizeScale;
123
+ yOffset += sizeScale;
124
+ } // Padding based on point radius (radius/ 4)
125
+
114
126
 
115
127
  var radiusPadding = 1 + 1 / 4;
116
128
  return typeof getRadius === 'function' ? function (d) {
@@ -158,15 +170,19 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
158
170
  }
159
171
  }, {
160
172
  key: "renderTextLayer",
161
- value: function renderTextLayer(id, props) {
173
+ value: function renderTextLayer(id, _ref2) {
174
+ var updateTriggersOverride = _ref2.updateTriggers,
175
+ props = (0, _objectWithoutProperties2["default"])(_ref2, ["updateTriggers"]);
162
176
  var _this$props3 = this.props,
163
177
  data = _this$props3.data,
178
+ characterSet = _this$props3.characterSet,
164
179
  fontFamily = _this$props3.fontFamily,
165
180
  fontSettings = _this$props3.fontSettings,
166
181
  fontWeight = _this$props3.fontWeight,
167
182
  outlineColor = _this$props3.outlineColor,
168
183
  outlineWidth = _this$props3.outlineWidth,
169
184
  sizeScale = _this$props3.sizeScale,
185
+ radiusScale = _this$props3.radiusScale,
170
186
  getAlignmentBaseline = _this$props3.getAlignmentBaseline,
171
187
  getColor = _this$props3.getColor,
172
188
  getPosition = _this$props3.getPosition,
@@ -175,6 +191,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
175
191
  return new EnhancedTextLayer(this.getSubLayerProps({
176
192
  id: id,
177
193
  data: data,
194
+ characterSet: characterSet,
178
195
  fontFamily: fontFamily,
179
196
  fontSettings: fontSettings,
180
197
  fontWeight: fontWeight,
@@ -185,7 +202,9 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
185
202
  getColor: getColor,
186
203
  getPosition: getPosition,
187
204
  getTextAnchor: getTextAnchor,
188
- updateTriggers: updateTriggers
205
+ updateTriggers: _objectSpread(_objectSpread(_objectSpread({}, updateTriggers), updateTriggersOverride), {}, {
206
+ getPixelOffset: [updateTriggers.getRadius, updateTriggers.getTextAnchor, updateTriggers.getAlignmentBaseline, radiusScale, sizeScale]
207
+ })
189
208
  }), {
190
209
  getSize: 1
191
210
  }, // DEBUG
@@ -216,6 +235,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
216
235
  }), getSecondaryText && this.renderTextLayer('secondary', _objectSpread(_objectSpread(_objectSpread({
217
236
  getText: getSecondaryText,
218
237
  getPixelOffset: this.calculatePixelOffset(true),
238
+ getAlignmentBaseline: 'top',
219
239
  updateTriggers: {
220
240
  getText: updateTriggers.getSecondaryText
221
241
  }
@@ -234,4 +254,4 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
234
254
 
235
255
  exports.PointLabelLayer = PointLabelLayer;
236
256
  (0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwic2l6ZVNjYWxlIiwieE11bHQiLCJ5TXVsdCIsInlPZmZzZXQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwicmFkaXVzUGFkZGluZyIsImQiLCJyIiwiZ2V0UGl4ZWxPZmZzZXQiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJwaXhlbE9mZnNldCIsIkFycmF5IiwiaXNBcnJheSIsImRhdGEiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIm91dGxpbmVDb2xvciIsIm91dGxpbmVXaWR0aCIsImdldENvbG9yIiwiZ2V0UG9zaXRpb24iLCJ1cGRhdGVUcmlnZ2VycyIsImdldFN1YkxheWVyUHJvcHMiLCJnZXRTaXplIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJnZXRTZWNvbmRhcnlUZXh0Iiwic2Vjb25kYXJ5T3V0bGluZUNvbG9yIiwic2Vjb25kYXJ5U2l6ZVNjYWxlIiwiY2FsY3VsYXRlUGl4ZWxPZmZzZXQiLCJjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyIsIm91dCIsInJlbmRlclRleHRMYXllciIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUssRUFBRTtBQUExQixHQUZLO0FBR2hCSSxFQUFBQSxXQUFXLEVBQUU7QUFBQ0wsSUFBQUEsSUFBSSxFQUFF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STtBQUFDWixRQUFBQSxZQUFZLEVBQUVZO0FBQWYsT0FSL0IsRUFSUSxDQUFaO0FBb0JBLGFBQU9JLEdBQVA7QUFDRDs7O0VBdEprQ0Usb0I7OztpQ0FBeEIzQyxlLGtCQUNXVCxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb3NpdGVMYXllcn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1RleHRMYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuLy8gVE9ETyByZW1vdmUgcHJpb3IgdG8gcmVsZWFzZVxuY29uc3QgU0hPV19URVhUX0JPUkRFUiA9IGZhbHNlO1xuXG5jb25zdCBbTEVGVCwgVE9QLCBSSUdIVCwgQk9UVE9NXSA9IFswLCAxLCAyLCAzXTtcbmNsYXNzIEVuaGFuY2VkVGV4dExheWVyIGV4dGVuZHMgVGV4dExheWVyIHtcbiAgZmlsdGVyU3ViTGF5ZXIoe2xheWVyLCByZW5kZXJQYXNzfSkge1xuICAgIGNvbnN0IGJhY2tncm91bmQgPSBsYXllci5pZC5pbmNsdWRlcygncHJpbWFyeS1iYWNrZ3JvdW5kJyk7XG4gICAgaWYgKHJlbmRlclBhc3MgPT09ICdjb2xsaXNpb24nKSB7XG4gICAgICByZXR1cm4gYmFja2dyb3VuZDsgLy8gT25seSBkcmF3IHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiBjb2xsaXNpb24gcGFzc1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIWJhY2tncm91bmQgfHwgKFNIT1dfVEVYVF9CT1JERVIgJiYgdGhpcy5wcm9wcy5nZXRCb3JkZXJXaWR0aCk7IC8vIERvIG5vdCBkcmF3IGJhY2tncm91bmQgbGF5ZXIgaW4gb3RoZXIgcGFzc2VzXG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE8gcmVtb3ZlIG9uY2UgaHR0cHM6Ly9naXRodWIuY29tL3Zpc2dsL2RlY2suZ2wvcHVsbC83NzU3IG91dFxuVGV4dExheWVyLmRlZmF1bHRQcm9wcy5mb250U2V0dGluZ3MgPSB7dHlwZTogJ29iamVjdCcsIHZhbHVlOiB7fSwgb3B0aW9uYWw6IHRydWUsIGNvbXBhcmU6IDF9O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIC4uLlRleHRMYXllci5kZWZhdWx0UHJvcHMsXG4gIGdldFJhZGl1czoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAxfSxcbiAgcmFkaXVzU2NhbGU6IHt0eXBlOiAnbnVtYmVyJywgbWluOiAwLCB2YWx1ZTogMX1cbn07XG5cbmV4cG9ydCBjbGFzcyBQb2ludExhYmVsTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllciB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbiAgY2FsY3VsYXRlUGl4ZWxPZmZzZXQoc2Vjb25kYXJ5KSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dEFuY2hvcjogYW5jaG9yLFxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6IGFsaWdubWVudCxcbiAgICAgIGdldFJhZGl1cyxcbiAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgc2l6ZVNjYWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeE11bHQgPSBhbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IGFuY2hvciA9PT0gJ3N0YXJ0JyA/IDEgOiAtMTtcbiAgICBjb25zdCB5TXVsdCA9IGFsaWdubWVudCA9PT0gJ2NlbnRlcicgPyAwIDogYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIC8vIFBsYWNlIHNlY29uZGFyeSBsYWJlbCB1bmRlciBtYWluIGxhYmVsIChzcGFjaW5nIDEgLyAzIG1haW4gbGFiZWwgZm9udCBzaXplKVxuICAgIGNvbnN0IHlPZmZzZXQgPSBzZWNvbmRhcnkgPyAoMSArIDEgLyAzKSAqIHNpemVTY2FsZSA6IDA7XG5cbiAgICAvLyBQYWRkaW5nIGJhc2VkIG9uIGZvbnQgc2l6ZSAoZm9udCBzaXplIC8gNClcbiAgICBjb25zdCB4UGFkZGluZyA9IHNpemVTY2FsZSAvIDQ7XG4gICAgY29uc3QgeVBhZGRpbmcgPSBzaXplU2NhbGUgKyAxIC8gNDtcblxuICAgIC8vIFBhZGRpbmcgYmFzZWQgb24gcG9pbnQgcmFkaXVzIChyYWRpdXMvIDQpXG4gICAgY29uc3QgcmFkaXVzUGFkZGluZyA9IDEgKyAxIC8gNDtcblxuICAgIHJldHVybiB0eXBlb2YgZ2V0UmFkaXVzID09PSAnZnVuY3Rpb24nXG4gICAgICA/IGQgPT4ge1xuICAgICAgICAgIGNvbnN0IHIgPSAoZCA/IGdldFJhZGl1cyhkKSA6IDEpICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nO1xuICAgICAgICAgIHJldHVybiBbeE11bHQgKiAociArIHhQYWRkaW5nKSwgeU11bHQgKiAociArIHlQYWRkaW5nKSArIHlPZmZzZXRdO1xuICAgICAgICB9XG4gICAgICA6IFtcbiAgICAgICAgICB4TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB4UGFkZGluZyksXG4gICAgICAgICAgeU11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeVBhZGRpbmcpICsgeU9mZnNldFxuICAgICAgICBdO1xuICB9XG5cbiAgY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmcoZ2V0UGl4ZWxPZmZzZXQpIHtcbiAgICBjb25zdCB7Z2V0VGV4dEFuY2hvcjogYW5jaG9yLCBnZXRBbGlnbm1lbnRCYXNlbGluZTogYWxpZ25tZW50LCBzaXplU2NhbGV9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIEhldXJpc3RpY3MgdG8gYXZvaWQgbGFiZWwgb3ZlcmxhcCAoc2hvdWxkIHdlIGJhc2UgdGhpcyBvbiB0aGUgdGV4dCBsZW5ndGg/KVxuICAgIGNvbnN0IHBhZGRpbmdYID0gMTIgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgcGFkZGluZ1kgPSAzICogc2l6ZVNjYWxlO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gWzAsIDAsIDAsIDBdO1xuICAgIGlmIChhbGlnbm1lbnQgPT09ICd0b3AnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdID0gcGFkZGluZ1k7XG4gICAgfSBlbHNlIGlmIChhbGlnbm1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dID0gcGFkZGluZ1k7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSAwLjUgKiBwYWRkaW5nWTtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSAwLjUgKiBwYWRkaW5nWTtcbiAgICB9XG4gICAgaWYgKGFuY2hvciA9PT0gJ3N0YXJ0Jykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gPSBwYWRkaW5nWDtcbiAgICB9IGVsc2UgaWYgKGFuY2hvciA9PT0gJ2VuZCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IDAuNSAqIHBhZGRpbmdYO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgfVxuXG4gICAgLy8gRm9yIGdldFJhZGl1cyBmdW5jdGlvbiwgaW52b2tlIHdpdGhvdXQgZGF0YSwgYXMgdGhlcmUgaXMgbm8gYmFja2dyb3VuZFBhZGRpbmcgYWNjZXNzb3JcbiAgICBjb25zdCBwaXhlbE9mZnNldCA9IEFycmF5LmlzQXJyYXkoZ2V0UGl4ZWxPZmZzZXQpID8gZ2V0UGl4ZWxPZmZzZXQgOiBnZXRQaXhlbE9mZnNldCgpO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdICs9IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSAtPSBwaXhlbE9mZnNldFswXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdICs9IHBpeGVsT2Zmc2V0WzFdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gLT0gcGl4ZWxPZmZzZXRbMV07XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZFBhZGRpbmc7XG4gIH1cblxuICByZW5kZXJUZXh0TGF5ZXIoaWQsIHByb3BzKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcblxuICAgICAgZm9udEZhbWlseSxcbiAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgIGZvbnRXZWlnaHQsXG4gICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICBzaXplU2NhbGUsXG5cbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgZ2V0Q29sb3IsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gbmV3IEVuaGFuY2VkVGV4dExheWVyKFxuICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGRhdGE6IGRhdGEsXG5cbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgICBmb250V2VpZ2h0LFxuICAgICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgICAgc2l6ZVNjYWxlLFxuXG4gICAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICBnZXRDb2xvcixcbiAgICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICAgIH0pLFxuICAgICAge1xuICAgICAgICBnZXRTaXplOiAxXG4gICAgICB9LFxuICAgICAgLy8gREVCVUdcbiAgICAgIFNIT1dfVEVYVF9CT1JERVJcbiAgICAgICAgPyB7Z2V0QmFja2dyb3VuZENvbG9yOiBbMCwgMCwgMCwgMF0sIGdldEJvcmRlckNvbG9yOiBbMjU1LCAwLCAwLCA4MF0sIGdldEJvcmRlcldpZHRoOiAxfVxuICAgICAgICA6IHt9LFxuICAgICAgcHJvcHNcbiAgICApO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHQsXG4gICAgICBnZXRTZWNvbmRhcnlDb2xvcixcbiAgICAgIGdldFNlY29uZGFyeVRleHQsXG4gICAgICBzZWNvbmRhcnlPdXRsaW5lQ29sb3IsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldChmYWxzZSk7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSB0aGlzLmNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KTtcbiAgICBjb25zdCBvdXQgPSBbXG4gICAgICB0aGlzLnJlbmRlclRleHRMYXllcigncHJpbWFyeScsIHtcbiAgICAgICAgYmFja2dyb3VuZFBhZGRpbmcsXG4gICAgICAgIGdldFRleHQsXG4gICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cnVlIC8vIE9ubHkgdXNlIGJhY2tncm91bmQgZm9yIHByaW1hcnkgbGFiZWwgZm9yIGZhc3RlciBjb2xsaXNpb25zXG4gICAgICB9KSxcbiAgICAgIGdldFNlY29uZGFyeVRleHQgJiZcbiAgICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3NlY29uZGFyeScsIHtcbiAgICAgICAgICBnZXRUZXh0OiBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0OiB0aGlzLmNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHRydWUpLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=
257
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiciIsImdldFBpeGVsT2Zmc2V0IiwicGFkZGluZ1giLCJwYWRkaW5nWSIsImJhY2tncm91bmRQYWRkaW5nIiwicGl4ZWxPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFNpemUiLCJnZXRCYWNrZ3JvdW5kQ29sb3IiLCJnZXRCb3JkZXJDb2xvciIsImdldFRleHQiLCJnZXRTZWNvbmRhcnlDb2xvciIsInNlY29uZGFyeU91dGxpbmVDb2xvciIsImNhbGN1bGF0ZVBpeGVsT2Zmc2V0IiwiY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmciLCJvdXQiLCJyZW5kZXJUZXh0TGF5ZXIiLCJDb21wb3NpdGVMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUss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YixVQUFNUixjQUFjLEdBQUcsS0FBS3dCLG9CQUFMLENBQTBCLEtBQTFCLENBQXZCO0FBQ0EsVUFBTXJCLGlCQUFpQixHQUFHLEtBQUtzQiwwQkFBTCxDQUFnQ3pCLGNBQWhDLENBQTFCO0FBQ0EsVUFBTTBCLEdBQUcsR0FBRyxDQUNWLEtBQUtDLGVBQUwsQ0FBcUIsU0FBckIsRUFBZ0M7QUFDOUJ4QixRQUFBQSxpQkFBaUIsRUFBakJBLGlCQUQ4QjtBQUU5QmtCLFFBQUFBLE9BQU8sRUFBUEEsT0FGOEI7QUFHOUJyQixRQUFBQSxjQUFjLEVBQWRBLGNBSDhCO0FBSTlCakMsUUFBQUEsVUFBVSxFQUFFLElBSmtCLENBSWI7O0FBSmEsT0FBaEMsQ0FEVSxFQU9WcUIsZ0JBQWdCLElBQ2QsS0FBS3VDLGVBQUwsQ0FBcUIsV0FBckI7QUFDRU4sUUFBQUEsT0FBTyxFQUFFakMsZ0JBRFg7QUFFRVksUUFBQUEsY0FBYyxFQUFFLEtBQUt3QixvQkFBTCxDQUEwQixJQUExQixDQUZsQjtBQUdFckMsUUFBQUEsb0JBQW9CLEVBQUUsS0FIeEI7QUFJRXFCLFFBQUFBLGNBQWMsRUFBRTtBQUFDYSxVQUFBQSxPQUFPLEVBQUViLGNBQWMsQ0FBQ3BCO0FBQXpCO0FBSmxCLFNBT01rQyxpQkFBaUIsSUFBSTtBQUFDUCxRQUFBQSxRQUFRLEVBQUVPO0FBQVgsT0FQM0IsR0FRTWpDLGtCQUFrQixJQUFJO0FBQUNDLFFBQUFBLFNBQVMsRUFBRUQ7QUFBWixPQVI1QixHQVNNa0MscUJBQXFCLElBQUk7QUFBQ1YsUUFBQUEsWUFBWSxFQUFFVTtBQUFmLE9BVC9CLEVBUlEsQ0FBWjtBQXFCQSxhQUFPRyxHQUFQO0FBQ0Q7OztFQTlLa0NFLG9COzs7aUNBQXhCOUMsZSxrQkFDV1QsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9zaXRlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtUZXh0TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbi8vIFRPRE8gcmVtb3ZlIHByaW9yIHRvIHJlbGVhc2VcbmNvbnN0IFNIT1dfVEVYVF9CT1JERVIgPSBmYWxzZTtcblxuY29uc3QgW0xFRlQsIFRPUCwgUklHSFQsIEJPVFRPTV0gPSBbMCwgMSwgMiwgM107XG5jbGFzcyBFbmhhbmNlZFRleHRMYXllciBleHRlbmRzIFRleHRMYXllciB7XG4gIGZpbHRlclN1YkxheWVyKHtsYXllciwgcmVuZGVyUGFzc30pIHtcbiAgICBjb25zdCBiYWNrZ3JvdW5kID0gbGF5ZXIuaWQuaW5jbHVkZXMoJ3ByaW1hcnktYmFja2dyb3VuZCcpO1xuICAgIGlmIChyZW5kZXJQYXNzID09PSAnY29sbGlzaW9uJykge1xuICAgICAgcmV0dXJuIGJhY2tncm91bmQ7IC8vIE9ubHkgZHJhdyBwcmltYXJ5IGJhY2tncm91bmQgbGF5ZXIgaW4gY29sbGlzaW9uIHBhc3NcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICFiYWNrZ3JvdW5kIHx8IChTSE9XX1RFWFRfQk9SREVSICYmIHRoaXMucHJvcHMuZ2V0Qm9yZGVyV2lkdGgpOyAvLyBEbyBub3QgZHJhdyBiYWNrZ3JvdW5kIGxheWVyIGluIG90aGVyIHBhc3Nlc1xuICAgIH1cbiAgfVxufVxuXG4vLyBUT0RPIHJlbW92ZSBvbmNlIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL3B1bGwvNzc1NyBvdXRcblRleHRMYXllci5kZWZhdWx0UHJvcHMuZm9udFNldHRpbmdzID0ge3R5cGU6ICdvYmplY3QnLCB2YWx1ZToge30sIG9wdGlvbmFsOiB0cnVlLCBjb21wYXJlOiAxfTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAuLi5UZXh0TGF5ZXIuZGVmYXVsdFByb3BzLFxuICBnZXRSYWRpdXM6IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogMX0sXG4gIHJhZGl1c1NjYWxlOiB7dHlwZTogJ251bWJlcicsIG1pbjogMCwgdmFsdWU6IDF9XG59O1xuXG5leHBvcnQgY2xhc3MgUG9pbnRMYWJlbExheWVyIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXIge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG4gIGNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHNlY29uZGFyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHRBbmNob3I6IGFuY2hvcixcbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsXG4gICAgICBnZXRSYWRpdXMsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICBzaXplU2NhbGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB4TXVsdCA9IGFuY2hvciA9PT0gJ21pZGRsZScgPyAwIDogYW5jaG9yID09PSAnc3RhcnQnID8gMSA6IC0xO1xuICAgIGNvbnN0IHlNdWx0ID0gYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiBhbGlnbm1lbnQgPT09ICdib3R0b20nID8gMSA6IC0xO1xuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBmb250IHNpemUgKGZvbnQgc2l6ZSAvIDQpXG4gICAgY29uc3QgeFBhZGRpbmcgPSBzaXplU2NhbGUgLyA0O1xuICAgIGNvbnN0IHlQYWRkaW5nID0gc2l6ZVNjYWxlICogKDEgKyAxIC8gNCk7XG5cbiAgICAvLyBQbGFjZSBzZWNvbmRhcnkgbGFiZWwgdW5kZXIgbWFpbiBsYWJlbCAoc2Vjb25kYXJ5IGxhYmVsIGFsd2F5cyAndG9wJyBiYXNlbGluZSBhbGlnbmVkKVxuICAgIGNvbnN0IHNlY29uZGFyeU9mZnNldCA9IDAuNiAqICgxIC0geU11bHQpICogc2l6ZVNjYWxlO1xuICAgIGxldCB5T2Zmc2V0ID0gc2Vjb25kYXJ5ID8gc2Vjb25kYXJ5T2Zmc2V0IDogMDtcblxuICAgIC8vIFNwZWNpYWwgY2FzZSwgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2Vjb25kYXJ5IGxhYmVsXG4gICAgaWYgKGFuY2hvciA9PT0gJ21pZGRsZScgJiYgYWxpZ25tZW50ID09PSAndG9wJyAmJiBnZXRTZWNvbmRhcnlUZXh0KSB7XG4gICAgICB5T2Zmc2V0IC09IHNlY29uZGFyeU9mZnNldDtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5U2l6ZVNjYWxlO1xuICAgICAgeU9mZnNldCArPSBzaXplU2NhbGU7XG4gICAgfVxuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBwb2ludCByYWRpdXMgKHJhZGl1cy8gNClcbiAgICBjb25zdCByYWRpdXNQYWRkaW5nID0gMSArIDEgLyA0O1xuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYWRpdXMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gZCA9PiB7XG4gICAgICAgICAgY29uc3QgciA9IChkID8gZ2V0UmFkaXVzKGQpIDogMSkgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmc7XG4gICAgICAgICAgcmV0dXJuIFt4TXVsdCAqIChyICsgeFBhZGRpbmcpLCB5TXVsdCAqIChyICsgeVBhZGRpbmcpICsgeU9mZnNldF07XG4gICAgICAgIH1cbiAgICAgIDogW1xuICAgICAgICAgIHhNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHhQYWRkaW5nKSxcbiAgICAgICAgICB5TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB5UGFkZGluZykgKyB5T2Zmc2V0XG4gICAgICAgIF07XG4gIH1cblxuICBjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCkge1xuICAgIGNvbnN0IHtnZXRUZXh0QW5jaG9yOiBhbmNob3IsIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICAvLyBGb3IgZ2V0UmFkaXVzIGZ1bmN0aW9uLCBpbnZva2Ugd2l0aG91dCBkYXRhLCBhcyB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kUGFkZGluZyBhY2Nlc3NvclxuICAgIGNvbnN0IHBpeGVsT2Zmc2V0ID0gQXJyYXkuaXNBcnJheShnZXRQaXhlbE9mZnNldCkgPyBnZXRQaXhlbE9mZnNldCA6IGdldFBpeGVsT2Zmc2V0KCk7XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gKz0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdIC09IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gKz0gcGl4ZWxPZmZzZXRbMV07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSAtPSBwaXhlbE9mZnNldFsxXTtcblxuICAgIHJldHVybiBiYWNrZ3JvdW5kUGFkZGluZztcbiAgfVxuXG4gIHJlbmRlclRleHRMYXllcihpZCwge3VwZGF0ZVRyaWdnZXJzOiB1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlLCAuLi5wcm9wc30pIHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhLFxuXG4gICAgICBjaGFyYWN0ZXJTZXQsXG4gICAgICBmb250RmFtaWx5LFxuICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgZm9udFdlaWdodCxcbiAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgIHNpemVTY2FsZSxcbiAgICAgIHJhZGl1c1NjYWxlLFxuXG4gICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgIGdldENvbG9yLFxuICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICBnZXRUZXh0QW5jaG9yLFxuXG4gICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIG5ldyBFbmhhbmNlZFRleHRMYXllcihcbiAgICAgIHRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgIGlkLFxuICAgICAgICBkYXRhOiBkYXRhLFxuXG4gICAgICAgIGNoYXJhY3RlclNldCxcbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgICBmb250V2VpZ2h0LFxuICAgICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgICAgc2l6ZVNjYWxlLFxuXG4gICAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICBnZXRDb2xvcixcbiAgICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtcbiAgICAgICAgICAuLi51cGRhdGVUcmlnZ2VycyxcbiAgICAgICAgICAuLi51cGRhdGVUcmlnZ2Vyc092ZXJyaWRlLFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0OiBbXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRSYWRpdXMsXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRUZXh0QW5jaG9yLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgICAgICByYWRpdXNTY2FsZSxcbiAgICAgICAgICAgIHNpemVTY2FsZVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIGdldFNpemU6IDFcbiAgICAgIH0sXG4gICAgICAvLyBERUJVR1xuICAgICAgU0hPV19URVhUX0JPUkRFUlxuICAgICAgICA/IHtnZXRCYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAwLCAwXSwgZ2V0Qm9yZGVyQ29sb3I6IFsyNTUsIDAsIDAsIDgwXSwgZ2V0Qm9yZGVyV2lkdGg6IDF9XG4gICAgICAgIDoge30sXG4gICAgICBwcm9wc1xuICAgICk7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dCxcbiAgICAgIGdldFNlY29uZGFyeUNvbG9yLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHNlY29uZGFyeU91dGxpbmVDb2xvcixcbiAgICAgIHNlY29uZGFyeVNpemVTY2FsZSxcbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZ2V0UGl4ZWxPZmZzZXQgPSB0aGlzLmNhbGN1bGF0ZVBpeGVsT2Zmc2V0KGZhbHNlKTtcbiAgICBjb25zdCBiYWNrZ3JvdW5kUGFkZGluZyA9IHRoaXMuY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmcoZ2V0UGl4ZWxPZmZzZXQpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdwcmltYXJ5Jywge1xuICAgICAgICBiYWNrZ3JvdW5kUGFkZGluZyxcbiAgICAgICAgZ2V0VGV4dCxcbiAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgIGJhY2tncm91bmQ6IHRydWUgLy8gT25seSB1c2UgYmFja2dyb3VuZCBmb3IgcHJpbWFyeSBsYWJlbCBmb3IgZmFzdGVyIGNvbGxpc2lvbnNcbiAgICAgIH0pLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCAmJlxuICAgICAgICB0aGlzLnJlbmRlclRleHRMYXllcignc2Vjb25kYXJ5Jywge1xuICAgICAgICAgIGdldFRleHQ6IGdldFNlY29uZGFyeVRleHQsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQodHJ1ZSksXG4gICAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6ICd0b3AnLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=