decap-cms-core 3.2.0 → 3.2.2
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.
- package/dist/decap-cms-core.js +2 -2
- package/dist/decap-cms-core.js.map +1 -1
- package/dist/esm/bootstrap.js +2 -2
- package/dist/esm/components/Editor/EditorToolbar.js +32 -31
- package/dist/esm/components/UI/ErrorBoundary.js +2 -2
- package/package.json +7 -7
- package/src/components/Editor/EditorToolbar.js +1 -0
- package/src/components/Editor/__tests__/__snapshots__/EditorToolbar.spec.js.snap +15 -15
|
@@ -26,7 +26,7 @@ const styles = {
|
|
|
26
26
|
} : {
|
|
27
27
|
name: "1ven8wv-noOverflow",
|
|
28
28
|
styles: "overflow:hidden;white-space:nowrap;text-overflow:ellipsis;;label:noOverflow;",
|
|
29
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCaUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
29
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCaUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
30
30
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
31
|
},
|
|
32
32
|
buttonMargin: process.env.NODE_ENV === "production" ? {
|
|
@@ -35,11 +35,11 @@ const styles = {
|
|
|
35
35
|
} : {
|
|
36
36
|
name: "1yqtsv2-buttonMargin",
|
|
37
37
|
styles: "margin:0 10px;;label:buttonMargin;",
|
|
38
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
38
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
39
39
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
40
40
|
},
|
|
41
|
-
toolbarSection: /*#__PURE__*/(0, _core.css)("height:100%;display:flex;align-items:center;border:0 solid ", _decapCmsUiDefault.colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */")),
|
|
42
|
-
publishedButton: /*#__PURE__*/(0, _core.css)("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"))
|
|
41
|
+
toolbarSection: /*#__PURE__*/(0, _core.css)("height:100%;display:flex;align-items:center;border:0 solid ", _decapCmsUiDefault.colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */")),
|
|
42
|
+
publishedButton: /*#__PURE__*/(0, _core.css)("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"))
|
|
43
43
|
};
|
|
44
44
|
const TooltipText = (0, _styledBase.default)("div", {
|
|
45
45
|
target: "e1d2l9mo0",
|
|
@@ -50,13 +50,13 @@ const TooltipText = (0, _styledBase.default)("div", {
|
|
|
50
50
|
} : {
|
|
51
51
|
name: "198q1ye",
|
|
52
52
|
styles: "visibility:hidden;width:321px;background-color:#555;color:#fff;text-align:unset;border-radius:6px;padding:5px;position:absolute;z-index:1;top:145%;left:50%;margin-left:-320px;opacity:0;transition:opacity 0.3s;",
|
|
53
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDOEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
53
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDOEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
54
54
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
55
55
|
});
|
|
56
56
|
const Tooltip = (0, _styledBase.default)("div", {
|
|
57
57
|
target: "e1d2l9mo1",
|
|
58
58
|
label: "Tooltip"
|
|
59
|
-
})("position:relative;display:inline-block;&:hover + ", TooltipText, "{visibility:visible;opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFMEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
59
|
+
})("position:relative;display:inline-block;&:hover + ", TooltipText, "{visibility:visible;opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFMEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
60
60
|
const TooltipContainer = (0, _styledBase.default)("div", {
|
|
61
61
|
target: "e1d2l9mo2",
|
|
62
62
|
label: "TooltipContainer"
|
|
@@ -66,21 +66,21 @@ const TooltipContainer = (0, _styledBase.default)("div", {
|
|
|
66
66
|
} : {
|
|
67
67
|
name: "79elbk",
|
|
68
68
|
styles: "position:relative;",
|
|
69
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
69
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
70
70
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
71
71
|
});
|
|
72
72
|
const DropdownButton = ( /*#__PURE__*/0, _styledBase.default)(_decapCmsUiDefault.StyledDropdownButton, {
|
|
73
73
|
target: "e1d2l9mo3",
|
|
74
74
|
label: "DropdownButton"
|
|
75
|
-
})(styles.noOverflow, " @media (max-width:1200px){padding-left:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZFbUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
75
|
+
})(styles.noOverflow, " @media (max-width:1200px){padding-left:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZFbUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
76
76
|
const ToolbarContainer = (0, _styledBase.default)("div", {
|
|
77
77
|
target: "e1d2l9mo4",
|
|
78
78
|
label: "ToolbarContainer"
|
|
79
|
-
})("box-shadow:0 2px 6px 0 rgba(68,74,87,0.05),0 1px 3px 0 rgba(68,74,87,0.1),0 2px 54px rgba(0,0,0,0.1);position:fixed;top:0;left:0;width:100%;min-width:800px;z-index:", _decapCmsUiDefault.zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
79
|
+
})("box-shadow:0 2px 6px 0 rgba(68,74,87,0.05),0 1px 3px 0 rgba(68,74,87,0.1),0 2px 54px rgba(0,0,0,0.1);position:fixed;top:0;left:0;width:100%;min-width:800px;z-index:", _decapCmsUiDefault.zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
80
80
|
const ToolbarSectionMain = (0, _styledBase.default)("div", {
|
|
81
81
|
target: "e1d2l9mo5",
|
|
82
82
|
label: "ToolbarSectionMain"
|
|
83
|
-
})(styles.toolbarSection, ";flex:10;display:flex;justify-content:space-between;padding:0 10px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1HcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
83
|
+
})(styles.toolbarSection, ";flex:10;display:flex;justify-content:space-between;padding:0 10px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1HcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
84
84
|
const ToolbarSubSectionFirst = (0, _styledBase.default)("div", {
|
|
85
85
|
target: "e1d2l9mo6",
|
|
86
86
|
label: "ToolbarSubSectionFirst"
|
|
@@ -90,7 +90,7 @@ const ToolbarSubSectionFirst = (0, _styledBase.default)("div", {
|
|
|
90
90
|
} : {
|
|
91
91
|
name: "70qvj9",
|
|
92
92
|
styles: "display:flex;align-items:center;",
|
|
93
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
93
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
94
94
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
95
95
|
});
|
|
96
96
|
const ToolbarSubSectionLast = ( /*#__PURE__*/0, _styledBase.default)(ToolbarSubSectionFirst, {
|
|
@@ -102,29 +102,29 @@ const ToolbarSubSectionLast = ( /*#__PURE__*/0, _styledBase.default)(ToolbarSubS
|
|
|
102
102
|
} : {
|
|
103
103
|
name: "1a9getn",
|
|
104
104
|
styles: "justify-content:flex-end;",
|
|
105
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdINEQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
105
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdINEQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
106
106
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
107
107
|
});
|
|
108
108
|
const ToolbarSectionBackLink = ( /*#__PURE__*/0, _styledBase.default)(_reactRouterDom.Link, {
|
|
109
109
|
target: "e1d2l9mo8",
|
|
110
110
|
label: "ToolbarSectionBackLink"
|
|
111
|
-
})(styles.toolbarSection, ";border-right-width:1px;font-weight:normal;padding:0 20px;&:hover,&:focus{background-color:#f1f2f4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
111
|
+
})(styles.toolbarSection, ";border-right-width:1px;font-weight:normal;padding:0 20px;&:hover,&:focus{background-color:#f1f2f4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
112
112
|
const ToolbarSectionMeta = (0, _styledBase.default)("div", {
|
|
113
113
|
target: "e1d2l9mo9",
|
|
114
114
|
label: "ToolbarSectionMeta"
|
|
115
|
-
})(styles.toolbarSection, ";border-left-width:1px;padding:0 7px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdJcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
115
|
+
})(styles.toolbarSection, ";border-left-width:1px;padding:0 7px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdJcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
116
116
|
const ToolbarDropdown = ( /*#__PURE__*/0, _styledBase.default)(_decapCmsUiDefault.Dropdown, {
|
|
117
117
|
target: "e1d2l9mo10",
|
|
118
118
|
label: "ToolbarDropdown"
|
|
119
|
-
})(styles.buttonMargin, ";", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
119
|
+
})(styles.buttonMargin, ";", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
120
120
|
const BackArrow = (0, _styledBase.default)("div", {
|
|
121
121
|
target: "e1d2l9mo11",
|
|
122
122
|
label: "BackArrow"
|
|
123
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
123
|
+
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
124
124
|
const BackCollection = (0, _styledBase.default)("div", {
|
|
125
125
|
target: "e1d2l9mo12",
|
|
126
126
|
label: "BackCollection"
|
|
127
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
127
|
+
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
128
128
|
const BackStatus = (0, _styledBase.default)("div", {
|
|
129
129
|
target: "e1d2l9mo13",
|
|
130
130
|
label: "BackStatus"
|
|
@@ -134,53 +134,53 @@ const BackStatus = (0, _styledBase.default)("div", {
|
|
|
134
134
|
} : {
|
|
135
135
|
name: "19ug521",
|
|
136
136
|
styles: "margin-top:6px;",
|
|
137
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBKNkIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
137
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBKNkIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
138
138
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
139
139
|
});
|
|
140
140
|
const BackStatusUnchanged = ( /*#__PURE__*/0, _styledBase.default)(BackStatus, {
|
|
141
141
|
target: "e1d2l9mo14",
|
|
142
142
|
label: "BackStatusUnchanged"
|
|
143
|
-
})(_decapCmsUiDefault.components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
143
|
+
})(_decapCmsUiDefault.components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
144
144
|
const BackStatusChanged = ( /*#__PURE__*/0, _styledBase.default)(BackStatus, {
|
|
145
145
|
target: "e1d2l9mo15",
|
|
146
146
|
label: "BackStatusChanged"
|
|
147
|
-
})(_decapCmsUiDefault.components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
147
|
+
})(_decapCmsUiDefault.components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
148
148
|
const ToolbarButton = (0, _styledBase.default)("button", {
|
|
149
149
|
target: "e1d2l9mo16",
|
|
150
150
|
label: "ToolbarButton"
|
|
151
|
-
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width:1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
151
|
+
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width:1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
152
152
|
const DeleteButton = ( /*#__PURE__*/0, _styledBase.default)(ToolbarButton, {
|
|
153
153
|
target: "e1d2l9mo17",
|
|
154
154
|
label: "DeleteButton"
|
|
155
|
-
})(_decapCmsUiDefault.buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
155
|
+
})(_decapCmsUiDefault.buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
156
156
|
const SaveButton = ( /*#__PURE__*/0, _styledBase.default)(ToolbarButton, {
|
|
157
157
|
target: "e1d2l9mo18",
|
|
158
158
|
label: "SaveButton"
|
|
159
|
-
})(_decapCmsUiDefault.buttons.lightBlue, ";&[disabled]{", _decapCmsUiDefault.buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
159
|
+
})(_decapCmsUiDefault.buttons.lightBlue, ";&[disabled]{", _decapCmsUiDefault.buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
160
160
|
const PublishedToolbarButton = ( /*#__PURE__*/0, _styledBase.default)(DropdownButton, {
|
|
161
161
|
target: "e1d2l9mo19",
|
|
162
162
|
label: "PublishedToolbarButton"
|
|
163
|
-
})(styles.publishedButton, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZMcUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */");
|
|
163
|
+
})(styles.publishedButton, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZMcUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */");
|
|
164
164
|
const PublishedButton = ( /*#__PURE__*/0, _styledBase.default)(ToolbarButton, {
|
|
165
165
|
target: "e1d2l9mo20",
|
|
166
166
|
label: "PublishedButton"
|
|
167
|
-
})(styles.publishedButton, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNNkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */");
|
|
167
|
+
})(styles.publishedButton, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNNkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */");
|
|
168
168
|
const PublishButton = ( /*#__PURE__*/0, _styledBase.default)(DropdownButton, {
|
|
169
169
|
target: "e1d2l9mo21",
|
|
170
170
|
label: "PublishButton"
|
|
171
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
171
|
+
})("background-color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
172
172
|
const StatusButton = ( /*#__PURE__*/0, _styledBase.default)(DropdownButton, {
|
|
173
173
|
target: "e1d2l9mo22",
|
|
174
174
|
label: "StatusButton"
|
|
175
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
175
|
+
})("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
176
176
|
const PreviewButtonContainer = (0, _styledBase.default)("div", {
|
|
177
177
|
target: "e1d2l9mo23",
|
|
178
178
|
label: "PreviewButtonContainer"
|
|
179
|
-
})("margin-right:12px;color:", _decapCmsUiDefault.colorsRaw.blue, ";display:flex;align-items:center;a,", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.blue, ";}", _decapCmsUiDefault.Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
179
|
+
})("margin-right:12px;color:", _decapCmsUiDefault.colorsRaw.blue, ";display:flex;align-items:center;a,", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.blue, ";}", _decapCmsUiDefault.Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
180
180
|
const RefreshPreviewButton = (0, _styledBase.default)("button", {
|
|
181
181
|
target: "e1d2l9mo24",
|
|
182
182
|
label: "RefreshPreviewButton"
|
|
183
|
-
})("background:none;border:0;cursor:pointer;color:", _decapCmsUiDefault.colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
183
|
+
})("background:none;border:0;cursor:pointer;color:", _decapCmsUiDefault.colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
184
184
|
const PreviewLink = RefreshPreviewButton.withComponent('a', {
|
|
185
185
|
target: "e1d2l9mo27",
|
|
186
186
|
label: "PreviewLink"
|
|
@@ -194,13 +194,13 @@ const PublishDropDownItem = ( /*#__PURE__*/0, _styledBase.default)(_decapCmsUiDe
|
|
|
194
194
|
} : {
|
|
195
195
|
name: "12k1a1h",
|
|
196
196
|
styles: "min-width:initial;",
|
|
197
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRPZ0QiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */",
|
|
197
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRPZ0QiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
198
198
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
199
199
|
});
|
|
200
200
|
const StatusDropdownItem = ( /*#__PURE__*/0, _styledBase.default)(_decapCmsUiDefault.DropdownItem, {
|
|
201
201
|
target: "e1d2l9mo26",
|
|
202
202
|
label: "StatusDropdownItem"
|
|
203
|
-
})(_decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCksXG4gICAgICAgICAgICB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSksXG4gICAgICAgICAgXVxuICAgICAgICA6ICFpc05ld0VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5yZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSxcbiAgICAgICghc2hvd0RlbGV0ZSB8fCB1c2VPcGVuQXV0aG9yaW5nKSAmJiAhaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiA/IG51bGwgOiAoXG4gICAgICAgIDxEZWxldGVCdXR0b25cbiAgICAgICAgICBrZXk9XCJkZWxldGUtYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXtoYXNVbnB1Ymxpc2hlZENoYW5nZXMgPyBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyA6IG9uRGVsZXRlfVxuICAgICAgICA+XG4gICAgICAgICAge2lzRGVsZXRpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGluZycpIDogZGVsZXRlTGFiZWx9XG4gICAgICAgIDwvRGVsZXRlQnV0dG9uPlxuICAgICAgKSxcbiAgICBdO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFN0YXR1cywgaXNOZXdFbnRyeSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjdXJyZW50U3RhdHVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95UHJldmlld0J1dHRvbkxhYmVsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggY29udHJvbCBmb3IgcHVibGlzaGVkIHdvcmtmbG93IGVudHJ5LlxuICAgICAqL1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzKHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveUJ1dHRvbkxhYmVsJykpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlcixcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBkaXNwbGF5VXJsLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGhhc1dvcmtmbG93LFxuICAgICAgb25Mb2dvdXRDbGljayxcbiAgICAgIHQsXG4gICAgICBlZGl0b3JCYWNrTGluayxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbGJhckNvbnRhaW5lcj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgdG89e2VkaXRvckJhY2tMaW5rfT5cbiAgICAgICAgICA8QmFja0Fycm93PuKGkDwvQmFja0Fycm93PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICAgIHt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5iYWNrQ29sbGVjdGlvbicsIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTGFiZWw6IGNvbGxlY3Rpb24uZ2V0KCdsYWJlbCcpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvQmFja0NvbGxlY3Rpb24+XG4gICAgICAgICAgICB7aGFzQ2hhbmdlZCA/IChcbiAgICAgICAgICAgICAgPEJhY2tTdGF0dXNDaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnNhdmVkQ2hhbmdlcycpfTwvQmFja1N0YXR1c0NoYW5nZWQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c1VuY2hhbmdlZD57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuY2hhbmdlc1NhdmVkJyl9PC9CYWNrU3RhdHVzVW5jaGFuZ2VkPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sYmFyU2VjdGlvbkJhY2tMaW5rPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gdGhpcy5yZW5kZXJXb3JrZmxvd0NvbnRyb2xzKCkgOiB0aGlzLnJlbmRlclNpbXBsZUNvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkZpcnN0PlxuICAgICAgICAgIDxUb29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3dcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlcldvcmtmbG93RGVwbG95UHJldmlld0NvbnRyb2xzKClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scygpfVxuICAgICAgICAgIDwvVG9vbGJhclN1YlNlY3Rpb25MYXN0PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWFpbj5cbiAgICAgICAgPFRvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgICAgICA8U2V0dGluZ3NEcm9wZG93blxuICAgICAgICAgICAgZGlzcGxheVVybD17ZGlzcGxheVVybH1cbiAgICAgICAgICAgIGltYWdlVXJsPXt1c2VyPy5hdmF0YXJfdXJsfVxuICAgICAgICAgICAgb25Mb2dvdXRDbGljaz17b25Mb2dvdXRDbGlja31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uTWV0YT5cbiAgICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRyYW5zbGF0ZSgpKEVkaXRvclRvb2xiYXIpO1xuIl19 */"));
|
|
203
|
+
})(_decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ3JlYWN0LXBvbHlnbG90JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIEljb24sXG4gIERyb3Bkb3duLFxuICBEcm9wZG93bkl0ZW0sXG4gIFN0eWxlZERyb3Bkb3duQnV0dG9uLFxuICBjb2xvcnNSYXcsXG4gIGNvbG9ycyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgekluZGV4LFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmltcG9ydCB7IHN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NEcm9wZG93biB9IGZyb20gJy4uL1VJJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBub092ZXJmbG93OiBjc3NgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBgLFxuICBidXR0b25NYXJnaW46IGNzc2BcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgYCxcbiAgdG9vbGJhclNlY3Rpb246IGNzc2BcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMCBzb2xpZCAke2NvbG9ycy50ZXh0RmllbGRCb3JkZXJ9O1xuICBgLFxuICBwdWJsaXNoZWRCdXR0b246IGNzc2BcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICAgIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsRGFya307XG4gIGAsXG59O1xuXG5jb25zdCBUb29sdGlwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMyMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuXG4gIC8qIFBvc2l0aW9uIHRoZSB0b29sdGlwIHRleHQgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDE0NSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcblxuICAvKiBGYWRlIGluIHRvb2x0aXAgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuYDtcblxuY29uc3QgVG9vbHRpcCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmhvdmVyICsgJHtUb29sdGlwVGV4dH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBUb29sdGlwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CdXR0b24gPSBzdHlsZWQoU3R5bGVkRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5ub092ZXJmbG93fVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjA1KSwgMCAxcHggM3B4IDAgcmdiYSg2OCwgNzQsIDg3LCAwLjEpLFxuICAgIDAgMnB4IDU0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6ICR7ekluZGV4LnpJbmRleDMwMH07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NYWluID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBmbGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkZpcnN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTdWJTZWN0aW9uTGFzdCA9IHN0eWxlZChUb29sYmFyU3ViU2VjdGlvbkZpcnN0KWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uQmFja0xpbmsgPSBzdHlsZWQoTGluaylgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbk1ldGEgPSBzdHlsZWQuZGl2YFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuYDtcblxuY29uc3QgVG9vbGJhckRyb3Bkb3duID0gc3R5bGVkKERyb3Bkb3duKWBcbiAgJHtzdHlsZXMuYnV0dG9uTWFyZ2lufTtcblxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG4gIH1cbmA7XG5cbmNvbnN0IEJhY2tBcnJvdyA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0TGVhZH07XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuYDtcblxuY29uc3QgQmFja0NvbGxlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5jb25zdCBCYWNrU3RhdHVzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogNnB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c1VuY2hhbmdlZCA9IHN0eWxlZChCYWNrU3RhdHVzKWBcbiAgJHtjb21wb25lbnRzLnRleHRCYWRnZVN1Y2Nlc3N9O1xuYDtcblxuY29uc3QgQmFja1N0YXR1c0NoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VEYW5nZXJ9O1xuYDtcblxuY29uc3QgVG9vbGJhckJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2J1dHRvbnMuZGVmYXVsdH07XG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG4gICR7c3R5bGVzLm5vT3ZlcmZsb3d9O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBEZWxldGVCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7YnV0dG9ucy5saWdodFJlZH07XG5gO1xuXG5jb25zdCBTYXZlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRCbHVlfTtcbiAgJltkaXNhYmxlZF0ge1xuICAgICR7YnV0dG9ucy5kaXNhYmxlZH07XG4gIH1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRCdXR0b24gPSBzdHlsZWQoVG9vbGJhckJ1dHRvbilgXG4gICR7c3R5bGVzLnB1Ymxpc2hlZEJ1dHRvbn1cbmA7XG5cbmNvbnN0IFB1Ymxpc2hCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFN0YXR1c0J1dHRvbiA9IHN0eWxlZChEcm9wZG93bkJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzUmF3LnRlYWxMaWdodH07XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsfTtcbmA7XG5cbmNvbnN0IFByZXZpZXdCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhLFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIH1cblxuICAke0ljb259IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFJlZnJlc2hQcmV2aWV3QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2NvbG9yc1Jhdy5ibHVlfTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuY29uc3QgUHJldmlld0xpbmsgPSBSZWZyZXNoUHJldmlld0J1dHRvbi53aXRoQ29tcG9uZW50KCdhJyk7XG5cbmNvbnN0IFB1Ymxpc2hEcm9wRG93bkl0ZW0gPSBzdHlsZWQoRHJvcGRvd25JdGVtKWBcbiAgbWluLXdpZHRoOiBpbml0aWFsO1xuYDtcblxuY29uc3QgU3RhdHVzRHJvcGRvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gICR7SWNvbn0ge1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmZvVGV4dH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc1BlcnNpc3Rpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzUHVibGlzaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNVcGRhdGluZ1N0YXR1czogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNEZWxldGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25QZXJzaXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUGVyc2lzdEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd0RlbGV0ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZVN0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdW5QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUHVibGlzaEFuZE5ldzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoYXNDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBoYXNXb3JrZmxvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlT3BlbkF1dGhvcmluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VudHJ5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc01vZGlmaWNhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VycmVudFN0YXR1czogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkxvZ291dENsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlcGxveVByZXZpZXc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbG9hZERlcGxveVByZXZpZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3JCYWNrTGluazogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgaXNOZXdFbnRyeSwgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICBsb2FkRGVwbG95UHJldmlldyh7IG1heEF0dGVtcHRzOiAzIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGlzUGVyc2lzdGluZywgbG9hZERlcGxveVByZXZpZXcgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCFpc05ld0VudHJ5ICYmIHByZXZQcm9wcy5pc1BlcnNpc3RpbmcgJiYgIWlzUGVyc2lzdGluZykge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJTaW1wbGVDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNvbGxlY3Rpb24sIGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHNob3dEZWxldGUsIG9uRGVsZXRlLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7IWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWRcbiAgICAgICAgICA/IHRoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KVxuICAgICAgICAgIDogdGhpcy5yZW5kZXJOZXdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSB9KX1cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICAgIDxEZWxldGVCdXR0b24gb25DbGljaz17b25EZWxldGV9Pnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVFbnRyeScpfTwvRGVsZXRlQnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRGVwbG95UHJldmlld0NvbnRyb2xzID0gbGFiZWwgPT4ge1xuICAgIGNvbnN0IHsgZGVwbG95UHJldmlldyA9IHt9LCBsb2FkRGVwbG95UHJldmlldywgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHVybCwgc3RhdHVzLCBpc0ZldGNoaW5nIH0gPSBkZXBsb3lQcmV2aWV3O1xuXG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lQcmV2aWV3UmVhZHkgPSBzdGF0dXMgPT09ICdTVUNDRVNTJyAmJiAhaXNGZXRjaGluZztcbiAgICByZXR1cm4gKFxuICAgICAgPFByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgICAgIHtkZXBsb3lQcmV2aWV3UmVhZHkgPyAoXG4gICAgICAgICAgPFByZXZpZXdMaW5rIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPXt1cmx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDxJY29uIHR5cGU9XCJuZXctdGFiXCIgc2l6ZT1cInhzbWFsbFwiIC8+XG4gICAgICAgICAgPC9QcmV2aWV3TGluaz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UmVmcmVzaFByZXZpZXdCdXR0b24gb25DbGljaz17bG9hZERlcGxveVByZXZpZXd9PlxuICAgICAgICAgICAgPHNwYW4+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlcGxveVByZXZpZXdQZW5kaW5nQnV0dG9uTGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwicmVmcmVzaFwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUmVmcmVzaFByZXZpZXdCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L1ByZXZpZXdCdXR0b25Db250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHQsIGN1cnJlbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb0xvY2FsZUtleSA9IHtcbiAgICAgIFtzdGF0dXMuZ2V0KCdEUkFGVCcpXTogJ3N0YXR1c0luZm9Ub29sdGlwRHJhZnQnLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiAnc3RhdHVzSW5mb1Rvb2x0aXBJblJldmlldycsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXR1c0tleSA9IE9iamVjdC5rZXlzKHN0YXR1c1RvTG9jYWxlS2V5KS5maW5kKGtleSA9PiBrZXkgPT09IGN1cnJlbnRTdGF0dXMpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgPFRvb2x0aXA+XG4gICAgICAgICAgPEljb24gdHlwZT1cImluZm8tY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwidG9vbHRpcFwiIC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3N0YXR1c0tleSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXBUZXh0Pnt0KGBlZGl0b3IuZWRpdG9yVG9vbGJhci4ke3N0YXR1c1RvTG9jYWxlS2V5W3N0YXR1c0tleV19YCl9PC9Ub29sdGlwVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbHRpcENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpc1VwZGF0aW5nU3RhdHVzLCBvbkNoYW5nZVN0YXR1cywgY3VycmVudFN0YXR1cywgdCwgdXNlT3BlbkF1dGhvcmluZyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHN0YXR1c1RvVHJhbnNsYXRpb24gPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19SRVZJRVcnKV06IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3JyksXG4gICAgICBbc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5yZWFkeScpLFxuICAgIH07XG5cbiAgICBjb25zdCBidXR0b25UZXh0ID0gaXNVcGRhdGluZ1N0YXR1c1xuICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51cGRhdGluZycpXG4gICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnN0YXR1cycsIHsgc3RhdHVzOiBzdGF0dXNUb1RyYW5zbGF0aW9uW2N1cnJlbnRTdGF0dXNdIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTIwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gPFN0YXR1c0J1dHRvbj57YnV0dG9uVGV4dH08L1N0YXR1c0J1dHRvbj59XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhdHVzRHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHJhZnQnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdEUkFGVCcpfVxuICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnRFJBRlQnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmluUmV2aWV3Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnUEVORElOR19SRVZJRVcnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nID8gKFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUFVCTElTSCcpfVxuICAgICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1BVQkxJU0gnKSA/ICdjaGVjaycgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICAgICAge3VzZU9wZW5BdXRob3JpbmcgJiYgdGhpcy5yZW5kZXJTdGF0dXNJbmZvVG9vbHRpcCgpfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJOZXdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoIH0pID0+IHtcbiAgICBjb25zdCB7IGlzUHVibGlzaGluZywgb25QdWJsaXNoLCBvblB1Ymxpc2hBbmROZXcsIG9uUHVibGlzaEFuZER1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBjYW5QdWJsaXNoID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjIwMHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICB7aXNQdWJsaXNoaW5nXG4gICAgICAgICAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2h9XG4gICAgICAgIC8+XG4gICAgICAgIHtjYW5DcmVhdGUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmROZXd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFB1Ymxpc2hEcm9wRG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUHVibGlzaEFuZER1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgICcnXG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJFeGlzdGluZ0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2gsIGNhbkRlbGV0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyB1blB1Ymxpc2gsIG9uRHVwbGljYXRlLCBpc1BlcnNpc3RpbmcsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCB8fCBjYW5DcmVhdGUgPyAoXG4gICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgIGRyb3Bkb3duVG9wT3ZlcmxhcD1cIjQwcHhcIlxuICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICBrZXk9XCJ0ZC1wdWJsaXNoLWNyZWF0ZVwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICAgICAge2lzUGVyc2lzdGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVucHVibGlzaGluZycpXG4gICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaGVkJyl9XG4gICAgICAgICAgPC9QdWJsaXNoZWRUb29sYmFyQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2FuRGVsZXRlICYmIGNhblB1Ymxpc2ggJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17dW5QdWJsaXNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjYW5DcmVhdGUgJiYgKFxuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVNpbXBsZVB1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSB9KSA9PiB7XG4gICAgY29uc3QgeyBvbkR1cGxpY2F0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgcmVuZGVyQnV0dG9uPXsoKSA9PiAoXG4gICAgICAgICAgPFB1Ymxpc2hlZFRvb2xiYXJCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge1xuICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kdXBsaWNhdGUnKX1cbiAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgKSA6IChcbiAgICAgIDxQdWJsaXNoZWRCdXR0b24+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfTwvUHVibGlzaGVkQnV0dG9uPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25QZXJzaXN0LCBvblBlcnNpc3RBbmROZXcsIG9uUGVyc2lzdEFuZER1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgICBkcm9wZG93bldpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgICAgPFB1Ymxpc2hCdXR0b24+XG4gICAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICAgIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaCcpfVxuICAgICAgICAgICAgPC9QdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaE5vdycpfVxuICAgICAgICAgICAgaWNvbj1cImFycm93XCJcbiAgICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kQ3JlYXRlTmV3Jyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kTmV3fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hBbmREdXBsaWNhdGUnKX1cbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblBlcnNpc3RBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclNpbXBsZURlcGxveVByZXZpZXdDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGhhc0NoYW5nZWQsIGlzTmV3RW50cnksIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIWlzTmV3RW50cnkgJiYgIWhhc0NoYW5nZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lCdXR0b25MYWJlbCcpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dDb250cm9scyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvblBlcnNpc3QsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgc2hvd0RlbGV0ZSxcbiAgICAgIGhhc0NoYW5nZWQsXG4gICAgICBoYXNVbnB1Ymxpc2hlZENoYW5nZXMsXG4gICAgICB1c2VPcGVuQXV0aG9yaW5nLFxuICAgICAgaXNQZXJzaXN0aW5nLFxuICAgICAgaXNEZWxldGluZyxcbiAgICAgIGlzTmV3RW50cnksXG4gICAgICBpc01vZGlmaWNhdGlvbixcbiAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNhbkNyZWF0ZSA9IGNvbGxlY3Rpb24uZ2V0KCdjcmVhdGUnKTtcbiAgICBjb25zdCBjYW5QdWJsaXNoID0gY29sbGVjdGlvbi5nZXQoJ3B1Ymxpc2gnKSAmJiAhdXNlT3BlbkF1dGhvcmluZztcbiAgICBjb25zdCBjYW5EZWxldGUgPSBjb2xsZWN0aW9uLmdldCgnZGVsZXRlJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBkZWxldGVMYWJlbCA9XG4gICAgICAoaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmXG4gICAgICAgIGlzTW9kaWZpY2F0aW9uICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcycpKSB8fFxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICAoaXNOZXdFbnRyeSB8fCAhaXNNb2RpZmljYXRpb24pICYmXG4gICAgICAgIHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0ZVVucHVibGlzaGVkRW50cnknKSkgfHxcbiAgICAgICghaGFzVW5wdWJsaXNoZWRDaGFuZ2VzICYmICFpc01vZGlmaWNhdGlvbiAmJiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVQdWJsaXNoZWRFbnRyeScpKTtcblxuICAgIHJldHVybiBbXG4gICAgICA8U2F2ZUJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17IWhhc0NoYW5nZWR9XG4gICAgICAgIGtleT1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFzQ2hhbmdlZCAmJiBvblBlcnNpc3QoKX1cbiAgICAgID5cbiAgICAgICAge2lzUGVyc2lzdGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmluZycpIDogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuc2F2ZScpfVxuICAgICAgPC9TYXZlQnV0dG9uPixcbiAgICAgIGN1cnJlbnRTdGF0dXNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLnJlbmRlcldvcmtmbG93U3RhdHVzQ29udHJvbHMoKSxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSxcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiZcbiAgICAgICAgICB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCwgY2FuRGVsZXRlIH0pLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
204
204
|
class EditorToolbar extends _react.default.Component {
|
|
205
205
|
constructor(...args) {
|
|
206
206
|
super(...args);
|
|
@@ -345,6 +345,7 @@ class EditorToolbar extends _react.default.Component {
|
|
|
345
345
|
return canPublish || canCreate ? (0, _core.jsx)(ToolbarDropdown, {
|
|
346
346
|
dropdownTopOverlap: "40px",
|
|
347
347
|
dropdownWidth: "150px",
|
|
348
|
+
key: "td-publish-create",
|
|
348
349
|
renderButton: () => (0, _core.jsx)(PublishedToolbarButton, null, isPersisting ? t('editor.editorToolbar.unpublishing') : t('editor.editorToolbar.published'))
|
|
349
350
|
}, canDelete && canPublish && (0, _core.jsx)(_decapCmsUiDefault.DropdownItem, {
|
|
350
351
|
label: t('editor.editorToolbar.unpublish'),
|