@getopenpay/openpay-js-react 0.5.0-alpha.62d9c95 → 0.5.2-alpha.f4e728d
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/.tsbuildinfo +1 -1
- package/dist/{Resource-Su-gYqm3-CRW7Sp8i.js → Resource-CG66x3yU-BIfmNPF-.js} +3 -3
- package/dist/SimpleSpanProcessor-DZHwNXyd-BVdtLHpX.js +957 -0
- package/dist/detect-resources-DNpQy0K0-lNcYqBWx.js +854 -0
- package/dist/diag-api-B2N9Zjft-CQ9YbTyT.js +6 -0
- package/dist/{index-CaFKkZZZ-EVUZJWN6.js → index-5To_e19N-BJVdje8n.js} +33 -33
- package/dist/{index-ClY7EupZ-XYaLGcah.js → index-BR3hj-Iu-DXclVTr3.js} +5 -5
- package/dist/{index-HuSyNzcT-VbpXy8eJ.js → index-BUHwPKEK-CNW2xnW9.js} +27 -27
- package/dist/{index-BevYpDuf-DVAeIRwO.js → index-BtdQ9zVo-BxOtHY2-.js} +69 -69
- package/dist/{index-D549KVYX-DaNJwPG9.js → index-Bx3Hc25_-BHGA2htW.js} +2 -2
- package/dist/{index-BelLoP51-D8pENTcy.js → index-CivLldgd-DSp8c5b6.js} +13 -13
- package/dist/{index-5kJbCI0E-DgamVTBl.js → index-D0jlc51g-C9SUJQjY.js} +15 -15
- package/dist/{index-BMONkcbS-BOn4l524.js → index-D_pIW5xT-DslEKVM6.js} +6 -6
- package/dist/index-H0dupMK0.js +9113 -0
- package/dist/{index-DfKlxnme-5sMHSn6_.js → index-sRxamKF6-Bpsmi4pl.js} +2 -2
- package/dist/index.d.ts +42 -3
- package/dist/index.js +7 -7
- package/dist/{metrics-api-jkWVWqH3-CTT7PgZS.js → metrics-api-BlEkCK9d-BlLG6cK7.js} +12 -12
- package/dist/{sdk-info-Dndpdc-v-BOfC12e5.js → sdk-info-DKhdLODI-BimXbZMc.js} +15 -15
- package/dist/{url-BiLGOrVd-DY-x5ttm.js → url-DgAYxBDj-Bolnkb0Z.js} +163 -163
- package/dist/{utils-BETSHAZr-NCCAatVd.js → utils-19Xh0C18-0H04lrSm.js} +2 -2
- package/dist/{utils-D7aJq4_J-6Fk7ACSV.js → utils-tMp7Y4zF-CdVxOFvW.js} +12 -12
- package/package.json +1 -1
- package/dist/SimpleSpanProcessor-CZLX8DcG-CCDi8IAG.js +0 -957
- package/dist/detect-resources-tCEQLc4c-D59VMEZa.js +0 -854
- package/dist/diag-api-But7SLH3-BsQGKMsM.js +0 -6
- package/dist/index-zmE9BDN0.js +0 -8447
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { R as l } from "./Resource-
|
|
2
|
-
import { E as tt } from "./Resource-
|
|
3
|
-
import { r as p } from "./diag-api-
|
|
4
|
-
import { E as w, o as S, t as g, O as R, i as O } from "./sdk-info-
|
|
1
|
+
import { R as l } from "./Resource-CG66x3yU-BIfmNPF-.js";
|
|
2
|
+
import { E as tt } from "./Resource-CG66x3yU-BIfmNPF-.js";
|
|
3
|
+
import { r as p } from "./diag-api-B2N9Zjft-CQ9YbTyT.js";
|
|
4
|
+
import { E as w, o as S, t as g, O as R, i as O } from "./sdk-info-DKhdLODI-BimXbZMc.js";
|
|
5
5
|
var L = (
|
|
6
6
|
/** @class */
|
|
7
7
|
function() {
|
|
@@ -327,4 +327,4 @@ export {
|
|
|
327
327
|
Y as processDetectorSync,
|
|
328
328
|
$ as serviceInstanceIdDetectorSync
|
|
329
329
|
};
|
|
330
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQ2xZN0V1cFotIX57MDBlfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUiQxIH0gZnJvbSAnLi9SZXNvdXJjZS1TdS1nWXFtMy0hfnswMGZ9fi5qcyc7XG5leHBvcnQgeyBFIGFzIGRlZmF1bHRTZXJ2aWNlTmFtZSB9IGZyb20gJy4vUmVzb3VyY2UtU3UtZ1lxbTMtIX57MDBmfX4uanMnO1xuaW1wb3J0IHsgciB9IGZyb20gJy4vZGlhZy1hcGktQnV0N1NMSDMtIX57MDA3fX4uanMnO1xuaW1wb3J0IHsgRSBhcyBFVCwgbyBhcyBvUywgdCBhcyB0UywgTyBhcyBPVCwgaSBhcyBpUyB9IGZyb20gJy4vc2RrLWluZm8tRG5kcGRjLXYtIX57MDBnfX4uanMnO1xuXG52YXIgVCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gbmV3IFIkMSh7fSk7XG4gICAgfSwgZTtcbiAgfSgpXG4pLCBoID0gbmV3IFQoKSwgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGguZGV0ZWN0KCkpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgXyA9IG5ldyBJKCksIEggPSBfLCBGID0gaCwgWCA9IF8sIGsgPSBoLCBLID0gXywgWSA9IF8sIHEgPSBoLCBFID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBFID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbihlKSB7XG4gICAgZm9yICh2YXIgbiwgdCA9IDEsIGkgPSBhcmd1bWVudHMubGVuZ3RoOyB0IDwgaTsgdCsrKSB7XG4gICAgICBuID0gYXJndW1lbnRzW3RdO1xuICAgICAgZm9yICh2YXIgbyBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgbykgJiYgKGVbb10gPSBuW29dKTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0sIEUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0sIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpLCBvLCByLCB1ID0gdHlwZW9mIG5hdmlnYXRvciA8IFwidVwiICYmICgobyA9IChpID0gZ2xvYmFsLnByb2Nlc3MpID09PSBudWxsIHx8IGkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGkudmVyc2lvbnMpID09PSBudWxsIHx8IG8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG8ubm9kZSkgPT09IHZvaWQgMCAmJiAvLyBOb2RlLmpzIHYyMSBhZGRzIGBuYXZpZ2F0b3JgXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlIGRvbid0IGhhdmUgQnVuIHR5cGVzXG4gICAgICAoKHIgPSBnbG9iYWwuQnVuKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLnZlcnNpb24pID09PSB2b2lkIDA7XG4gICAgICBpZiAoIXUpXG4gICAgICAgIHJldHVybiBSJDEuZW1wdHkoKTtcbiAgICAgIHZhciBhID0gKHQgPSB7fSwgdFtFVF0gPSBcImJyb3dzZXJcIiwgdFtvU10gPSBcIldlYiBCcm93c2VyXCIsIHRbdFNdID0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdCk7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VBdHRyaWJ1dGVzKGEsIG4pO1xuICAgIH0sIGUucHJvdG90eXBlLl9nZXRSZXNvdXJjZUF0dHJpYnV0ZXMgPSBmdW5jdGlvbihuLCB0KSB7XG4gICAgICByZXR1cm4gblt0U10gPT09IFwiXCIgPyAoci5kZWJ1ZyhcIkJyb3dzZXJEZXRlY3RvciBmYWlsZWQ6IFVuYWJsZSB0byBmaW5kIHJlcXVpcmVkIGJyb3dzZXIgcmVzb3VyY2VzLiBcIiksIFIkMS5lbXB0eSgpKSA6IG5ldyBSJDEoRSh7fSwgbikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgTyA9IG5ldyBOKCksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoTy5kZXRlY3QobikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgSiA9IG5ldyBNKCksIEwgPSBmdW5jdGlvbihlKSB7XG4gIHZhciBuID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCB0ID0gbiAmJiBlW25dLCBpID0gMDtcbiAgaWYgKHQpIHJldHVybiB0LmNhbGwoZSk7XG4gIGlmIChlICYmIHR5cGVvZiBlLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGUgJiYgaSA+PSBlLmxlbmd0aCAmJiAoZSA9IHZvaWQgMCksIHsgdmFsdWU6IGUgJiYgZVtpKytdLCBkb25lOiAhZSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihuID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgeCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBlW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghdCkgcmV0dXJuIGU7XG4gIHZhciBpID0gdC5jYWxsKGUpLCBvLCByID0gW10sIHU7XG4gIHRyeSB7XG4gICAgZm9yICg7IChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShvID0gaS5uZXh0KCkpLmRvbmU7ICkgci5wdXNoKG8udmFsdWUpO1xuICB9IGNhdGNoIChhKSB7XG4gICAgdSA9IHsgZXJyb3I6IGEgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbyAmJiAhby5kb25lICYmICh0ID0gaS5yZXR1cm4pICYmIHQuY2FsbChpKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHUpIHRocm93IHUuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiByO1xufSwgQyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgdGhpcy5fTUFYX0xFTkdUSCA9IDI1NSwgdGhpcy5fQ09NTUFfU0VQQVJBVE9SID0gXCIsXCIsIHRoaXMuX0xBQkVMX0tFWV9WQUxVRV9TUExJVFRFUiA9IFwiPVwiLCB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMgPSBcInNob3VsZCBiZSBhIEFTQ0lJIHN0cmluZyB3aXRoIGEgbGVuZ3RoIGdyZWF0ZXIgdGhhbiAwIGFuZCBub3QgZXhjZWVkIFwiICsgdGhpcy5fTUFYX0xFTkdUSCArIFwiIGNoYXJhY3RlcnMuXCIsIHRoaXMuX0VSUk9SX01FU1NBR0VfSU5WQUxJRF9WQUxVRSA9IFwic2hvdWxkIGJlIGEgQVNDSUkgc3RyaW5nIHdpdGggYSBsZW5ndGggbm90IGV4Y2VlZCBcIiArIHRoaXMuX01BWF9MRU5HVEggKyBcIiBjaGFyYWN0ZXJzLlwiO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24obikge1xuICAgICAgdmFyIHQgPSB7fSwgaSA9IE9UKCksIG8gPSBpLk9URUxfUkVTT1VSQ0VfQVRUUklCVVRFUywgciQxID0gaS5PVEVMX1NFUlZJQ0VfTkFNRTtcbiAgICAgIGlmIChvKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciB1ID0gdGhpcy5fcGFyc2VSZXNvdXJjZUF0dHJpYnV0ZXMobyk7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0LCB1KTtcbiAgICAgICAgfSBjYXRjaCAoYSkge1xuICAgICAgICAgIHIuZGVidWcoXCJFbnZEZXRlY3RvciBmYWlsZWQ6IFwiICsgYS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIHIkMSAmJiAodFtpU10gPSByJDEpLCBuZXcgUiQxKHQpO1xuICAgIH0sIGUucHJvdG90eXBlLl9wYXJzZVJlc291cmNlQXR0cmlidXRlcyA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpO1xuICAgICAgaWYgKCFuKVxuICAgICAgICByZXR1cm4ge307XG4gICAgICB2YXIgbyA9IHt9LCByID0gbi5zcGxpdCh0aGlzLl9DT01NQV9TRVBBUkFUT1IsIC0xKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZvciAodmFyIHUgPSBMKHIpLCBhID0gdS5uZXh0KCk7ICFhLmRvbmU7IGEgPSB1Lm5leHQoKSkge1xuICAgICAgICAgIHZhciBmID0gYS52YWx1ZSwgYyA9IGYuc3BsaXQodGhpcy5fTEFCRUxfS0VZX1ZBTFVFX1NQTElUVEVSLCAtMSk7XG4gICAgICAgICAgaWYgKGMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB2YXIgcyA9IHgoYywgMiksIGQgPSBzWzBdLCB5ID0gc1sxXTtcbiAgICAgICAgICAgIGlmIChkID0gZC50cmltKCksIHkgPSB5LnRyaW0oKS5zcGxpdCgvXlwifFwiJC8pLmpvaW4oXCJcIiksICF0aGlzLl9pc1ZhbGlkQW5kTm90RW1wdHkoZCkpXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dHJpYnV0ZSBrZXkgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRyaWJ1dGUgdmFsdWUgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfVkFMVUUpO1xuICAgICAgICAgICAgb1tkXSA9IGRlY29kZVVSSUNvbXBvbmVudCh5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGcpIHtcbiAgICAgICAgdCA9IHsgZXJyb3I6IGcgfTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYSAmJiAhYS5kb25lICYmIChpID0gdS5yZXR1cm4pICYmIGkuY2FsbCh1KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBpZiAodCkgdGhyb3cgdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG87XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWQgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gbi5sZW5ndGggPD0gdGhpcy5fTUFYX0xFTkdUSCAmJiB0aGlzLl9pc0JhZ2dhZ2VPY3RldFN0cmluZyhuKTtcbiAgICB9LCBlLnByb3RvdHlwZS5faXNCYWdnYWdlT2N0ZXRTdHJpbmcgPSBmdW5jdGlvbihuKSB7XG4gICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IG4ubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgdmFyIGkgPSBuLmNoYXJDb2RlQXQodCk7XG4gICAgICAgIGlmIChpIDwgMzMgfHwgaSA9PT0gNDQgfHwgaSA9PT0gNTkgfHwgaSA9PT0gOTIgfHwgaSA+IDEyNilcbiAgICAgICAgICByZXR1cm4gITE7XG4gICAgICB9XG4gICAgICByZXR1cm4gITA7XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWRBbmROb3RFbXB0eSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+IDAgJiYgdGhpcy5faXNWYWxpZChuKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFYgPSBuZXcgQygpLCBCID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFYuZGV0ZWN0KG4pKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFcgPSBuZXcgQigpLCBVID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSAhPT0gbnVsbCAmJiB0eXBlb2YgZSA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBlLnRoZW4gPT0gXCJmdW5jdGlvblwiO1xufSwgUyA9IGZ1bmN0aW9uKGUsIG4sIHQsIGkpIHtcbiAgZnVuY3Rpb24gbyhyKSB7XG4gICAgcmV0dXJuIHIgaW5zdGFuY2VvZiB0ID8gciA6IG5ldyB0KGZ1bmN0aW9uKHUpIHtcbiAgICAgIHUocik7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAodCB8fCAodCA9IFByb21pc2UpKShmdW5jdGlvbihyLCB1KSB7XG4gICAgZnVuY3Rpb24gYShzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjKGkubmV4dChzKSk7XG4gICAgICB9IGNhdGNoIChkKSB7XG4gICAgICAgIHUoZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYocykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYyhpLnRocm93KHMpKTtcbiAgICAgIH0gY2F0Y2ggKGQpIHtcbiAgICAgICAgdShkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYyhzKSB7XG4gICAgICBzLmRvbmUgPyByKHMudmFsdWUpIDogbyhzLnZhbHVlKS50aGVuKGEsIGYpO1xuICAgIH1cbiAgICBjKChpID0gaS5hcHBseShlLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgcCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHtcbiAgICBpZiAoclswXSAmIDEpIHRocm93IHJbMV07XG4gICAgcmV0dXJuIHJbMV07XG4gIH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGksIG8sIHIsIHU7XG4gIHJldHVybiB1ID0geyBuZXh0OiBhKDApLCB0aHJvdzogYSgxKSwgcmV0dXJuOiBhKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT0gXCJmdW5jdGlvblwiICYmICh1W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfSksIHU7XG4gIGZ1bmN0aW9uIGEoYykge1xuICAgIHJldHVybiBmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gZihbYywgc10pO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gZihjKSB7XG4gICAgaWYgKGkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgIGZvciAoOyB0OyApIHRyeSB7XG4gICAgICBpZiAoaSA9IDEsIG8gJiYgKHIgPSBjWzBdICYgMiA/IG8ucmV0dXJuIDogY1swXSA/IG8udGhyb3cgfHwgKChyID0gby5yZXR1cm4pICYmIHIuY2FsbChvKSwgMCkgOiBvLm5leHQpICYmICEociA9IHIuY2FsbChvLCBjWzFdKSkuZG9uZSkgcmV0dXJuIHI7XG4gICAgICBzd2l0Y2ggKG8gPSAwLCByICYmIChjID0gW2NbMF0gJiAyLCByLnZhbHVlXSksIGNbMF0pIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgciA9IGM7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gdC5sYWJlbCsrLCB7IHZhbHVlOiBjWzFdLCBkb25lOiAhMSB9O1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgdC5sYWJlbCsrLCBvID0gY1sxXSwgYyA9IFswXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIGMgPSB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmIChyID0gdC50cnlzLCAhKHIgPSByLmxlbmd0aCA+IDAgJiYgcltyLmxlbmd0aCAtIDFdKSAmJiAoY1swXSA9PT0gNiB8fCBjWzBdID09PSAyKSkge1xuICAgICAgICAgICAgdCA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDMgJiYgKCFyIHx8IGNbMV0gPiByWzBdICYmIGNbMV0gPCByWzNdKSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IGNbMV07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDYgJiYgdC5sYWJlbCA8IHJbMV0pIHtcbiAgICAgICAgICAgIHQubGFiZWwgPSByWzFdLCByID0gYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAociAmJiB0LmxhYmVsIDwgclsyXSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IHJbMl0sIHQub3BzLnB1c2goYyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgclsyXSAmJiB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYyA9IG4uY2FsbChlLCB0KTtcbiAgICB9IGNhdGNoIChzKSB7XG4gICAgICBjID0gWzYsIHNdLCBvID0gMDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaSA9IHIgPSAwO1xuICAgIH1cbiAgICBpZiAoY1swXSAmIDUpIHRocm93IGNbMV07XG4gICAgcmV0dXJuIHsgdmFsdWU6IGNbMF0gPyBjWzFdIDogdm9pZCAwLCBkb25lOiAhMCB9O1xuICB9XG59LCAkID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSA9PT0gdm9pZCAwICYmIChlID0ge30pLCBTKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgIHZhciBuO1xuICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHQpIHtcbiAgICAgIHN3aXRjaCAodC5sYWJlbCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuIFs0LCBQcm9taXNlLmFsbCgoZS5kZXRlY3RvcnMgfHwgW10pLm1hcChmdW5jdGlvbihpKSB7XG4gICAgICAgICAgICByZXR1cm4gUyh2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgdmFyIG8sIHIkMTtcbiAgICAgICAgICAgICAgcmV0dXJuIHAodGhpcywgZnVuY3Rpb24odSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdS50cnlzLnB1c2goWzAsIDIsICwgM10pLCBbNCwgaS5kZXRlY3QoZSldO1xuICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA9IHUuc2VudCgpLCByLmRlYnVnKGkuY29uc3RydWN0b3IubmFtZSArIFwiIGZvdW5kIHJlc291cmNlLlwiLCBvKSwgWzIsIG9dO1xuICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gciQxID0gdS5zZW50KCksIHIuZGVidWcoaS5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZmFpbGVkOiBcIiArIHIkMS5tZXNzYWdlKSwgWzIsIFIkMS5lbXB0eSgpXTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSldO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIG4gPSB0LnNlbnQoKSwgUihuKSwgWzIsIG4ucmVkdWNlKGZ1bmN0aW9uKGksIG8pIHtcbiAgICAgICAgICAgIHJldHVybiBpLm1lcmdlKG8pO1xuICAgICAgICAgIH0sIFIkMS5lbXB0eSgpKV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSwgeiA9IGZ1bmN0aW9uKGUpIHtcbiAgdmFyIG47XG4gIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgdmFyIHQgPSAoKG4gPSBlLmRldGVjdG9ycykgIT09IG51bGwgJiYgbiAhPT0gdm9pZCAwID8gbiA6IFtdKS5tYXAoZnVuY3Rpb24obykge1xuICAgIHRyeSB7XG4gICAgICB2YXIgciQxID0gby5kZXRlY3QoZSksIHU7XG4gICAgICBpZiAoVShyJDEpKSB7XG4gICAgICAgIHZhciBhID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIFModm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgZiwgYztcbiAgICAgICAgICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChzLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0LCByJDFdO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmID0gcy5zZW50KCksIFs0LCAoYyA9IGYud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYy5jYWxsKGYpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcy5zZW50KCksIFsyLCBmLmF0dHJpYnV0ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdSA9IG5ldyBSJDEoe30sIGEoKSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdSA9IHIkMTtcbiAgICAgIHJldHVybiB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgPyB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMoKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gci5kZWJ1ZyhvLmNvbnN0cnVjdG9yLm5hbWUgKyBcIiBmb3VuZCByZXNvdXJjZS5cIiwgdSk7XG4gICAgICB9KSA6IHIuZGVidWcoby5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZm91bmQgcmVzb3VyY2UuXCIsIHUpLCB1O1xuICAgIH0gY2F0Y2ggKGYpIHtcbiAgICAgIHJldHVybiByLmVycm9yKG8uY29uc3RydWN0b3IubmFtZSArIFwiIGZhaWxlZDogXCIgKyBmLm1lc3NhZ2UpLCBSJDEuZW1wdHkoKTtcbiAgICB9XG4gIH0pLCBpID0gdC5yZWR1Y2UoZnVuY3Rpb24obywgcikge1xuICAgIHJldHVybiBvLm1lcmdlKHIpO1xuICB9LCBSJDEuZW1wdHkoKSk7XG4gIHJldHVybiBpLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgJiYgaS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkudGhlbihmdW5jdGlvbigpIHtcbiAgICBSKHQpO1xuICB9KSwgaTtcbn0sIFIgPSBmdW5jdGlvbihlKSB7XG4gIGUuZm9yRWFjaChmdW5jdGlvbihuKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKG4uYXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHQgPSBKU09OLnN0cmluZ2lmeShuLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuICAgICAgci52ZXJib3NlKHQpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBSJDEgYXMgUmVzb3VyY2UsIEogYXMgYnJvd3NlckRldGVjdG9yLCBPIGFzIGJyb3dzZXJEZXRlY3RvclN5bmMsICQgYXMgZGV0ZWN0UmVzb3VyY2VzLCB6IGFzIGRldGVjdFJlc291cmNlc1N5bmMsIFcgYXMgZW52RGV0ZWN0b3IsIFYgYXMgZW52RGV0ZWN0b3JTeW5jLCBIIGFzIGhvc3REZXRlY3RvciwgRiBhcyBob3N0RGV0ZWN0b3JTeW5jLCBYIGFzIG9zRGV0ZWN0b3IsIGsgYXMgb3NEZXRlY3RvclN5bmMsIEsgYXMgcHJvY2Vzc0RldGVjdG9yLCBZIGFzIHByb2Nlc3NEZXRlY3RvclN5bmMsIHEgYXMgc2VydmljZUluc3RhbmNlSWREZXRlY3RvclN5bmMgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQVc7QUFDekIsU0FBYyxLQUFMQyxVQUErQjtBQUN4QyxTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFNUQsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNDLElBQUk7QUFBQSxJQUNiO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNyQyxhQUFPLElBQUlULEVBQUksQ0FBQyxDQUFDO0FBQUEsSUFDbkIsR0FBR1M7QUFBQSxFQUNMLEVBQUU7QUFBQSxHQUNEQyxJQUFJLElBQUlGLEVBQUUsR0FBRztBQUFBO0FBQUEsRUFFZCxXQUFXO0FBQ1QsYUFBU0MsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPQSxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ3JDLGFBQU8sUUFBUSxRQUFRQyxFQUFFLE9BQU8sQ0FBQztBQUFBLElBQ25DLEdBQUdEO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSUQsR0FBR0UsSUFBSUgsR0FBR0ksSUFBSUgsR0FBR0ksSUFBSUwsR0FBRyxJQUFJQyxHQUFH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QUc7QUFDekIsc0JBQVFBLEVBQUUsT0FBTztBQUFBLGdCQUNmLEtBQUs7QUFDSCx5QkFBTyxDQUFDLEdBQUdGLENBQUc7QUFBQSxnQkFDaEIsS0FBSztBQUNILHlCQUFPLElBQUlFLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSUQsSUFBSSxFQUFFLDRCQUE0QixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUFBLGdCQUN2RyxLQUFLO0FBQ0gseUJBQU9DLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVU7QUFBQSxjQUNyQztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0gsQ0FBQztBQUFBLFFBQ0g7QUFDQSxRQUFBVCxJQUFJLElBQUluQixFQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxNQUNyQjtBQUNFLFFBQUFtQixJQUFJTztBQUNOLGFBQU9QLEVBQUUseUJBQXlCQSxFQUFFLHVCQUF1QixFQUFFLEtBQUssV0FBVztBQUMzRSxlQUFPakIsRUFBRSxNQUFNLEVBQUUsWUFBWSxPQUFPLG9CQUFvQmlCLENBQUM7QUFBQSxNQUMzRCxDQUFDLElBQUlqQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sb0JBQW9CaUIsQ0FBQyxHQUFHQTtBQUFBLElBQzVELFNBQVMsR0FBRztBQUNWLGFBQU9qQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sY0FBYyxFQUFFLE9BQU8sR0FBR0YsRUFBSSxNQUFNO0FBQUEsSUFDMUU7QUFBQSxFQUNGLENBQUMsR0FBRyxJQUFJaUIsRUFBRSxPQUFPLFNBQVMsR0FBRyxHQUFHO0FBQzlCLFdBQU8sRUFBRSxNQUFNLENBQUM7QUFBQSxFQUNsQixHQUFHakIsRUFBSSxNQUFNLENBQUM7QUFDZCxTQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxXQUFXO0FBQzVFLElBQUFzQyxFQUFFckIsQ0FBQztBQUFBLEVBQ0wsQ0FBQyxHQUFHO0FBQ04sR0FBR3FCLElBQUksU0FBUzdCLEdBQUc7QUFDakIsRUFBQUEsRUFBRSxRQUFRLFNBQVMsR0FBRztBQUNwQixRQUFJLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUc7QUFDeEMsVUFBSVEsSUFBSSxLQUFLLFVBQVUsRUFBRSxZQUFZLE1BQU0sQ0FBQztBQUM1QyxNQUFBZixFQUFFLFFBQVFlLENBQUM7QUFBQSxJQUNiO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbIlIkMSIsICJFIiwgInIiLCAiRVQiLCAib1MiLCAidFMiLCAiT1QiLCAiaVMiLCAiVCIsICJlIiwgImgiLCAiXyIsICJIIiwgIkYiLCAiWCIsICJrIiwgInEiLCAidCIsICJOIiwgInUiLCAiTyIsICJNIiwgIkoiLCAiTCIsICJ4IiwgIkMiLCAiciQxIiwgImMiLCAicyIsICJ5IiwgImciLCAiViIsICJCIiwgIlciLCAiVSIsICJTIiwgInAiLCAiJCIsICJSIl0KfQo=
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQlIzaGotSXUtIX57MDBlfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUiQxIH0gZnJvbSAnLi9SZXNvdXJjZS1DRzY2eDN5VS0hfnswMGZ9fi5qcyc7XG5leHBvcnQgeyBFIGFzIGRlZmF1bHRTZXJ2aWNlTmFtZSB9IGZyb20gJy4vUmVzb3VyY2UtQ0c2NngzeVUtIX57MDBmfX4uanMnO1xuaW1wb3J0IHsgciB9IGZyb20gJy4vZGlhZy1hcGktQjJOOVpqZnQtIX57MDA3fX4uanMnO1xuaW1wb3J0IHsgRSBhcyBFVCwgbyBhcyBvUywgdCBhcyB0UywgTyBhcyBPVCwgaSBhcyBpUyB9IGZyb20gJy4vc2RrLWluZm8tREtoZExPREktIX57MDBnfX4uanMnO1xuXG52YXIgVCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gbmV3IFIkMSh7fSk7XG4gICAgfSwgZTtcbiAgfSgpXG4pLCBoID0gbmV3IFQoKSwgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGguZGV0ZWN0KCkpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgXyA9IG5ldyBJKCksIEggPSBfLCBGID0gaCwgWCA9IF8sIGsgPSBoLCBLID0gXywgWSA9IF8sIHEgPSBoLCBFID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBFID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbihlKSB7XG4gICAgZm9yICh2YXIgbiwgdCA9IDEsIGkgPSBhcmd1bWVudHMubGVuZ3RoOyB0IDwgaTsgdCsrKSB7XG4gICAgICBuID0gYXJndW1lbnRzW3RdO1xuICAgICAgZm9yICh2YXIgbyBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgbykgJiYgKGVbb10gPSBuW29dKTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0sIEUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0sIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpLCBvLCByLCB1ID0gdHlwZW9mIG5hdmlnYXRvciA8IFwidVwiICYmICgobyA9IChpID0gZ2xvYmFsLnByb2Nlc3MpID09PSBudWxsIHx8IGkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGkudmVyc2lvbnMpID09PSBudWxsIHx8IG8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG8ubm9kZSkgPT09IHZvaWQgMCAmJiAvLyBOb2RlLmpzIHYyMSBhZGRzIGBuYXZpZ2F0b3JgXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlIGRvbid0IGhhdmUgQnVuIHR5cGVzXG4gICAgICAoKHIgPSBnbG9iYWwuQnVuKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLnZlcnNpb24pID09PSB2b2lkIDA7XG4gICAgICBpZiAoIXUpXG4gICAgICAgIHJldHVybiBSJDEuZW1wdHkoKTtcbiAgICAgIHZhciBhID0gKHQgPSB7fSwgdFtFVF0gPSBcImJyb3dzZXJcIiwgdFtvU10gPSBcIldlYiBCcm93c2VyXCIsIHRbdFNdID0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdCk7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VBdHRyaWJ1dGVzKGEsIG4pO1xuICAgIH0sIGUucHJvdG90eXBlLl9nZXRSZXNvdXJjZUF0dHJpYnV0ZXMgPSBmdW5jdGlvbihuLCB0KSB7XG4gICAgICByZXR1cm4gblt0U10gPT09IFwiXCIgPyAoci5kZWJ1ZyhcIkJyb3dzZXJEZXRlY3RvciBmYWlsZWQ6IFVuYWJsZSB0byBmaW5kIHJlcXVpcmVkIGJyb3dzZXIgcmVzb3VyY2VzLiBcIiksIFIkMS5lbXB0eSgpKSA6IG5ldyBSJDEoRSh7fSwgbikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgTyA9IG5ldyBOKCksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmRldGVjdCA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoTy5kZXRlY3QobikpO1xuICAgIH0sIGU7XG4gIH0oKVxuKSwgSiA9IG5ldyBNKCksIEwgPSBmdW5jdGlvbihlKSB7XG4gIHZhciBuID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCB0ID0gbiAmJiBlW25dLCBpID0gMDtcbiAgaWYgKHQpIHJldHVybiB0LmNhbGwoZSk7XG4gIGlmIChlICYmIHR5cGVvZiBlLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGUgJiYgaSA+PSBlLmxlbmd0aCAmJiAoZSA9IHZvaWQgMCksIHsgdmFsdWU6IGUgJiYgZVtpKytdLCBkb25lOiAhZSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihuID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgeCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBlW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghdCkgcmV0dXJuIGU7XG4gIHZhciBpID0gdC5jYWxsKGUpLCBvLCByID0gW10sIHU7XG4gIHRyeSB7XG4gICAgZm9yICg7IChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShvID0gaS5uZXh0KCkpLmRvbmU7ICkgci5wdXNoKG8udmFsdWUpO1xuICB9IGNhdGNoIChhKSB7XG4gICAgdSA9IHsgZXJyb3I6IGEgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbyAmJiAhby5kb25lICYmICh0ID0gaS5yZXR1cm4pICYmIHQuY2FsbChpKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHUpIHRocm93IHUuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiByO1xufSwgQyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgdGhpcy5fTUFYX0xFTkdUSCA9IDI1NSwgdGhpcy5fQ09NTUFfU0VQQVJBVE9SID0gXCIsXCIsIHRoaXMuX0xBQkVMX0tFWV9WQUxVRV9TUExJVFRFUiA9IFwiPVwiLCB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMgPSBcInNob3VsZCBiZSBhIEFTQ0lJIHN0cmluZyB3aXRoIGEgbGVuZ3RoIGdyZWF0ZXIgdGhhbiAwIGFuZCBub3QgZXhjZWVkIFwiICsgdGhpcy5fTUFYX0xFTkdUSCArIFwiIGNoYXJhY3RlcnMuXCIsIHRoaXMuX0VSUk9SX01FU1NBR0VfSU5WQUxJRF9WQUxVRSA9IFwic2hvdWxkIGJlIGEgQVNDSUkgc3RyaW5nIHdpdGggYSBsZW5ndGggbm90IGV4Y2VlZCBcIiArIHRoaXMuX01BWF9MRU5HVEggKyBcIiBjaGFyYWN0ZXJzLlwiO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuZGV0ZWN0ID0gZnVuY3Rpb24obikge1xuICAgICAgdmFyIHQgPSB7fSwgaSA9IE9UKCksIG8gPSBpLk9URUxfUkVTT1VSQ0VfQVRUUklCVVRFUywgciQxID0gaS5PVEVMX1NFUlZJQ0VfTkFNRTtcbiAgICAgIGlmIChvKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciB1ID0gdGhpcy5fcGFyc2VSZXNvdXJjZUF0dHJpYnV0ZXMobyk7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0LCB1KTtcbiAgICAgICAgfSBjYXRjaCAoYSkge1xuICAgICAgICAgIHIuZGVidWcoXCJFbnZEZXRlY3RvciBmYWlsZWQ6IFwiICsgYS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIHIkMSAmJiAodFtpU10gPSByJDEpLCBuZXcgUiQxKHQpO1xuICAgIH0sIGUucHJvdG90eXBlLl9wYXJzZVJlc291cmNlQXR0cmlidXRlcyA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHZhciB0LCBpO1xuICAgICAgaWYgKCFuKVxuICAgICAgICByZXR1cm4ge307XG4gICAgICB2YXIgbyA9IHt9LCByID0gbi5zcGxpdCh0aGlzLl9DT01NQV9TRVBBUkFUT1IsIC0xKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZvciAodmFyIHUgPSBMKHIpLCBhID0gdS5uZXh0KCk7ICFhLmRvbmU7IGEgPSB1Lm5leHQoKSkge1xuICAgICAgICAgIHZhciBmID0gYS52YWx1ZSwgYyA9IGYuc3BsaXQodGhpcy5fTEFCRUxfS0VZX1ZBTFVFX1NQTElUVEVSLCAtMSk7XG4gICAgICAgICAgaWYgKGMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB2YXIgcyA9IHgoYywgMiksIGQgPSBzWzBdLCB5ID0gc1sxXTtcbiAgICAgICAgICAgIGlmIChkID0gZC50cmltKCksIHkgPSB5LnRyaW0oKS5zcGxpdCgvXlwifFwiJC8pLmpvaW4oXCJcIiksICF0aGlzLl9pc1ZhbGlkQW5kTm90RW1wdHkoZCkpXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dHJpYnV0ZSBrZXkgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfQ0hBUlMpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRyaWJ1dGUgdmFsdWUgXCIgKyB0aGlzLl9FUlJPUl9NRVNTQUdFX0lOVkFMSURfVkFMVUUpO1xuICAgICAgICAgICAgb1tkXSA9IGRlY29kZVVSSUNvbXBvbmVudCh5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGcpIHtcbiAgICAgICAgdCA9IHsgZXJyb3I6IGcgfTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYSAmJiAhYS5kb25lICYmIChpID0gdS5yZXR1cm4pICYmIGkuY2FsbCh1KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBpZiAodCkgdGhyb3cgdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG87XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWQgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gbi5sZW5ndGggPD0gdGhpcy5fTUFYX0xFTkdUSCAmJiB0aGlzLl9pc0JhZ2dhZ2VPY3RldFN0cmluZyhuKTtcbiAgICB9LCBlLnByb3RvdHlwZS5faXNCYWdnYWdlT2N0ZXRTdHJpbmcgPSBmdW5jdGlvbihuKSB7XG4gICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IG4ubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgdmFyIGkgPSBuLmNoYXJDb2RlQXQodCk7XG4gICAgICAgIGlmIChpIDwgMzMgfHwgaSA9PT0gNDQgfHwgaSA9PT0gNTkgfHwgaSA9PT0gOTIgfHwgaSA+IDEyNilcbiAgICAgICAgICByZXR1cm4gITE7XG4gICAgICB9XG4gICAgICByZXR1cm4gITA7XG4gICAgfSwgZS5wcm90b3R5cGUuX2lzVmFsaWRBbmROb3RFbXB0eSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+IDAgJiYgdGhpcy5faXNWYWxpZChuKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFYgPSBuZXcgQygpLCBCID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbihuKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFYuZGV0ZWN0KG4pKTtcbiAgICB9LCBlO1xuICB9KClcbiksIFcgPSBuZXcgQigpLCBVID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSAhPT0gbnVsbCAmJiB0eXBlb2YgZSA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBlLnRoZW4gPT0gXCJmdW5jdGlvblwiO1xufSwgUyA9IGZ1bmN0aW9uKGUsIG4sIHQsIGkpIHtcbiAgZnVuY3Rpb24gbyhyKSB7XG4gICAgcmV0dXJuIHIgaW5zdGFuY2VvZiB0ID8gciA6IG5ldyB0KGZ1bmN0aW9uKHUpIHtcbiAgICAgIHUocik7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAodCB8fCAodCA9IFByb21pc2UpKShmdW5jdGlvbihyLCB1KSB7XG4gICAgZnVuY3Rpb24gYShzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjKGkubmV4dChzKSk7XG4gICAgICB9IGNhdGNoIChkKSB7XG4gICAgICAgIHUoZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYocykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYyhpLnRocm93KHMpKTtcbiAgICAgIH0gY2F0Y2ggKGQpIHtcbiAgICAgICAgdShkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYyhzKSB7XG4gICAgICBzLmRvbmUgPyByKHMudmFsdWUpIDogbyhzLnZhbHVlKS50aGVuKGEsIGYpO1xuICAgIH1cbiAgICBjKChpID0gaS5hcHBseShlLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgcCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgdmFyIHQgPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHtcbiAgICBpZiAoclswXSAmIDEpIHRocm93IHJbMV07XG4gICAgcmV0dXJuIHJbMV07XG4gIH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGksIG8sIHIsIHU7XG4gIHJldHVybiB1ID0geyBuZXh0OiBhKDApLCB0aHJvdzogYSgxKSwgcmV0dXJuOiBhKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT0gXCJmdW5jdGlvblwiICYmICh1W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfSksIHU7XG4gIGZ1bmN0aW9uIGEoYykge1xuICAgIHJldHVybiBmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gZihbYywgc10pO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gZihjKSB7XG4gICAgaWYgKGkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgIGZvciAoOyB0OyApIHRyeSB7XG4gICAgICBpZiAoaSA9IDEsIG8gJiYgKHIgPSBjWzBdICYgMiA/IG8ucmV0dXJuIDogY1swXSA/IG8udGhyb3cgfHwgKChyID0gby5yZXR1cm4pICYmIHIuY2FsbChvKSwgMCkgOiBvLm5leHQpICYmICEociA9IHIuY2FsbChvLCBjWzFdKSkuZG9uZSkgcmV0dXJuIHI7XG4gICAgICBzd2l0Y2ggKG8gPSAwLCByICYmIChjID0gW2NbMF0gJiAyLCByLnZhbHVlXSksIGNbMF0pIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgciA9IGM7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gdC5sYWJlbCsrLCB7IHZhbHVlOiBjWzFdLCBkb25lOiAhMSB9O1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgdC5sYWJlbCsrLCBvID0gY1sxXSwgYyA9IFswXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIGMgPSB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmIChyID0gdC50cnlzLCAhKHIgPSByLmxlbmd0aCA+IDAgJiYgcltyLmxlbmd0aCAtIDFdKSAmJiAoY1swXSA9PT0gNiB8fCBjWzBdID09PSAyKSkge1xuICAgICAgICAgICAgdCA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDMgJiYgKCFyIHx8IGNbMV0gPiByWzBdICYmIGNbMV0gPCByWzNdKSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IGNbMV07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNbMF0gPT09IDYgJiYgdC5sYWJlbCA8IHJbMV0pIHtcbiAgICAgICAgICAgIHQubGFiZWwgPSByWzFdLCByID0gYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAociAmJiB0LmxhYmVsIDwgclsyXSkge1xuICAgICAgICAgICAgdC5sYWJlbCA9IHJbMl0sIHQub3BzLnB1c2goYyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgclsyXSAmJiB0Lm9wcy5wb3AoKSwgdC50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYyA9IG4uY2FsbChlLCB0KTtcbiAgICB9IGNhdGNoIChzKSB7XG4gICAgICBjID0gWzYsIHNdLCBvID0gMDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaSA9IHIgPSAwO1xuICAgIH1cbiAgICBpZiAoY1swXSAmIDUpIHRocm93IGNbMV07XG4gICAgcmV0dXJuIHsgdmFsdWU6IGNbMF0gPyBjWzFdIDogdm9pZCAwLCBkb25lOiAhMCB9O1xuICB9XG59LCAkID0gZnVuY3Rpb24oZSkge1xuICByZXR1cm4gZSA9PT0gdm9pZCAwICYmIChlID0ge30pLCBTKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgIHZhciBuO1xuICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHQpIHtcbiAgICAgIHN3aXRjaCAodC5sYWJlbCkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgcmV0dXJuIFs0LCBQcm9taXNlLmFsbCgoZS5kZXRlY3RvcnMgfHwgW10pLm1hcChmdW5jdGlvbihpKSB7XG4gICAgICAgICAgICByZXR1cm4gUyh2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgdmFyIG8sIHIkMTtcbiAgICAgICAgICAgICAgcmV0dXJuIHAodGhpcywgZnVuY3Rpb24odSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdS50cnlzLnB1c2goWzAsIDIsICwgM10pLCBbNCwgaS5kZXRlY3QoZSldO1xuICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA9IHUuc2VudCgpLCByLmRlYnVnKGkuY29uc3RydWN0b3IubmFtZSArIFwiIGZvdW5kIHJlc291cmNlLlwiLCBvKSwgWzIsIG9dO1xuICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gciQxID0gdS5zZW50KCksIHIuZGVidWcoaS5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZmFpbGVkOiBcIiArIHIkMS5tZXNzYWdlKSwgWzIsIFIkMS5lbXB0eSgpXTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSldO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIG4gPSB0LnNlbnQoKSwgUihuKSwgWzIsIG4ucmVkdWNlKGZ1bmN0aW9uKGksIG8pIHtcbiAgICAgICAgICAgIHJldHVybiBpLm1lcmdlKG8pO1xuICAgICAgICAgIH0sIFIkMS5lbXB0eSgpKV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufSwgeiA9IGZ1bmN0aW9uKGUpIHtcbiAgdmFyIG47XG4gIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgdmFyIHQgPSAoKG4gPSBlLmRldGVjdG9ycykgIT09IG51bGwgJiYgbiAhPT0gdm9pZCAwID8gbiA6IFtdKS5tYXAoZnVuY3Rpb24obykge1xuICAgIHRyeSB7XG4gICAgICB2YXIgciQxID0gby5kZXRlY3QoZSksIHU7XG4gICAgICBpZiAoVShyJDEpKSB7XG4gICAgICAgIHZhciBhID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIFModm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgZiwgYztcbiAgICAgICAgICAgIHJldHVybiBwKHRoaXMsIGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChzLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0LCByJDFdO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmID0gcy5zZW50KCksIFs0LCAoYyA9IGYud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYy5jYWxsKGYpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcy5zZW50KCksIFsyLCBmLmF0dHJpYnV0ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdSA9IG5ldyBSJDEoe30sIGEoKSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdSA9IHIkMTtcbiAgICAgIHJldHVybiB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgPyB1LndhaXRGb3JBc3luY0F0dHJpYnV0ZXMoKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gci5kZWJ1ZyhvLmNvbnN0cnVjdG9yLm5hbWUgKyBcIiBmb3VuZCByZXNvdXJjZS5cIiwgdSk7XG4gICAgICB9KSA6IHIuZGVidWcoby5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgZm91bmQgcmVzb3VyY2UuXCIsIHUpLCB1O1xuICAgIH0gY2F0Y2ggKGYpIHtcbiAgICAgIHJldHVybiByLmVycm9yKG8uY29uc3RydWN0b3IubmFtZSArIFwiIGZhaWxlZDogXCIgKyBmLm1lc3NhZ2UpLCBSJDEuZW1wdHkoKTtcbiAgICB9XG4gIH0pLCBpID0gdC5yZWR1Y2UoZnVuY3Rpb24obywgcikge1xuICAgIHJldHVybiBvLm1lcmdlKHIpO1xuICB9LCBSJDEuZW1wdHkoKSk7XG4gIHJldHVybiBpLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMgJiYgaS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkudGhlbihmdW5jdGlvbigpIHtcbiAgICBSKHQpO1xuICB9KSwgaTtcbn0sIFIgPSBmdW5jdGlvbihlKSB7XG4gIGUuZm9yRWFjaChmdW5jdGlvbihuKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKG4uYXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHQgPSBKU09OLnN0cmluZ2lmeShuLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuICAgICAgci52ZXJib3NlKHQpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBSJDEgYXMgUmVzb3VyY2UsIEogYXMgYnJvd3NlckRldGVjdG9yLCBPIGFzIGJyb3dzZXJEZXRlY3RvclN5bmMsICQgYXMgZGV0ZWN0UmVzb3VyY2VzLCB6IGFzIGRldGVjdFJlc291cmNlc1N5bmMsIFcgYXMgZW52RGV0ZWN0b3IsIFYgYXMgZW52RGV0ZWN0b3JTeW5jLCBIIGFzIGhvc3REZXRlY3RvciwgRiBhcyBob3N0RGV0ZWN0b3JTeW5jLCBYIGFzIG9zRGV0ZWN0b3IsIGsgYXMgb3NEZXRlY3RvclN5bmMsIEsgYXMgcHJvY2Vzc0RldGVjdG9yLCBZIGFzIHByb2Nlc3NEZXRlY3RvclN5bmMsIHEgYXMgc2VydmljZUluc3RhbmNlSWREZXRlY3RvclN5bmMgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQVc7QUFDekIsU0FBYyxLQUFMQyxVQUErQjtBQUN4QyxTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFNUQsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNDLElBQUk7QUFBQSxJQUNiO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNyQyxhQUFPLElBQUlULEVBQUksQ0FBQyxDQUFDO0FBQUEsSUFDbkIsR0FBR1M7QUFBQSxFQUNMLEVBQUU7QUFBQSxHQUNEQyxJQUFJLElBQUlGLEVBQUUsR0FBRztBQUFBO0FBQUEsRUFFZCxXQUFXO0FBQ1QsYUFBU0MsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPQSxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ3JDLGFBQU8sUUFBUSxRQUFRQyxFQUFFLE9BQU8sQ0FBQztBQUFBLElBQ25DLEdBQUdEO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSUQsR0FBR0UsSUFBSUgsR0FBR0ksSUFBSUgsR0FBR0ksSUFBSUwsR0FBRyxJQUFJQyxHQUFH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QUc7QUFDekIsc0JBQVFBLEVBQUUsT0FBTztBQUFBLGdCQUNmLEtBQUs7QUFDSCx5QkFBTyxDQUFDLEdBQUdGLENBQUc7QUFBQSxnQkFDaEIsS0FBSztBQUNILHlCQUFPLElBQUlFLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSUQsSUFBSSxFQUFFLDRCQUE0QixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUFBLGdCQUN2RyxLQUFLO0FBQ0gseUJBQU9DLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVU7QUFBQSxjQUNyQztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0gsQ0FBQztBQUFBLFFBQ0g7QUFDQSxRQUFBVCxJQUFJLElBQUluQixFQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxNQUNyQjtBQUNFLFFBQUFtQixJQUFJTztBQUNOLGFBQU9QLEVBQUUseUJBQXlCQSxFQUFFLHVCQUF1QixFQUFFLEtBQUssV0FBVztBQUMzRSxlQUFPakIsRUFBRSxNQUFNLEVBQUUsWUFBWSxPQUFPLG9CQUFvQmlCLENBQUM7QUFBQSxNQUMzRCxDQUFDLElBQUlqQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sb0JBQW9CaUIsQ0FBQyxHQUFHQTtBQUFBLElBQzVELFNBQVMsR0FBRztBQUNWLGFBQU9qQixFQUFFLE1BQU0sRUFBRSxZQUFZLE9BQU8sY0FBYyxFQUFFLE9BQU8sR0FBR0YsRUFBSSxNQUFNO0FBQUEsSUFDMUU7QUFBQSxFQUNGLENBQUMsR0FBRyxJQUFJaUIsRUFBRSxPQUFPLFNBQVMsR0FBRyxHQUFHO0FBQzlCLFdBQU8sRUFBRSxNQUFNLENBQUM7QUFBQSxFQUNsQixHQUFHakIsRUFBSSxNQUFNLENBQUM7QUFDZCxTQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxXQUFXO0FBQzVFLElBQUFzQyxFQUFFckIsQ0FBQztBQUFBLEVBQ0wsQ0FBQyxHQUFHO0FBQ04sR0FBR3FCLElBQUksU0FBUzdCLEdBQUc7QUFDakIsRUFBQUEsRUFBRSxRQUFRLFNBQVMsR0FBRztBQUNwQixRQUFJLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUc7QUFDeEMsVUFBSVEsSUFBSSxLQUFLLFVBQVUsRUFBRSxZQUFZLE1BQU0sQ0FBQztBQUM1QyxNQUFBZixFQUFFLFFBQVFlLENBQUM7QUFBQSxJQUNiO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbIlIkMSIsICJFIiwgInIiLCAiRVQiLCAib1MiLCAidFMiLCAiT1QiLCAiaVMiLCAiVCIsICJlIiwgImgiLCAiXyIsICJIIiwgIkYiLCAiWCIsICJrIiwgInEiLCAidCIsICJOIiwgInUiLCAiTyIsICJNIiwgIkoiLCAiTCIsICJ4IiwgIkMiLCAiciQxIiwgImMiLCAicyIsICJ5IiwgImciLCAiViIsICJCIiwgIlciLCAiVSIsICJTIiwgInAiLCAiJCIsICJSIl0KfQo=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as P, G as f, g as x, z as s, t as I, r as b } from "./index-H0dupMK0.js";
|
|
2
2
|
var L = P("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
|
|
3
3
|
function v(t) {
|
|
4
4
|
return t.getValue(L) === !0;
|
|
5
5
|
}
|
|
6
|
-
var p = P("OpenTelemetry Context Key B3 Debug Flag"), c = "b3",
|
|
7
|
-
function
|
|
6
|
+
var p = P("OpenTelemetry Context Key B3 Debug Flag"), c = "b3", _ = "x-b3-traceid", d = "x-b3-spanid", y = "x-b3-sampled", R = "x-b3-parentspanid", E = "x-b3-flags", j = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), m = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
|
|
7
|
+
function T(t) {
|
|
8
8
|
return t === s.SAMPLED || t === s.NONE;
|
|
9
9
|
}
|
|
10
10
|
function B(t) {
|
|
@@ -15,25 +15,25 @@ function l(t, r, e) {
|
|
|
15
15
|
return B(a);
|
|
16
16
|
}
|
|
17
17
|
function C(t, r) {
|
|
18
|
-
var e = l(t, r,
|
|
18
|
+
var e = l(t, r, _);
|
|
19
19
|
return typeof e == "string" ? e.padStart(32, "0") : "";
|
|
20
20
|
}
|
|
21
21
|
function F(t, r) {
|
|
22
|
-
var e = l(t, r,
|
|
22
|
+
var e = l(t, r, d);
|
|
23
23
|
return typeof e == "string" ? e : "";
|
|
24
24
|
}
|
|
25
25
|
function D(t, r) {
|
|
26
26
|
var e = l(t, r, E);
|
|
27
27
|
return e === "1" ? "1" : void 0;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function w(t, r) {
|
|
30
30
|
var e = l(t, r, y), a = D(t, r);
|
|
31
|
-
if (a === "1" ||
|
|
31
|
+
if (a === "1" || j.has(e))
|
|
32
32
|
return s.SAMPLED;
|
|
33
|
-
if (e === void 0 ||
|
|
33
|
+
if (e === void 0 || m.has(e))
|
|
34
34
|
return s.NONE;
|
|
35
35
|
}
|
|
36
|
-
var
|
|
36
|
+
var G = (
|
|
37
37
|
/** @class */
|
|
38
38
|
function() {
|
|
39
39
|
function t() {
|
|
@@ -42,11 +42,11 @@ var w = (
|
|
|
42
42
|
var n = f.getSpanContext(r);
|
|
43
43
|
if (!(!n || !x(n) || v(r))) {
|
|
44
44
|
var i = r.getValue(p);
|
|
45
|
-
a.set(e,
|
|
45
|
+
a.set(e, _, n.traceId), a.set(e, d, n.spanId), i === "1" ? a.set(e, E, i) : n.traceFlags !== void 0 && a.set(e, y, (s.SAMPLED & n.traceFlags) === s.SAMPLED ? "1" : "0");
|
|
46
46
|
}
|
|
47
47
|
}, t.prototype.extract = function(r, e, a) {
|
|
48
|
-
var n = C(e, a), i = F(e, a), o =
|
|
49
|
-
return
|
|
48
|
+
var n = C(e, a), i = F(e, a), o = w(e, a), u = D(e, a);
|
|
49
|
+
return I(n) && b(i) && T(o) ? (r = r.setValue(p, u), f.setSpanContext(r, {
|
|
50
50
|
traceId: n,
|
|
51
51
|
spanId: i,
|
|
52
52
|
isRemote: !0,
|
|
@@ -54,15 +54,15 @@ var w = (
|
|
|
54
54
|
})) : r;
|
|
55
55
|
}, t.prototype.fields = function() {
|
|
56
56
|
return [
|
|
57
|
+
_,
|
|
57
58
|
d,
|
|
58
|
-
g,
|
|
59
59
|
E,
|
|
60
60
|
y,
|
|
61
61
|
R
|
|
62
62
|
];
|
|
63
63
|
}, t;
|
|
64
64
|
}()
|
|
65
|
-
),
|
|
65
|
+
), H = function(t, r) {
|
|
66
66
|
var e = typeof Symbol == "function" && t[Symbol.iterator];
|
|
67
67
|
if (!e) return t;
|
|
68
68
|
var a = e.call(t), n, i = [], o;
|
|
@@ -78,14 +78,14 @@ var w = (
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
return i;
|
|
81
|
-
},
|
|
81
|
+
}, O = /((?:[0-9a-f]{16}){1,2})-([0-9a-f]{16})(?:-([01d](?![0-9a-f])))?(?:-([0-9a-f]{16}))?/, X = "0".repeat(16), V = /* @__PURE__ */ new Set(["d", "1"]), U = "d";
|
|
82
82
|
function K(t) {
|
|
83
83
|
return t.length === 32 ? t : "" + X + t;
|
|
84
84
|
}
|
|
85
85
|
function z(t) {
|
|
86
86
|
return t && V.has(t) ? s.SAMPLED : s.NONE;
|
|
87
87
|
}
|
|
88
|
-
var
|
|
88
|
+
var $ = (
|
|
89
89
|
/** @class */
|
|
90
90
|
function() {
|
|
91
91
|
function t() {
|
|
@@ -100,14 +100,14 @@ var k = (
|
|
|
100
100
|
var n = a.get(e, c), i = Array.isArray(n) ? n[0] : n;
|
|
101
101
|
if (typeof i != "string")
|
|
102
102
|
return r;
|
|
103
|
-
var o = i.match(
|
|
103
|
+
var o = i.match(O);
|
|
104
104
|
if (!o)
|
|
105
105
|
return r;
|
|
106
|
-
var u =
|
|
107
|
-
if (!
|
|
106
|
+
var u = H(o, 4), M = u[1], A = u[2], g = u[3], h = K(M);
|
|
107
|
+
if (!I(h) || !b(A))
|
|
108
108
|
return r;
|
|
109
|
-
var N = z(
|
|
110
|
-
return
|
|
109
|
+
var N = z(g);
|
|
110
|
+
return g === U && (r = r.setValue(p, g)), f.setSpanContext(r, {
|
|
111
111
|
traceId: h,
|
|
112
112
|
spanId: A,
|
|
113
113
|
isRemote: !0,
|
|
@@ -121,11 +121,11 @@ var k = (
|
|
|
121
121
|
(function(t) {
|
|
122
122
|
t[t.SINGLE_HEADER = 0] = "SINGLE_HEADER", t[t.MULTI_HEADER = 1] = "MULTI_HEADER";
|
|
123
123
|
})(S || (S = {}));
|
|
124
|
-
var
|
|
124
|
+
var Y = (
|
|
125
125
|
/** @class */
|
|
126
126
|
function() {
|
|
127
127
|
function t(r) {
|
|
128
|
-
r === void 0 && (r = {}), this._b3MultiPropagator = new
|
|
128
|
+
r === void 0 && (r = {}), this._b3MultiPropagator = new G(), this._b3SinglePropagator = new $(), r.injectEncoding === S.MULTI_HEADER ? (this._inject = this._b3MultiPropagator.inject, this._fields = this._b3MultiPropagator.fields()) : (this._inject = this._b3SinglePropagator.inject, this._fields = this._b3SinglePropagator.fields());
|
|
129
129
|
}
|
|
130
130
|
return t.prototype.inject = function(r, e, a) {
|
|
131
131
|
v(r) || this._inject(r, e, a);
|
|
@@ -139,12 +139,12 @@ var q = (
|
|
|
139
139
|
);
|
|
140
140
|
export {
|
|
141
141
|
S as B3InjectEncoding,
|
|
142
|
-
|
|
142
|
+
Y as B3Propagator,
|
|
143
143
|
c as B3_CONTEXT_HEADER,
|
|
144
144
|
E as X_B3_FLAGS,
|
|
145
145
|
R as X_B3_PARENT_SPAN_ID,
|
|
146
146
|
y as X_B3_SAMPLED,
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
d as X_B3_SPAN_ID,
|
|
148
|
+
_ as X_B3_TRACE_ID
|
|
149
149
|
};
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtSHVTeU56Y1QtIX57MDBtfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFQgYXMgVGksIFUgYXMgVWUsIGQgYXMgZG4sIGIgYXMganQsIHogYXMgemksIEggYXMgSGkgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIEMgPSBUaShcIk9wZW5UZWxlbWV0cnkgU0RLIENvbnRleHQgS2V5IFNVUFBSRVNTX1RSQUNJTkdcIik7XG5mdW5jdGlvbiBBKHIpIHtcbiAgcmV0dXJuIHIuZ2V0VmFsdWUoQykgPT09ICEwO1xufVxudmFyIHAgPSBUaShcIk9wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgQjMgRGVidWcgRmxhZ1wiKSwgZiA9IFwiYjNcIiwgdiA9IFwieC1iMy10cmFjZWlkXCIsIGcgPSBcIngtYjMtc3BhbmlkXCIsIGMgPSBcIngtYjMtc2FtcGxlZFwiLCBOID0gXCJ4LWIzLXBhcmVudHNwYW5pZFwiLCBTID0gXCJ4LWIzLWZsYWdzXCIsIFYgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbITAsIFwidHJ1ZVwiLCBcIlRydWVcIiwgXCIxXCIsIDFdKSwgQiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFshMSwgXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiMFwiLCAwXSk7XG5mdW5jdGlvbiBGKHIpIHtcbiAgcmV0dXJuIHIgPT09IGp0LlNBTVBMRUQgfHwgciA9PT0ganQuTk9ORTtcbn1cbmZ1bmN0aW9uIFIocikge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyKSA/IHJbMF0gOiByO1xufVxuZnVuY3Rpb24gZChyLCB0LCBlKSB7XG4gIHZhciBuID0gdC5nZXQociwgZSk7XG4gIHJldHVybiBSKG4pO1xufVxuZnVuY3Rpb24gbShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCB2KTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlLnBhZFN0YXJ0KDMyLCBcIjBcIikgOiBcIlwiO1xufVxuZnVuY3Rpb24geChyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBnKTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlIDogXCJcIjtcbn1cbmZ1bmN0aW9uIGgociwgdCkge1xuICB2YXIgZSA9IGQociwgdCwgUyk7XG4gIHJldHVybiBlID09PSBcIjFcIiA/IFwiMVwiIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gVShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBjKSwgbiA9IGgociwgdCk7XG4gIGlmIChuID09PSBcIjFcIiB8fCBWLmhhcyhlKSlcbiAgICByZXR1cm4ganQuU0FNUExFRDtcbiAgaWYgKGUgPT09IHZvaWQgMCB8fCBCLmhhcyhlKSlcbiAgICByZXR1cm4ganQuTk9ORTtcbn1cbnZhciBHID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5pbmplY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IFVlLmdldFNwYW5Db250ZXh0KHQpO1xuICAgICAgaWYgKCEoIWEgfHwgIWRuKGEpIHx8IEEodCkpKSB7XG4gICAgICAgIHZhciBpID0gdC5nZXRWYWx1ZShwKTtcbiAgICAgICAgbi5zZXQoZSwgdiwgYS50cmFjZUlkKSwgbi5zZXQoZSwgZywgYS5zcGFuSWQpLCBpID09PSBcIjFcIiA/IG4uc2V0KGUsIFMsIGkpIDogYS50cmFjZUZsYWdzICE9PSB2b2lkIDAgJiYgbi5zZXQoZSwgYywgKGp0LlNBTVBMRUQgJiBhLnRyYWNlRmxhZ3MpID09PSBqdC5TQU1QTEVEID8gXCIxXCIgOiBcIjBcIik7XG4gICAgICB9XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbShlLCBuKSwgaSA9IHgoZSwgbiksIHUgPSBVKGUsIG4pLCBzID0gaChlLCBuKTtcbiAgICAgIHJldHVybiB6aShhKSAmJiBIaShpKSAmJiBGKHUpID8gKHQgPSB0LnNldFZhbHVlKHAsIHMpLCBVZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IGEsXG4gICAgICAgIHNwYW5JZDogaSxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiB1XG4gICAgICB9KSkgOiB0O1xuICAgIH0sIHIucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdixcbiAgICAgICAgZyxcbiAgICAgICAgUyxcbiAgICAgICAgYyxcbiAgICAgICAgTlxuICAgICAgXTtcbiAgICB9LCByO1xuICB9KClcbiksIEggPSBmdW5jdGlvbihyLCB0KSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgcltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiByO1xuICB2YXIgbiA9IGUuY2FsbChyKSwgYSwgaSA9IFtdLCB1O1xuICB0cnkge1xuICAgIGZvciAoOyAodCA9PT0gdm9pZCAwIHx8IHQtLSA+IDApICYmICEoYSA9IG4ubmV4dCgpKS5kb25lOyApIGkucHVzaChhLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIHUgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGEgJiYgIWEuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICh1KSB0aHJvdyB1LmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaTtcbn0sIFggPSAvKCg/OlswLTlhLWZdezE2fSl7MSwyfSktKFswLTlhLWZdezE2fSkoPzotKFswMWRdKD8hWzAtOWEtZl0pKSk/KD86LShbMC05YS1mXXsxNn0pKT8vLCBqID0gXCIwXCIucmVwZWF0KDE2KSwgdyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcImRcIiwgXCIxXCJdKSwgTyA9IFwiZFwiO1xuZnVuY3Rpb24gSyhyKSB7XG4gIHJldHVybiByLmxlbmd0aCA9PT0gMzIgPyByIDogXCJcIiArIGogKyByO1xufVxuZnVuY3Rpb24gWShyKSB7XG4gIHJldHVybiByICYmIHcuaGFzKHIpID8ganQuU0FNUExFRCA6IGp0Lk5PTkU7XG59XG52YXIgayA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgdmFyIGEgPSBVZS5nZXRTcGFuQ29udGV4dCh0KTtcbiAgICAgIGlmICghKCFhIHx8ICFkbihhKSB8fCBBKHQpKSkge1xuICAgICAgICB2YXIgaSA9IHQuZ2V0VmFsdWUocCkgfHwgYS50cmFjZUZsYWdzICYgMSwgdSA9IGEudHJhY2VJZCArIFwiLVwiICsgYS5zcGFuSWQgKyBcIi1cIiArIGk7XG4gICAgICAgIG4uc2V0KGUsIGYsIHUpO1xuICAgICAgfVxuICAgIH0sIHIucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IG4uZ2V0KGUsIGYpLCBpID0gQXJyYXkuaXNBcnJheShhKSA/IGFbMF0gOiBhO1xuICAgICAgaWYgKHR5cGVvZiBpICE9IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiB0O1xuICAgICAgdmFyIHUgPSBpLm1hdGNoKFgpO1xuICAgICAgaWYgKCF1KVxuICAgICAgICByZXR1cm4gdDtcbiAgICAgIHZhciBzID0gSCh1LCA0KSwgTCA9IHNbMV0sIFAgPSBzWzJdLCBfID0gc1szXSwgeSA9IEsoTCk7XG4gICAgICBpZiAoIXppKHkpIHx8ICFIaShQKSlcbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgICB2YXIgTSA9IFkoXyk7XG4gICAgICByZXR1cm4gXyA9PT0gTyAmJiAodCA9IHQuc2V0VmFsdWUocCwgXykpLCBVZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IHksXG4gICAgICAgIHNwYW5JZDogUCxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiBNXG4gICAgICB9KTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBbZl07XG4gICAgfSwgcjtcbiAgfSgpXG4pLCBFO1xuKGZ1bmN0aW9uKHIpIHtcbiAgcltyLlNJTkdMRV9IRUFERVIgPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiLCByW3IuTVVMVElfSEVBREVSID0gMV0gPSBcIk1VTFRJX0hFQURFUlwiO1xufSkoRSB8fCAoRSA9IHt9KSk7XG52YXIgeiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKHQpIHtcbiAgICAgIHQgPT09IHZvaWQgMCAmJiAodCA9IHt9KSwgdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IgPSBuZXcgRygpLCB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IgPSBuZXcgaygpLCB0LmluamVjdEVuY29kaW5nID09PSBFLk1VTFRJX0hFQURFUiA/ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5pbmplY3QsIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpKSA6ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuaW5qZWN0LCB0aGlzLl9maWVsZHMgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuZmllbGRzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgQSh0KSB8fCB0aGlzLl9pbmplY3QodCwgZSwgbik7XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbi5nZXQoZSwgZiksIGkgPSBBcnJheS5pc0FycmF5KGEpID8gYVswXSA6IGE7XG4gICAgICByZXR1cm4gaSA/IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5leHRyYWN0KHQsIGUsIG4pIDogdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuZXh0cmFjdCh0LCBlLCBuKTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gICAgfSwgcjtcbiAgfSgpXG4pO1xuXG5leHBvcnQgeyBFIGFzIEIzSW5qZWN0RW5jb2RpbmcsIHogYXMgQjNQcm9wYWdhdG9yLCBmIGFzIEIzX0NPTlRFWFRfSEVBREVSLCBTIGFzIFhfQjNfRkxBR1MsIE4gYXMgWF9CM19QQVJFTlRfU1BBTl9JRCwgYyBhcyBYX0IzX1NBTVBMRUQsIGcgYXMgWF9CM19TUEFOX0lELCB2IGFzIFhfQjNfVFJBQ0VfSUQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBRXJFLElBQUlDLElBQUlOLEVBQUcsZ0RBQWdEO0FBQzNELFNBQVNPLEVBQUVDLEdBQUc7QUFDWixTQUFPQSxFQUFFLFNBQVNGLENBQUMsTUFBTTtBQUMzQjtBQUNBLElBQUksSUFBSU4sRUFBRyx5Q0FBeUMsR0FBR1MsSUFBSSxNQUFNQyxJQUFJLGdCQUFnQixJQUFJLGVBQWVDLElBQUksZ0JBQWdCQyxJQUFJLHFCQUFxQkMsSUFBSSxjQUFjQyxJQUFvQixvQkFBSSxJQUFJLENBQUMsSUFBSSxRQUFRLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FBR0MsSUFBb0Isb0JBQUksSUFBSSxDQUFDLElBQUksU0FBUyxTQUFTLEtBQUssQ0FBQyxDQUFDO0FBQzVSLFNBQVNDLEVBQUVSLEdBQUc7QUFDWixTQUFPQSxNQUFNTCxFQUFHLFdBQVdLLE1BQU1MLEVBQUc7QUFDdEM7QUFDQSxT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SSxDQUFDLEVBQUU7QUFDaEIsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNoQyxFQUFFVyxHQUFHO0FBQ1osTUFBQUEsTUFBTSxXQUFXQSxJQUFJLENBQUMsSUFBSSxLQUFLLHFCQUFxQixJQUFJTSxFQUFFLEdBQUcsS0FBSyxzQkFBc0IsSUFBSSxFQUFFLEdBQUdOLEVBQUUsbUJBQW1Cb0IsRUFBRSxnQkFBZ0IsS0FBSyxVQUFVLEtBQUssbUJBQW1CLFFBQVEsS0FBSyxVQUFVLEtBQUssbUJBQW1CLE9BQU8sTUFBTSxLQUFLLFVBQVUsS0FBSyxvQkFBb0IsUUFBUSxLQUFLLFVBQVUsS0FBSyxvQkFBb0IsT0FBTztBQUFBLElBQzVVO0FBQ0EsV0FBTy9CLEVBQUUsVUFBVSxTQUFTLFNBQVNXLEdBQUcsR0FBR0MsR0FBRztBQUM1QyxNQUFBYixFQUFFWSxDQUFDLEtBQUssS0FBSyxRQUFRQSxHQUFHLEdBQUdDLENBQUM7QUFBQSxJQUM5QixHQUFHWixFQUFFLFVBQVUsVUFBVSxTQUFTVyxHQUFHLEdBQUdDLEdBQUc7QUFDekMsVUFBSU0sSUFBSU4sRUFBRSxJQUFJLEdBQUdYLENBQUMsR0FBRyxJQUFJLE1BQU0sUUFBUWlCLENBQUMsSUFBSUEsRUFBRSxDQUFDLElBQUlBO0FBQ25ELGFBQU8sSUFBSSxLQUFLLG9CQUFvQixRQUFRUCxHQUFHLEdBQUdDLENBQUMsSUFBSSxLQUFLLG1CQUFtQixRQUFRRCxHQUFHLEdBQUdDLENBQUM7QUFBQSxJQUNoRyxHQUFHWixFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLGFBQU8sS0FBSztBQUFBLElBQ2QsR0FBR0E7QUFBQSxFQUNMLEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiVGkiLCAiVWUiLCAiZG4iLCAianQiLCAiemkiLCAiSGkiLCAiQyIsICJBIiwgInIiLCAiZiIsICJ2IiwgImMiLCAiTiIsICJTIiwgIlYiLCAiQiIsICJGIiwgIlIiLCAiZCIsICJ0IiwgIm4iLCAibSIsICJ4IiwgImgiLCAiVSIsICJHIiwgImEiLCAidSIsICJzIiwgIkgiLCAiWCIsICJqIiwgInciLCAiTyIsICJZIiwgIkwiLCAiUCIsICJ5IiwgIk0iLCAiRSIsICJ6Il0KfQo=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQlVId1BLRUstIX57MDBtfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7ICQgYXMgJGksIEcgYXMgR2UsIGcgYXMgZ24sIHogYXMgenQsIHQgYXMgdHMsIHIgYXMgcnMgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIEMgPSAkaShcIk9wZW5UZWxlbWV0cnkgU0RLIENvbnRleHQgS2V5IFNVUFBSRVNTX1RSQUNJTkdcIik7XG5mdW5jdGlvbiBBKHIpIHtcbiAgcmV0dXJuIHIuZ2V0VmFsdWUoQykgPT09ICEwO1xufVxudmFyIHAgPSAkaShcIk9wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgQjMgRGVidWcgRmxhZ1wiKSwgZiA9IFwiYjNcIiwgdiA9IFwieC1iMy10cmFjZWlkXCIsIGcgPSBcIngtYjMtc3BhbmlkXCIsIGMgPSBcIngtYjMtc2FtcGxlZFwiLCBOID0gXCJ4LWIzLXBhcmVudHNwYW5pZFwiLCBTID0gXCJ4LWIzLWZsYWdzXCIsIFYgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbITAsIFwidHJ1ZVwiLCBcIlRydWVcIiwgXCIxXCIsIDFdKSwgQiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFshMSwgXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiMFwiLCAwXSk7XG5mdW5jdGlvbiBGKHIpIHtcbiAgcmV0dXJuIHIgPT09IHp0LlNBTVBMRUQgfHwgciA9PT0genQuTk9ORTtcbn1cbmZ1bmN0aW9uIFIocikge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyKSA/IHJbMF0gOiByO1xufVxuZnVuY3Rpb24gZChyLCB0LCBlKSB7XG4gIHZhciBuID0gdC5nZXQociwgZSk7XG4gIHJldHVybiBSKG4pO1xufVxuZnVuY3Rpb24gbShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCB2KTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlLnBhZFN0YXJ0KDMyLCBcIjBcIikgOiBcIlwiO1xufVxuZnVuY3Rpb24geChyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBnKTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlIDogXCJcIjtcbn1cbmZ1bmN0aW9uIGgociwgdCkge1xuICB2YXIgZSA9IGQociwgdCwgUyk7XG4gIHJldHVybiBlID09PSBcIjFcIiA/IFwiMVwiIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gVShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBjKSwgbiA9IGgociwgdCk7XG4gIGlmIChuID09PSBcIjFcIiB8fCBWLmhhcyhlKSlcbiAgICByZXR1cm4genQuU0FNUExFRDtcbiAgaWYgKGUgPT09IHZvaWQgMCB8fCBCLmhhcyhlKSlcbiAgICByZXR1cm4genQuTk9ORTtcbn1cbnZhciBHID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5pbmplY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IEdlLmdldFNwYW5Db250ZXh0KHQpO1xuICAgICAgaWYgKCEoIWEgfHwgIWduKGEpIHx8IEEodCkpKSB7XG4gICAgICAgIHZhciBpID0gdC5nZXRWYWx1ZShwKTtcbiAgICAgICAgbi5zZXQoZSwgdiwgYS50cmFjZUlkKSwgbi5zZXQoZSwgZywgYS5zcGFuSWQpLCBpID09PSBcIjFcIiA/IG4uc2V0KGUsIFMsIGkpIDogYS50cmFjZUZsYWdzICE9PSB2b2lkIDAgJiYgbi5zZXQoZSwgYywgKHp0LlNBTVBMRUQgJiBhLnRyYWNlRmxhZ3MpID09PSB6dC5TQU1QTEVEID8gXCIxXCIgOiBcIjBcIik7XG4gICAgICB9XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbShlLCBuKSwgaSA9IHgoZSwgbiksIHUgPSBVKGUsIG4pLCBzID0gaChlLCBuKTtcbiAgICAgIHJldHVybiB0cyhhKSAmJiBycyhpKSAmJiBGKHUpID8gKHQgPSB0LnNldFZhbHVlKHAsIHMpLCBHZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IGEsXG4gICAgICAgIHNwYW5JZDogaSxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiB1XG4gICAgICB9KSkgOiB0O1xuICAgIH0sIHIucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdixcbiAgICAgICAgZyxcbiAgICAgICAgUyxcbiAgICAgICAgYyxcbiAgICAgICAgTlxuICAgICAgXTtcbiAgICB9LCByO1xuICB9KClcbiksIEggPSBmdW5jdGlvbihyLCB0KSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgcltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiByO1xuICB2YXIgbiA9IGUuY2FsbChyKSwgYSwgaSA9IFtdLCB1O1xuICB0cnkge1xuICAgIGZvciAoOyAodCA9PT0gdm9pZCAwIHx8IHQtLSA+IDApICYmICEoYSA9IG4ubmV4dCgpKS5kb25lOyApIGkucHVzaChhLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIHUgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGEgJiYgIWEuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICh1KSB0aHJvdyB1LmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaTtcbn0sIFggPSAvKCg/OlswLTlhLWZdezE2fSl7MSwyfSktKFswLTlhLWZdezE2fSkoPzotKFswMWRdKD8hWzAtOWEtZl0pKSk/KD86LShbMC05YS1mXXsxNn0pKT8vLCBqID0gXCIwXCIucmVwZWF0KDE2KSwgdyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcImRcIiwgXCIxXCJdKSwgTyA9IFwiZFwiO1xuZnVuY3Rpb24gSyhyKSB7XG4gIHJldHVybiByLmxlbmd0aCA9PT0gMzIgPyByIDogXCJcIiArIGogKyByO1xufVxuZnVuY3Rpb24gWShyKSB7XG4gIHJldHVybiByICYmIHcuaGFzKHIpID8genQuU0FNUExFRCA6IHp0Lk5PTkU7XG59XG52YXIgayA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgdmFyIGEgPSBHZS5nZXRTcGFuQ29udGV4dCh0KTtcbiAgICAgIGlmICghKCFhIHx8ICFnbihhKSB8fCBBKHQpKSkge1xuICAgICAgICB2YXIgaSA9IHQuZ2V0VmFsdWUocCkgfHwgYS50cmFjZUZsYWdzICYgMSwgdSA9IGEudHJhY2VJZCArIFwiLVwiICsgYS5zcGFuSWQgKyBcIi1cIiArIGk7XG4gICAgICAgIG4uc2V0KGUsIGYsIHUpO1xuICAgICAgfVxuICAgIH0sIHIucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IG4uZ2V0KGUsIGYpLCBpID0gQXJyYXkuaXNBcnJheShhKSA/IGFbMF0gOiBhO1xuICAgICAgaWYgKHR5cGVvZiBpICE9IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiB0O1xuICAgICAgdmFyIHUgPSBpLm1hdGNoKFgpO1xuICAgICAgaWYgKCF1KVxuICAgICAgICByZXR1cm4gdDtcbiAgICAgIHZhciBzID0gSCh1LCA0KSwgTCA9IHNbMV0sIFAgPSBzWzJdLCBfID0gc1szXSwgeSA9IEsoTCk7XG4gICAgICBpZiAoIXRzKHkpIHx8ICFycyhQKSlcbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgICB2YXIgTSA9IFkoXyk7XG4gICAgICByZXR1cm4gXyA9PT0gTyAmJiAodCA9IHQuc2V0VmFsdWUocCwgXykpLCBHZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IHksXG4gICAgICAgIHNwYW5JZDogUCxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiBNXG4gICAgICB9KTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBbZl07XG4gICAgfSwgcjtcbiAgfSgpXG4pLCBFO1xuKGZ1bmN0aW9uKHIpIHtcbiAgcltyLlNJTkdMRV9IRUFERVIgPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiLCByW3IuTVVMVElfSEVBREVSID0gMV0gPSBcIk1VTFRJX0hFQURFUlwiO1xufSkoRSB8fCAoRSA9IHt9KSk7XG52YXIgeiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKHQpIHtcbiAgICAgIHQgPT09IHZvaWQgMCAmJiAodCA9IHt9KSwgdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IgPSBuZXcgRygpLCB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IgPSBuZXcgaygpLCB0LmluamVjdEVuY29kaW5nID09PSBFLk1VTFRJX0hFQURFUiA/ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5pbmplY3QsIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpKSA6ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuaW5qZWN0LCB0aGlzLl9maWVsZHMgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuZmllbGRzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgQSh0KSB8fCB0aGlzLl9pbmplY3QodCwgZSwgbik7XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbi5nZXQoZSwgZiksIGkgPSBBcnJheS5pc0FycmF5KGEpID8gYVswXSA6IGE7XG4gICAgICByZXR1cm4gaSA/IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5leHRyYWN0KHQsIGUsIG4pIDogdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuZXh0cmFjdCh0LCBlLCBuKTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gICAgfSwgcjtcbiAgfSgpXG4pO1xuXG5leHBvcnQgeyBFIGFzIEIzSW5qZWN0RW5jb2RpbmcsIHogYXMgQjNQcm9wYWdhdG9yLCBmIGFzIEIzX0NPTlRFWFRfSEVBREVSLCBTIGFzIFhfQjNfRkxBR1MsIE4gYXMgWF9CM19QQVJFTlRfU1BBTl9JRCwgYyBhcyBYX0IzX1NBTVBMRUQsIGcgYXMgWF9CM19TUEFOX0lELCB2IGFzIFhfQjNfVFJBQ0VfSUQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBRXJFLElBQUlDLElBQUlOLEVBQUcsZ0RBQWdEO0FBQzNELFNBQVNPLEVBQUVDLEdBQUc7QUFDWixTQUFPQSxFQUFFLFNBQVNGLENBQUMsTUFBTTtBQUMzQjtBQUNBLElBQUksSUFBSU4sRUFBRyx5Q0FBeUMsR0FBR1MsSUFBSSxNQUFNQyxJQUFJLGdCQUFnQkMsSUFBSSxlQUFlQyxJQUFJLGdCQUFnQkMsSUFBSSxxQkFBcUJDLElBQUksY0FBY0MsSUFBb0Isb0JBQUksSUFBSSxDQUFDLElBQUksUUFBUSxRQUFRLEtBQUssQ0FBQyxDQUFDLEdBQUdDLElBQW9CLG9CQUFJLElBQUksQ0FBQyxJQUFJLFNBQVMsU0FBUyxLQUFLLENBQUMsQ0FBQztBQUM1UixTQUFTQyxFQUFFVCxHQUFHO0FBQ1osU0FBT0EsTUFBTUwsRUFBRyxXQUFXSyxNQUFNTCxFQUFHO0FBQ3RDO0FBQ0Es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QU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlDO0FBQUE7QUFBQSxFQUVGLFdBQVc7QUFDVCxhQUFTakMsRUFBRVksR0FBRztBQUNaLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsSUFBSSxFQUFFLEdBQUcsS0FBSyxzQkFBc0IsSUFBSWMsRUFBRSxHQUFHZCxFQUFFLG1CQUFtQm9CLEVBQUUsZ0JBQWdCLEtBQUssVUFBVSxLQUFLLG1CQUFtQixRQUFRLEtBQUssVUFBVSxLQUFLLG1CQUFtQixPQUFPLE1BQU0sS0FBSyxVQUFVLEtBQUssb0JBQW9CLFFBQVEsS0FBSyxVQUFVLEtBQUssb0JBQW9CLE9BQU87QUFBQSxJQUM1VTtBQUNBLFdBQU9oQyxFQUFFLFVBQVUsU0FBUyxTQUFTWSxHQUFHLEdBQUdDLEdBQUc7QUFDNUMsTUFBQWQsRUFBRWEsQ0FBQyxLQUFLLEtBQUssUUFBUUEsR0FBRyxHQUFHQyxDQUFDO0FBQUEsSUFDOUIsR0FBR2IsRUFBRSxVQUFVLFVBQVUsU0FBU1ksR0FBRyxHQUFHQyxHQUFHO0FBQ3pDLFVBQUlLLElBQUlMLEVBQUUsSUFBSSxHQUFHWixDQUFDLEdBQUcsSUFBSSxNQUFNLFFBQVFpQixDQUFDLElBQUlBLEVBQUUsQ0FBQyxJQUFJQTtBQUNuRCxhQUFPLElBQUksS0FBSyxvQkFBb0IsUUFBUU4sR0FBRyxHQUFHQyxDQUFDLElBQUksS0FBSyxtQkFBbUIsUUFBUUQsR0FBRyxHQUFHQyxDQUFDO0FBQUEsSUFDaEcsR0FBR2IsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNqQyxhQUFPLEtBQUs7QUFBQSxJQUNkLEdBQUdBO0FBQUEsRUFDTCxFQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbIiRpIiwgIkdlIiwgImduIiwgInp0IiwgInRzIiwgInJzIiwgIkMiLCAiQSIsICJyIiwgImYiLCAidiIsICJnIiwgImMiLCAiTiIsICJTIiwgIlYiLCAiQiIsICJGIiwgIlIiLCAiZCIsICJ0IiwgIm4iLCAibSIsICJ4IiwgImgiLCAiVSIsICJhIiwgInUiLCAicyIsICJYIiwgImoiLCAidyIsICJPIiwgIlkiLCAiayIsICJMIiwgIlAiLCAiXyIsICJ5IiwgIk0iLCAiRSIsICJ6Il0KfQo=
|