@esotericsoftware/spine-core 4.2.81 → 4.2.83

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.
Files changed (94) hide show
  1. package/LICENSE +12 -12
  2. package/dist/Animation.d.ts +6 -6
  3. package/dist/Animation.js +7 -7
  4. package/dist/AnimationState.d.ts +6 -6
  5. package/dist/AnimationState.js +7 -7
  6. package/dist/AnimationStateData.d.ts +6 -6
  7. package/dist/AnimationStateData.js +7 -7
  8. package/dist/AssetManagerBase.d.ts +18 -6
  9. package/dist/AssetManagerBase.js +189 -75
  10. package/dist/AtlasAttachmentLoader.d.ts +6 -6
  11. package/dist/AtlasAttachmentLoader.js +7 -7
  12. package/dist/Bone.d.ts +6 -6
  13. package/dist/Bone.js +7 -7
  14. package/dist/BoneData.d.ts +6 -6
  15. package/dist/BoneData.js +7 -7
  16. package/dist/ConstraintData.d.ts +6 -6
  17. package/dist/ConstraintData.js +7 -7
  18. package/dist/Event.d.ts +6 -6
  19. package/dist/Event.js +7 -7
  20. package/dist/EventData.d.ts +6 -6
  21. package/dist/EventData.js +7 -7
  22. package/dist/IkConstraint.d.ts +6 -6
  23. package/dist/IkConstraint.js +7 -7
  24. package/dist/IkConstraintData.d.ts +6 -6
  25. package/dist/IkConstraintData.js +7 -7
  26. package/dist/PathConstraint.d.ts +6 -6
  27. package/dist/PathConstraint.js +7 -7
  28. package/dist/PathConstraintData.d.ts +6 -6
  29. package/dist/PathConstraintData.js +7 -7
  30. package/dist/PhysicsConstraint.d.ts +6 -6
  31. package/dist/PhysicsConstraint.js +7 -7
  32. package/dist/PhysicsConstraintData.d.ts +6 -6
  33. package/dist/PhysicsConstraintData.js +7 -7
  34. package/dist/Skeleton.d.ts +6 -6
  35. package/dist/Skeleton.js +7 -7
  36. package/dist/SkeletonBinary.d.ts +6 -6
  37. package/dist/SkeletonBinary.js +7 -7
  38. package/dist/SkeletonBounds.d.ts +6 -6
  39. package/dist/SkeletonBounds.js +7 -7
  40. package/dist/SkeletonClipping.d.ts +6 -6
  41. package/dist/SkeletonClipping.js +7 -7
  42. package/dist/SkeletonData.d.ts +6 -6
  43. package/dist/SkeletonData.js +7 -7
  44. package/dist/SkeletonJson.d.ts +6 -6
  45. package/dist/SkeletonJson.js +7 -7
  46. package/dist/Skin.d.ts +6 -6
  47. package/dist/Skin.js +7 -7
  48. package/dist/Slot.d.ts +6 -6
  49. package/dist/Slot.js +7 -7
  50. package/dist/SlotData.d.ts +6 -6
  51. package/dist/SlotData.js +7 -7
  52. package/dist/Texture.d.ts +6 -6
  53. package/dist/Texture.js +7 -7
  54. package/dist/TextureAtlas.d.ts +6 -6
  55. package/dist/TextureAtlas.js +7 -7
  56. package/dist/TransformConstraint.d.ts +6 -6
  57. package/dist/TransformConstraint.js +7 -7
  58. package/dist/TransformConstraintData.d.ts +6 -6
  59. package/dist/TransformConstraintData.js +7 -7
  60. package/dist/Triangulator.d.ts +6 -6
  61. package/dist/Triangulator.js +7 -7
  62. package/dist/Updatable.d.ts +6 -6
  63. package/dist/Updatable.js +7 -7
  64. package/dist/Utils.d.ts +7 -7
  65. package/dist/Utils.js +9 -9
  66. package/dist/attachments/Attachment.d.ts +6 -6
  67. package/dist/attachments/Attachment.js +7 -7
  68. package/dist/attachments/AttachmentLoader.d.ts +6 -6
  69. package/dist/attachments/AttachmentLoader.js +7 -7
  70. package/dist/attachments/BoundingBoxAttachment.d.ts +6 -6
  71. package/dist/attachments/BoundingBoxAttachment.js +7 -7
  72. package/dist/attachments/ClippingAttachment.d.ts +6 -6
  73. package/dist/attachments/ClippingAttachment.js +7 -7
  74. package/dist/attachments/HasTextureRegion.d.ts +6 -6
  75. package/dist/attachments/HasTextureRegion.js +7 -7
  76. package/dist/attachments/MeshAttachment.d.ts +6 -6
  77. package/dist/attachments/MeshAttachment.js +7 -7
  78. package/dist/attachments/PathAttachment.d.ts +6 -6
  79. package/dist/attachments/PathAttachment.js +7 -7
  80. package/dist/attachments/PointAttachment.d.ts +6 -6
  81. package/dist/attachments/PointAttachment.js +7 -7
  82. package/dist/attachments/RegionAttachment.d.ts +6 -6
  83. package/dist/attachments/RegionAttachment.js +7 -7
  84. package/dist/attachments/Sequence.d.ts +6 -6
  85. package/dist/attachments/Sequence.js +7 -7
  86. package/dist/esm/spine-core.min.mjs +2 -2
  87. package/dist/esm/spine-core.mjs +829 -1233
  88. package/dist/esm/spine-core.mjs.map +3 -3
  89. package/dist/iife/spine-core.js +832 -1234
  90. package/dist/iife/spine-core.js.map +3 -3
  91. package/dist/iife/spine-core.min.js +2 -2
  92. package/dist/polyfills.d.ts +6 -6
  93. package/dist/polyfills.js +7 -7
  94. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { TextureAtlasRegion } from "../TextureAtlas.js";
30
30
  import { Color, Utils } from "../Utils.js";
@@ -187,4 +187,4 @@ export class MeshAttachment extends VertexAttachment {
187
187
  return copy;
188
188
  }
189
189
  }
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzaEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvTWVzaEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQW1CLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUsvRDs7OytGQUcrRjtBQUMvRixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUNuRCxNQUFNLEdBQXlCLElBQUksQ0FBQztJQUVwQywwREFBMEQ7SUFDMUQsSUFBSSxDQUFTO0lBRWIseUVBQXlFO0lBQ3pFLFNBQVMsR0FBb0IsRUFBRSxDQUFDO0lBRWhDOztpQ0FFNkI7SUFDN0IsR0FBRyxHQUFvQixFQUFFLENBQUM7SUFFMUIsMEVBQTBFO0lBQzFFLFNBQVMsR0FBa0IsRUFBRSxDQUFDO0lBRTlCLGtDQUFrQztJQUNsQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUIseUZBQXlGO0lBQ3pGLEtBQUssR0FBVyxDQUFDLENBQUM7SUFFbEIsMEZBQTBGO0lBQzFGLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFFbkIsOEZBQThGO0lBQzlGLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFFdkI7b0ZBQ2dGO0lBQ2hGLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWxCLFVBQVUsR0FBMEIsSUFBSSxDQUFDO0lBRWpELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBRWpDLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxD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QUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxrSEFBa0g7SUFDbEgsYUFBYTtRQUNaLElBQUksSUFBSSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBKdWx5IDI4LCAyMDIzLiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjMsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3JcbiAqIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSEVcbiAqIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBUZXh0dXJlUmVnaW9uIH0gZnJvbSBcIi4uL1RleHR1cmUuanNcIjtcbmltcG9ydCB7IFRleHR1cmVBdGxhc1JlZ2lvbiB9IGZyb20gXCIuLi9UZXh0dXJlQXRsYXMuanNcIjtcbmltcG9ydCB7IENvbG9yLCBOdW1iZXJBcnJheUxpa2UsIFV0aWxzIH0gZnJvbSBcIi4uL1V0aWxzLmpzXCI7XG5pbXBvcnQgeyBWZXJ0ZXhBdHRhY2htZW50LCBBdHRhY2htZW50IH0gZnJvbSBcIi4vQXR0YWNobWVudC5qc1wiO1xuaW1wb3J0IHsgSGFzVGV4dHVyZVJlZ2lvbiB9IGZyb20gXCIuL0hhc1RleHR1cmVSZWdpb24uanNcIjtcbmltcG9ydCB7IFNlcXVlbmNlIH0gZnJvbSBcIi4vU2VxdWVuY2UuanNcIjtcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiLi4vU2xvdC5qc1wiO1xuXG4vKiogQW4gYXR0YWNobWVudCB0aGF0IGRpc3BsYXlzIGEgdGV4dHVyZWQgbWVzaC4gQSBtZXNoIGhhcyBodWxsIHZlcnRpY2VzIGFuZCBpbnRlcm5hbCB2ZXJ0aWNlcyB3aXRoaW4gdGhlIGh1bGwuIEhvbGVzIGFyZSBub3RcbiAqIHN1cHBvcnRlZC4gRWFjaCB2ZXJ0ZXggaGFzIFVWcyAodGV4dHVyZSBjb29yZGluYXRlcykgYW5kIHRyaWFuZ2xlcyBhcmUgdXNlZCB0byBtYXAgYW4gaW1hZ2Ugb24gdG8gdGhlIG1lc2guXG4gKlxuICogU2VlIFtNZXNoIGF0dGFjaG1lbnRzXShodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtbWVzaGVzKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBNZXNoQXR0YWNobWVudCBleHRlbmRzIFZlcnRleEF0dGFjaG1lbnQgaW1wbGVtZW50cyBIYXNUZXh0dXJlUmVnaW9uIHtcblx0cmVnaW9uOiBUZXh0dXJlUmVnaW9uIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqIFRoZSBuYW1lIG9mIHRoZSB0ZXh0dXJlIHJlZ2lvbiBmb3IgdGhpcyBhdHRhY2htZW50LiAqL1xuXHRwYXRoOiBzdHJpbmc7XG5cblx0LyoqIFRoZSBVViBwYWlyIGZvciBlYWNoIHZlcnRleCwgbm9ybWFsaXplZCB3aXRoaW4gdGhlIHRleHR1cmUgcmVnaW9uLiAqL1xuXHRyZWdpb25VVnM6IE51bWJlckFycmF5TGlrZSA9IFtdO1xuXG5cdC8qKiBUaGUgVVYgcGFpciBmb3IgZWFjaCB2ZXJ0ZXgsIG5vcm1hbGl6ZWQgd2l0aGluIHRoZSBlbnRpcmUgdGV4dHVyZS5cblx0ICpcblx0ICogU2VlIHtAbGluayAjdXBkYXRlVVZzfS4gKi9cblx0dXZzOiBOdW1iZXJBcnJheUxpa2UgPSBbXTtcblxuXHQvKiogVHJpcGxldHMgb2YgdmVydGV4IGluZGljZXMgd2hpY2ggZGVzY3JpYmUgdGhlIG1lc2gncyB0cmlhbmd1bGF0aW9uLiAqL1xuXHR0cmlhbmdsZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuXHQvKiogVGhlIGNvbG9yIHRvIHRpbnQgdGhlIG1lc2guICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgd2lkdGggb2YgdGhlIG1lc2gncyBpbWFnZS4gQXZhaWxhYmxlIG9ubHkgd2hlbiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuICovXG5cdHdpZHRoOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBtZXNoJ3MgaW1hZ2UuIEF2YWlsYWJsZSBvbmx5IHdoZW4gbm9uZXNzZW50aWFsIGRhdGEgd2FzIGV4cG9ydGVkLiAqL1xuXHRoZWlnaHQ6IG51bWJlciA9IDA7XG5cblx0LyoqIFRoZSBudW1iZXIgb2YgZW50cmllcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHtAbGluayAjdmVydGljZXN9IHRoYXQgbWFrZSB1cCB0aGUgbWVzaCBodWxsLiAqL1xuXHRodWxsTGVuZ3RoOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBWZXJ0ZXggaW5kZXggcGFpcnMgZGVzY3JpYmluZyBlZGdlcyBmb3IgY29udHJvbGluZyB0cmlhbmd1bGF0aW9uLiBNZXNoIHRyaWFuZ2xlcyB3aWxsIG5ldmVyIGNyb3NzIGVkZ2VzLiBPbmx5IGF2YWlsYWJsZSBpZlxuXHQgKiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuIFRyaWFuZ3VsYXRpb24gaXMgbm90IHBlcmZvcm1lZCBhdCBydW50aW1lLiAqL1xuXHRlZGdlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXG5cdHByaXZhdGUgcGFyZW50TWVzaDogTWVzaEF0dGFjaG1lbnQgfCBudWxsID0gbnVsbDtcblxuXHRzZXF1ZW5jZTogU2VxdWVuY2UgfCBudWxsID0gbnVsbDtcblxuXHR0ZW1wQ29sb3IgPSBuZXcgQ29sb3IoMCwgMCwgMCwgMCk7XG5cblx0Y29uc3RydWN0b3IgKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKiBDYWxjdWxhdGVzIHtAbGluayAjdXZzfSB1c2luZyB0aGUge0BsaW5rICNyZWdpb25VVnN9IGFuZCByZWdpb24uIE11c3QgYmUgY2FsbGVkIGlmIHRoZSByZWdpb24sIHRoZSByZWdpb24ncyBwcm9wZXJ0aWVzLCBvclxuXHQgKiB0aGUge0BsaW5rICNyZWdpb25VVnN9IGFyZSBjaGFuZ2VkLiAqL1xuXHR1cGRhdGVSZWdpb24gKCkge1xuXHRcdGlmICghdGhpcy5yZWdpb24pIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBub3Qgc2V0LlwiKTtcblx0XHRsZXQgcmVnaW9uVVZzID0gdGhpcy5yZWdpb25VVnM7XG5cdFx0aWYgKCF0aGlzLnV2cyB8fCB0aGlzLnV2cy5sZW5ndGggIT0gcmVnaW9uVVZzLmxlbmd0aCkgdGhpcy51dnMgPSBVdGlscy5uZXdGbG9hdEFycmF5KHJlZ2lvblVWcy5sZW5ndGgpO1xuXHRcdGxldCB1dnMgPSB0aGlzLnV2cztcblx0XHRsZXQgbiA9IHRoaXMudXZzLmxlbmd0aDtcblx0XHRsZXQgdSA9IHRoaXMucmVnaW9uLnUsIHYgPSB0aGlzLnJlZ2lvbi52LCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7XG5cdFx0aWYgKHRoaXMucmVnaW9uIGluc3RhbmNlb2YgVGV4dHVyZUF0bGFzUmVnaW9uKSB7XG5cdFx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb24sIHBhZ2UgPSByZWdpb24ucGFnZTtcblx0XHRcdGxldCB0ZXh0dXJlV2lkdGggPSBwYWdlLndpZHRoLCB0ZXh0dXJlSGVpZ2h0ID0gcGFnZS5oZWlnaHQ7XG5cdFx0XHRzd2l0Y2ggKHJlZ2lvbi5kZWdyZWVzKSB7XG5cdFx0XHRcdGNhc2UgOTA6XG5cdFx0XHRcdFx0dSAtPSAocmVnaW9uLm9yaWdpbmFsSGVpZ2h0IC0gcmVnaW9uLm9mZnNldFkgLSByZWdpb24uaGVpZ2h0KSAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHR2IC09IChyZWdpb24ub3JpZ2luYWxXaWR0aCAtIHJlZ2lvbi5vZmZzZXRYIC0gcmVnaW9uLndpZHRoKSAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxIZWlnaHQgLyB0ZXh0dXJlV2lkdGg7XG5cdFx0XHRcdFx0aGVpZ2h0ID0gcmVnaW9uLm9yaWdpbmFsV2lkdGggLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHR1dnNbaV0gPSB1ICsgcmVnaW9uVVZzW2kgKyAxXSAqIHdpZHRoO1xuXHRcdFx0XHRcdFx0dXZzW2kgKyAxXSA9IHYgKyAoMSAtIHJlZ2lvblVWc1tpXSkgKiBoZWlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0Y2FzZSAxODA6XG5cdFx0XHRcdFx0dSAtPSAocmVnaW9uLm9yaWdpbmFsV2lkdGggLSByZWdpb24ub2Zmc2V0WCAtIHJlZ2lvbi53aWR0aCkgLyB0ZXh0dXJlV2lkdGg7XG5cdFx0XHRcdFx0diAtPSByZWdpb24ub2Zmc2V0WSAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHRoZWlnaHQgPSByZWdpb24ub3JpZ2luYWxIZWlnaHQgLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHR1dnNbaV0gPSB1ICsgKDEgLSByZWdpb25VVnNbaV0pICogd2lkdGg7XG5cdFx0XHRcdFx0XHR1dnNbaSArIDFdID0gdiArICgxIC0gcmVnaW9uVVZzW2kgKyAxXSkgKiBoZWlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0Y2FzZSAyNzA6XG5cdFx0XHRcdFx0dSAtPSByZWdpb24ub2Zmc2V0WSAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHR2IC09IHJlZ2lvbi5vZmZzZXRYIC8gdGV4dHVyZUhlaWdodDtcblx0XHRcdFx0XHR3aWR0aCA9IHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHRoZWlnaHQgPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpICs9IDIpIHtcblx0XHRcdFx0XHRcdHV2c1tpXSA9IHUgKyAoMSAtIHJlZ2lvblVWc1tpICsgMV0pICogd2lkdGg7XG5cdFx0XHRcdFx0XHR1dnNbaSArIDFdID0gdiArIHJlZ2lvblVWc1tpXSAqIGhlaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dSAtPSByZWdpb24ub2Zmc2V0WCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdHYgLT0gKHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAtIHJlZ2lvbi5vZmZzZXRZIC0gcmVnaW9uLmhlaWdodCkgLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdGhlaWdodCA9IHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5yZWdpb24pIHtcblx0XHRcdHUgPSB2ID0gMDtcblx0XHRcdHdpZHRoID0gaGVpZ2h0ID0gMTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d2lkdGggPSB0aGlzLnJlZ2lvbi51MiAtIHU7XG5cdFx0XHRoZWlnaHQgPSB0aGlzLnJlZ2lvbi52MiAtIHY7XG5cdFx0fVxuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpICs9IDIpIHtcblx0XHRcdHV2c1tpXSA9IHUgKyByZWdpb25VVnNbaV0gKiB3aWR0aDtcblx0XHRcdHV2c1tpICsgMV0gPSB2ICsgcmVnaW9uVVZzW2kgKyAxXSAqIGhlaWdodDtcblx0XHR9XG5cdH1cblxuXHQvKiogVGhlIHBhcmVudCBtZXNoIGlmIHRoaXMgaXMgYSBsaW5rZWQgbWVzaCwgZWxzZSBudWxsLiBBIGxpbmtlZCBtZXNoIHNoYXJlcyB0aGUge0BsaW5rICNib25lc30sIHtAbGluayAjdmVydGljZXN9LFxuXHQgKiB7QGxpbmsgI3JlZ2lvblVWc30sIHtAbGluayAjdHJpYW5nbGVzfSwge0BsaW5rICNodWxsTGVuZ3RofSwge0BsaW5rICNlZGdlc30sIHtAbGluayAjd2lkdGh9LCBhbmQge0BsaW5rICNoZWlnaHR9IHdpdGggdGhlXG5cdCAqIHBhcmVudCBtZXNoLCBidXQgbWF5IGhhdmUgYSBkaWZmZXJlbnQge0BsaW5rICNuYW1lfSBvciB7QGxpbmsgI3BhdGh9IChhbmQgdGhlcmVmb3JlIGEgZGlmZmVyZW50IHRleHR1cmUpLiAqL1xuXHRnZXRQYXJlbnRNZXNoICgpIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJlbnRNZXNoO1xuXHR9XG5cblx0LyoqIEBwYXJhbSBwYXJlbnRNZXNoIE1heSBiZSBudWxsLiAqL1xuXHRzZXRQYXJlbnRNZXNoIChwYXJlbnRNZXNoOiBNZXNoQXR0YWNobWVudCkge1xuXHRcdHRoaXMucGFyZW50TWVzaCA9IHBhcmVudE1lc2g7XG5cdFx0aWYgKHBhcmVudE1lc2gpIHtcblx0XHRcdHRoaXMuYm9uZXMgPSBwYXJlbnRNZXNoLmJvbmVzO1xuXHRcdFx0dGhpcy52ZXJ0aWNlcyA9IHBhcmVudE1lc2gudmVydGljZXM7XG5cdFx0XHR0aGlzLndvcmxkVmVydGljZXNMZW5ndGggPSBwYXJlbnRNZXNoLndvcmxkVmVydGljZXNMZW5ndGg7XG5cdFx0XHR0aGlzLnJlZ2lvblVWcyA9IHBhcmVudE1lc2gucmVnaW9uVVZzO1xuXHRcdFx0dGhpcy50cmlhbmdsZXMgPSBwYXJlbnRNZXNoLnRyaWFuZ2xlcztcblx0XHRcdHRoaXMuaHVsbExlbmd0aCA9IHBhcmVudE1lc2guaHVsbExlbmd0aDtcblx0XHRcdHRoaXMud29ybGRWZXJ0aWNlc0xlbmd0aCA9IHBhcmVudE1lc2gud29ybGRWZXJ0aWNlc0xlbmd0aFxuXHRcdH1cblx0fVxuXG5cdGNvcHkgKCk6IEF0dGFjaG1lbnQge1xuXHRcdGlmICh0aGlzLnBhcmVudE1lc2gpIHJldHVybiB0aGlzLm5ld0xpbmtlZE1lc2goKTtcblxuXHRcdGxldCBjb3B5ID0gbmV3IE1lc2hBdHRhY2htZW50KHRoaXMubmFtZSwgdGhpcy5wYXRoKTtcblx0XHRjb3B5LnJlZ2lvbiA9IHRoaXMucmVnaW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXG5cdFx0dGhpcy5jb3B5VG8oY29weSk7XG5cdFx0Y29weS5yZWdpb25VVnMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnJlZ2lvblVWcy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnJlZ2lvblVWcywgMCwgY29weS5yZWdpb25VVnMsIDAsIHRoaXMucmVnaW9uVVZzLmxlbmd0aCk7XG5cdFx0Y29weS51dnMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnV2cy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnV2cywgMCwgY29weS51dnMsIDAsIHRoaXMudXZzLmxlbmd0aCk7XG5cdFx0Y29weS50cmlhbmdsZXMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnRyaWFuZ2xlcy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnRyaWFuZ2xlcywgMCwgY29weS50cmlhbmdsZXMsIDAsIHRoaXMudHJpYW5nbGVzLmxlbmd0aCk7XG5cdFx0Y29weS5odWxsTGVuZ3RoID0gdGhpcy5odWxsTGVuZ3RoO1xuXG5cdFx0Y29weS5zZXF1ZW5jZSA9IHRoaXMuc2VxdWVuY2UgIT0gbnVsbCA/IHRoaXMuc2VxdWVuY2UuY29weSgpIDogbnVsbDtcblxuXHRcdC8vIE5vbmVzc2VudGlhbC5cblx0XHRpZiAodGhpcy5lZGdlcykge1xuXHRcdFx0Y29weS5lZGdlcyA9IG5ldyBBcnJheTxudW1iZXI+KHRoaXMuZWRnZXMubGVuZ3RoKTtcblx0XHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLmVkZ2VzLCAwLCBjb3B5LmVkZ2VzLCAwLCB0aGlzLmVkZ2VzLmxlbmd0aCk7XG5cdFx0fVxuXHRcdGNvcHkud2lkdGggPSB0aGlzLndpZHRoO1xuXHRcdGNvcHkuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG5cblx0XHRyZXR1cm4gY29weTtcblx0fVxuXG5cdGNvbXB1dGVXb3JsZFZlcnRpY2VzIChzbG90OiBTbG90LCBzdGFydDogbnVtYmVyLCBjb3VudDogbnVtYmVyLCB3b3JsZFZlcnRpY2VzOiBOdW1iZXJBcnJheUxpa2UsIG9mZnNldDogbnVtYmVyLCBzdHJpZGU6IG51bWJlcikge1xuXHRcdGlmICh0aGlzLnNlcXVlbmNlICE9IG51bGwpIHRoaXMuc2VxdWVuY2UuYXBwbHkoc2xvdCwgdGhpcyk7XG5cdFx0c3VwZXIuY29tcHV0ZVdvcmxkVmVydGljZXMoc2xvdCwgc3RhcnQsIGNvdW50LCB3b3JsZFZlcnRpY2VzLCBvZmZzZXQsIHN0cmlkZSk7XG5cdH1cblxuXHQvKiogUmV0dXJucyBhIG5ldyBtZXNoIHdpdGggdGhlIHtAbGluayAjcGFyZW50TWVzaH0gc2V0IHRvIHRoaXMgbWVzaCdzIHBhcmVudCBtZXNoLCBpZiBhbnksIGVsc2UgdG8gdGhpcyBtZXNoLiAqKi9cblx0bmV3TGlua2VkTWVzaCAoKTogTWVzaEF0dGFjaG1lbnQge1xuXHRcdGxldCBjb3B5ID0gbmV3IE1lc2hBdHRhY2htZW50KHRoaXMubmFtZSwgdGhpcy5wYXRoKTtcblx0XHRjb3B5LnJlZ2lvbiA9IHRoaXMucmVnaW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdGNvcHkudGltZWxpbmVBdHRhY2htZW50ID0gdGhpcy50aW1lbGluZUF0dGFjaG1lbnQ7XG5cdFx0Y29weS5zZXRQYXJlbnRNZXNoKHRoaXMucGFyZW50TWVzaCA/IHRoaXMucGFyZW50TWVzaCA6IHRoaXMpO1xuXHRcdGlmIChjb3B5LnJlZ2lvbiAhPSBudWxsKSBjb3B5LnVwZGF0ZVJlZ2lvbigpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzaEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvTWVzaEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQW1CLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUsvRDs7OytGQUcrRjtBQUMvRixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUNuRCxNQUFNLEdBQXlCLElBQUksQ0FBQztJQUVwQywwREFBMEQ7SUFDMUQsSUFBSSxDQUFTO0lBRWIseUVBQXlFO0lBQ3pFLFNBQVMsR0FBb0IsRUFBRSxDQUFDO0lBRWhDOztpQ0FFNkI7SUFDN0IsR0FBRyxHQUFvQixFQUFFLENBQUM7SUFFMUIsMEVBQTBFO0lBQzFFLFNBQVMsR0FBa0IsRUFBRSxDQUFDO0lBRTlCLGtDQUFrQztJQUNsQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUIseUZBQXlGO0lBQ3pGLEtBQUssR0FBVyxDQUFDLENBQUM7SUFFbEIsMEZBQTBGO0lBQzFGLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFFbkIsOEZBQThGO0lBQzlGLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFFdkI7b0ZBQ2dGO0lBQ2hGLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWxCLFVBQVUsR0FBMEIsSUFBSSxDQUFDO0lBRWpELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBRWpDLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsQyxZQUFhLElBQVksRUFBRSxJQUFZO1FBQ3RDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs2Q0FDeUM7SUFDekMsWUFBWTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLGtCQUFrQixFQUFFLENBQUM7WUFDL0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUM3QyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzNELFFBQVEsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixLQUFLLEVBQUU7b0JBQ04sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUM7b0JBQzdFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDO29CQUM1RSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7b0JBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztvQkFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQy9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7d0JBQ3RDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztvQkFDOUMsQ0FBQztvQkFDRCxPQUFPO2dCQUNSLEtBQUssR0FBRztvQkFDUCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksQ0FBQztvQkFDM0UsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO29CQUNwQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7b0JBQzVDLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztvQkFDL0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQy9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUN4QyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO29CQUNsRCxDQUFDO29CQUNELE9BQU87Z0JBQ1IsS0FBSyxHQUFHO29CQUNQLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztvQkFDbkMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO29CQUNwQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7b0JBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztvQkFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQy9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQzt3QkFDNUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztvQkFDeEMsQ0FBQztvQkFDRCxPQUFPO1lBQ1QsQ0FBQztZQUNELENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUNuQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUM5RSxLQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7WUFDNUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ2hELENBQUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDUCxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNsQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUM1QyxDQUFDO0lBQ0YsQ0FBQztJQUVEOzttSEFFK0c7SUFDL0csYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLGFBQWEsQ0FBRSxVQUEwQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFBO1FBQzFELENBQUM7SUFDRixDQUFDO0lBRUQsSUFBSTtRQUNILElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVqRCxJQUFJLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVwRSxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxvQkFBb0IsQ0FBRSxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxhQUE4QixFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQzdILElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxrSEFBa0g7SUFDbEgsYUFBYTtRQUNaLElBQUksSUFBSSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBUZXh0dXJlUmVnaW9uIH0gZnJvbSBcIi4uL1RleHR1cmUuanNcIjtcbmltcG9ydCB7IFRleHR1cmVBdGxhc1JlZ2lvbiB9IGZyb20gXCIuLi9UZXh0dXJlQXRsYXMuanNcIjtcbmltcG9ydCB7IENvbG9yLCBOdW1iZXJBcnJheUxpa2UsIFV0aWxzIH0gZnJvbSBcIi4uL1V0aWxzLmpzXCI7XG5pbXBvcnQgeyBWZXJ0ZXhBdHRhY2htZW50LCBBdHRhY2htZW50IH0gZnJvbSBcIi4vQXR0YWNobWVudC5qc1wiO1xuaW1wb3J0IHsgSGFzVGV4dHVyZVJlZ2lvbiB9IGZyb20gXCIuL0hhc1RleHR1cmVSZWdpb24uanNcIjtcbmltcG9ydCB7IFNlcXVlbmNlIH0gZnJvbSBcIi4vU2VxdWVuY2UuanNcIjtcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiLi4vU2xvdC5qc1wiO1xuXG4vKiogQW4gYXR0YWNobWVudCB0aGF0IGRpc3BsYXlzIGEgdGV4dHVyZWQgbWVzaC4gQSBtZXNoIGhhcyBodWxsIHZlcnRpY2VzIGFuZCBpbnRlcm5hbCB2ZXJ0aWNlcyB3aXRoaW4gdGhlIGh1bGwuIEhvbGVzIGFyZSBub3RcbiAqIHN1cHBvcnRlZC4gRWFjaCB2ZXJ0ZXggaGFzIFVWcyAodGV4dHVyZSBjb29yZGluYXRlcykgYW5kIHRyaWFuZ2xlcyBhcmUgdXNlZCB0byBtYXAgYW4gaW1hZ2Ugb24gdG8gdGhlIG1lc2guXG4gKlxuICogU2VlIFtNZXNoIGF0dGFjaG1lbnRzXShodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtbWVzaGVzKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBNZXNoQXR0YWNobWVudCBleHRlbmRzIFZlcnRleEF0dGFjaG1lbnQgaW1wbGVtZW50cyBIYXNUZXh0dXJlUmVnaW9uIHtcblx0cmVnaW9uOiBUZXh0dXJlUmVnaW9uIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqIFRoZSBuYW1lIG9mIHRoZSB0ZXh0dXJlIHJlZ2lvbiBmb3IgdGhpcyBhdHRhY2htZW50LiAqL1xuXHRwYXRoOiBzdHJpbmc7XG5cblx0LyoqIFRoZSBVViBwYWlyIGZvciBlYWNoIHZlcnRleCwgbm9ybWFsaXplZCB3aXRoaW4gdGhlIHRleHR1cmUgcmVnaW9uLiAqL1xuXHRyZWdpb25VVnM6IE51bWJlckFycmF5TGlrZSA9IFtdO1xuXG5cdC8qKiBUaGUgVVYgcGFpciBmb3IgZWFjaCB2ZXJ0ZXgsIG5vcm1hbGl6ZWQgd2l0aGluIHRoZSBlbnRpcmUgdGV4dHVyZS5cblx0ICpcblx0ICogU2VlIHtAbGluayAjdXBkYXRlVVZzfS4gKi9cblx0dXZzOiBOdW1iZXJBcnJheUxpa2UgPSBbXTtcblxuXHQvKiogVHJpcGxldHMgb2YgdmVydGV4IGluZGljZXMgd2hpY2ggZGVzY3JpYmUgdGhlIG1lc2gncyB0cmlhbmd1bGF0aW9uLiAqL1xuXHR0cmlhbmdsZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuXHQvKiogVGhlIGNvbG9yIHRvIHRpbnQgdGhlIG1lc2guICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgd2lkdGggb2YgdGhlIG1lc2gncyBpbWFnZS4gQXZhaWxhYmxlIG9ubHkgd2hlbiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuICovXG5cdHdpZHRoOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBtZXNoJ3MgaW1hZ2UuIEF2YWlsYWJsZSBvbmx5IHdoZW4gbm9uZXNzZW50aWFsIGRhdGEgd2FzIGV4cG9ydGVkLiAqL1xuXHRoZWlnaHQ6IG51bWJlciA9IDA7XG5cblx0LyoqIFRoZSBudW1iZXIgb2YgZW50cmllcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHtAbGluayAjdmVydGljZXN9IHRoYXQgbWFrZSB1cCB0aGUgbWVzaCBodWxsLiAqL1xuXHRodWxsTGVuZ3RoOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBWZXJ0ZXggaW5kZXggcGFpcnMgZGVzY3JpYmluZyBlZGdlcyBmb3IgY29udHJvbGluZyB0cmlhbmd1bGF0aW9uLiBNZXNoIHRyaWFuZ2xlcyB3aWxsIG5ldmVyIGNyb3NzIGVkZ2VzLiBPbmx5IGF2YWlsYWJsZSBpZlxuXHQgKiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuIFRyaWFuZ3VsYXRpb24gaXMgbm90IHBlcmZvcm1lZCBhdCBydW50aW1lLiAqL1xuXHRlZGdlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXG5cdHByaXZhdGUgcGFyZW50TWVzaDogTWVzaEF0dGFjaG1lbnQgfCBudWxsID0gbnVsbDtcblxuXHRzZXF1ZW5jZTogU2VxdWVuY2UgfCBudWxsID0gbnVsbDtcblxuXHR0ZW1wQ29sb3IgPSBuZXcgQ29sb3IoMCwgMCwgMCwgMCk7XG5cblx0Y29uc3RydWN0b3IgKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKiBDYWxjdWxhdGVzIHtAbGluayAjdXZzfSB1c2luZyB0aGUge0BsaW5rICNyZWdpb25VVnN9IGFuZCByZWdpb24uIE11c3QgYmUgY2FsbGVkIGlmIHRoZSByZWdpb24sIHRoZSByZWdpb24ncyBwcm9wZXJ0aWVzLCBvclxuXHQgKiB0aGUge0BsaW5rICNyZWdpb25VVnN9IGFyZSBjaGFuZ2VkLiAqL1xuXHR1cGRhdGVSZWdpb24gKCkge1xuXHRcdGlmICghdGhpcy5yZWdpb24pIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBub3Qgc2V0LlwiKTtcblx0XHRsZXQgcmVnaW9uVVZzID0gdGhpcy5yZWdpb25VVnM7XG5cdFx0aWYgKCF0aGlzLnV2cyB8fCB0aGlzLnV2cy5sZW5ndGggIT0gcmVnaW9uVVZzLmxlbmd0aCkgdGhpcy51dnMgPSBVdGlscy5uZXdGbG9hdEFycmF5KHJlZ2lvblVWcy5sZW5ndGgpO1xuXHRcdGxldCB1dnMgPSB0aGlzLnV2cztcblx0XHRsZXQgbiA9IHRoaXMudXZzLmxlbmd0aDtcblx0XHRsZXQgdSA9IHRoaXMucmVnaW9uLnUsIHYgPSB0aGlzLnJlZ2lvbi52LCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7XG5cdFx0aWYgKHRoaXMucmVnaW9uIGluc3RhbmNlb2YgVGV4dHVyZUF0bGFzUmVnaW9uKSB7XG5cdFx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb24sIHBhZ2UgPSByZWdpb24ucGFnZTtcblx0XHRcdGxldCB0ZXh0dXJlV2lkdGggPSBwYWdlLndpZHRoLCB0ZXh0dXJlSGVpZ2h0ID0gcGFnZS5oZWlnaHQ7XG5cdFx0XHRzd2l0Y2ggKHJlZ2lvbi5kZWdyZWVzKSB7XG5cdFx0XHRcdGNhc2UgOTA6XG5cdFx0XHRcdFx0dSAtPSAocmVnaW9uLm9yaWdpbmFsSGVpZ2h0IC0gcmVnaW9uLm9mZnNldFkgLSByZWdpb24uaGVpZ2h0KSAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHR2IC09IChyZWdpb24ub3JpZ2luYWxXaWR0aCAtIHJlZ2lvbi5vZmZzZXRYIC0gcmVnaW9uLndpZHRoKSAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxIZWlnaHQgLyB0ZXh0dXJlV2lkdGg7XG5cdFx0XHRcdFx0aGVpZ2h0ID0gcmVnaW9uLm9yaWdpbmFsV2lkdGggLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHR1dnNbaV0gPSB1ICsgcmVnaW9uVVZzW2kgKyAxXSAqIHdpZHRoO1xuXHRcdFx0XHRcdFx0dXZzW2kgKyAxXSA9IHYgKyAoMSAtIHJlZ2lvblVWc1tpXSkgKiBoZWlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0Y2FzZSAxODA6XG5cdFx0XHRcdFx0dSAtPSAocmVnaW9uLm9yaWdpbmFsV2lkdGggLSByZWdpb24ub2Zmc2V0WCAtIHJlZ2lvbi53aWR0aCkgLyB0ZXh0dXJlV2lkdGg7XG5cdFx0XHRcdFx0diAtPSByZWdpb24ub2Zmc2V0WSAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHRoZWlnaHQgPSByZWdpb24ub3JpZ2luYWxIZWlnaHQgLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHR1dnNbaV0gPSB1ICsgKDEgLSByZWdpb25VVnNbaV0pICogd2lkdGg7XG5cdFx0XHRcdFx0XHR1dnNbaSArIDFdID0gdiArICgxIC0gcmVnaW9uVVZzW2kgKyAxXSkgKiBoZWlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0Y2FzZSAyNzA6XG5cdFx0XHRcdFx0dSAtPSByZWdpb24ub2Zmc2V0WSAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHR2IC09IHJlZ2lvbi5vZmZzZXRYIC8gdGV4dHVyZUhlaWdodDtcblx0XHRcdFx0XHR3aWR0aCA9IHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdFx0XHRoZWlnaHQgPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpICs9IDIpIHtcblx0XHRcdFx0XHRcdHV2c1tpXSA9IHUgKyAoMSAtIHJlZ2lvblVWc1tpICsgMV0pICogd2lkdGg7XG5cdFx0XHRcdFx0XHR1dnNbaSArIDFdID0gdiArIHJlZ2lvblVWc1tpXSAqIGhlaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dSAtPSByZWdpb24ub2Zmc2V0WCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdHYgLT0gKHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAtIHJlZ2lvbi5vZmZzZXRZIC0gcmVnaW9uLmhlaWdodCkgLyB0ZXh0dXJlSGVpZ2h0O1xuXHRcdFx0d2lkdGggPSByZWdpb24ub3JpZ2luYWxXaWR0aCAvIHRleHR1cmVXaWR0aDtcblx0XHRcdGhlaWdodCA9IHJlZ2lvbi5vcmlnaW5hbEhlaWdodCAvIHRleHR1cmVIZWlnaHQ7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5yZWdpb24pIHtcblx0XHRcdHUgPSB2ID0gMDtcblx0XHRcdHdpZHRoID0gaGVpZ2h0ID0gMTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d2lkdGggPSB0aGlzLnJlZ2lvbi51MiAtIHU7XG5cdFx0XHRoZWlnaHQgPSB0aGlzLnJlZ2lvbi52MiAtIHY7XG5cdFx0fVxuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpICs9IDIpIHtcblx0XHRcdHV2c1tpXSA9IHUgKyByZWdpb25VVnNbaV0gKiB3aWR0aDtcblx0XHRcdHV2c1tpICsgMV0gPSB2ICsgcmVnaW9uVVZzW2kgKyAxXSAqIGhlaWdodDtcblx0XHR9XG5cdH1cblxuXHQvKiogVGhlIHBhcmVudCBtZXNoIGlmIHRoaXMgaXMgYSBsaW5rZWQgbWVzaCwgZWxzZSBudWxsLiBBIGxpbmtlZCBtZXNoIHNoYXJlcyB0aGUge0BsaW5rICNib25lc30sIHtAbGluayAjdmVydGljZXN9LFxuXHQgKiB7QGxpbmsgI3JlZ2lvblVWc30sIHtAbGluayAjdHJpYW5nbGVzfSwge0BsaW5rICNodWxsTGVuZ3RofSwge0BsaW5rICNlZGdlc30sIHtAbGluayAjd2lkdGh9LCBhbmQge0BsaW5rICNoZWlnaHR9IHdpdGggdGhlXG5cdCAqIHBhcmVudCBtZXNoLCBidXQgbWF5IGhhdmUgYSBkaWZmZXJlbnQge0BsaW5rICNuYW1lfSBvciB7QGxpbmsgI3BhdGh9IChhbmQgdGhlcmVmb3JlIGEgZGlmZmVyZW50IHRleHR1cmUpLiAqL1xuXHRnZXRQYXJlbnRNZXNoICgpIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJlbnRNZXNoO1xuXHR9XG5cblx0LyoqIEBwYXJhbSBwYXJlbnRNZXNoIE1heSBiZSBudWxsLiAqL1xuXHRzZXRQYXJlbnRNZXNoIChwYXJlbnRNZXNoOiBNZXNoQXR0YWNobWVudCkge1xuXHRcdHRoaXMucGFyZW50TWVzaCA9IHBhcmVudE1lc2g7XG5cdFx0aWYgKHBhcmVudE1lc2gpIHtcblx0XHRcdHRoaXMuYm9uZXMgPSBwYXJlbnRNZXNoLmJvbmVzO1xuXHRcdFx0dGhpcy52ZXJ0aWNlcyA9IHBhcmVudE1lc2gudmVydGljZXM7XG5cdFx0XHR0aGlzLndvcmxkVmVydGljZXNMZW5ndGggPSBwYXJlbnRNZXNoLndvcmxkVmVydGljZXNMZW5ndGg7XG5cdFx0XHR0aGlzLnJlZ2lvblVWcyA9IHBhcmVudE1lc2gucmVnaW9uVVZzO1xuXHRcdFx0dGhpcy50cmlhbmdsZXMgPSBwYXJlbnRNZXNoLnRyaWFuZ2xlcztcblx0XHRcdHRoaXMuaHVsbExlbmd0aCA9IHBhcmVudE1lc2guaHVsbExlbmd0aDtcblx0XHRcdHRoaXMud29ybGRWZXJ0aWNlc0xlbmd0aCA9IHBhcmVudE1lc2gud29ybGRWZXJ0aWNlc0xlbmd0aFxuXHRcdH1cblx0fVxuXG5cdGNvcHkgKCk6IEF0dGFjaG1lbnQge1xuXHRcdGlmICh0aGlzLnBhcmVudE1lc2gpIHJldHVybiB0aGlzLm5ld0xpbmtlZE1lc2goKTtcblxuXHRcdGxldCBjb3B5ID0gbmV3IE1lc2hBdHRhY2htZW50KHRoaXMubmFtZSwgdGhpcy5wYXRoKTtcblx0XHRjb3B5LnJlZ2lvbiA9IHRoaXMucmVnaW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXG5cdFx0dGhpcy5jb3B5VG8oY29weSk7XG5cdFx0Y29weS5yZWdpb25VVnMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnJlZ2lvblVWcy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnJlZ2lvblVWcywgMCwgY29weS5yZWdpb25VVnMsIDAsIHRoaXMucmVnaW9uVVZzLmxlbmd0aCk7XG5cdFx0Y29weS51dnMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnV2cy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnV2cywgMCwgY29weS51dnMsIDAsIHRoaXMudXZzLmxlbmd0aCk7XG5cdFx0Y29weS50cmlhbmdsZXMgPSBuZXcgQXJyYXk8bnVtYmVyPih0aGlzLnRyaWFuZ2xlcy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnRyaWFuZ2xlcywgMCwgY29weS50cmlhbmdsZXMsIDAsIHRoaXMudHJpYW5nbGVzLmxlbmd0aCk7XG5cdFx0Y29weS5odWxsTGVuZ3RoID0gdGhpcy5odWxsTGVuZ3RoO1xuXG5cdFx0Y29weS5zZXF1ZW5jZSA9IHRoaXMuc2VxdWVuY2UgIT0gbnVsbCA/IHRoaXMuc2VxdWVuY2UuY29weSgpIDogbnVsbDtcblxuXHRcdC8vIE5vbmVzc2VudGlhbC5cblx0XHRpZiAodGhpcy5lZGdlcykge1xuXHRcdFx0Y29weS5lZGdlcyA9IG5ldyBBcnJheTxudW1iZXI+KHRoaXMuZWRnZXMubGVuZ3RoKTtcblx0XHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLmVkZ2VzLCAwLCBjb3B5LmVkZ2VzLCAwLCB0aGlzLmVkZ2VzLmxlbmd0aCk7XG5cdFx0fVxuXHRcdGNvcHkud2lkdGggPSB0aGlzLndpZHRoO1xuXHRcdGNvcHkuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG5cblx0XHRyZXR1cm4gY29weTtcblx0fVxuXG5cdGNvbXB1dGVXb3JsZFZlcnRpY2VzIChzbG90OiBTbG90LCBzdGFydDogbnVtYmVyLCBjb3VudDogbnVtYmVyLCB3b3JsZFZlcnRpY2VzOiBOdW1iZXJBcnJheUxpa2UsIG9mZnNldDogbnVtYmVyLCBzdHJpZGU6IG51bWJlcikge1xuXHRcdGlmICh0aGlzLnNlcXVlbmNlICE9IG51bGwpIHRoaXMuc2VxdWVuY2UuYXBwbHkoc2xvdCwgdGhpcyk7XG5cdFx0c3VwZXIuY29tcHV0ZVdvcmxkVmVydGljZXMoc2xvdCwgc3RhcnQsIGNvdW50LCB3b3JsZFZlcnRpY2VzLCBvZmZzZXQsIHN0cmlkZSk7XG5cdH1cblxuXHQvKiogUmV0dXJucyBhIG5ldyBtZXNoIHdpdGggdGhlIHtAbGluayAjcGFyZW50TWVzaH0gc2V0IHRvIHRoaXMgbWVzaCdzIHBhcmVudCBtZXNoLCBpZiBhbnksIGVsc2UgdG8gdGhpcyBtZXNoLiAqKi9cblx0bmV3TGlua2VkTWVzaCAoKTogTWVzaEF0dGFjaG1lbnQge1xuXHRcdGxldCBjb3B5ID0gbmV3IE1lc2hBdHRhY2htZW50KHRoaXMubmFtZSwgdGhpcy5wYXRoKTtcblx0XHRjb3B5LnJlZ2lvbiA9IHRoaXMucmVnaW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdGNvcHkudGltZWxpbmVBdHRhY2htZW50ID0gdGhpcy50aW1lbGluZUF0dGFjaG1lbnQ7XG5cdFx0Y29weS5zZXRQYXJlbnRNZXNoKHRoaXMucGFyZW50TWVzaCA/IHRoaXMucGFyZW50TWVzaCA6IHRoaXMpO1xuXHRcdGlmIChjb3B5LnJlZ2lvbiAhPSBudWxsKSBjb3B5LnVwZGF0ZVJlZ2lvbigpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Color } from "../Utils.js";
30
30
  import { VertexAttachment, Attachment } from "./Attachment.js";
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Color, Utils } from "../Utils.js";
30
30
  import { VertexAttachment } from "./Attachment.js";
@@ -56,4 +56,4 @@ export class PathAttachment extends VertexAttachment {
56
56
  return copy;
57
57
  }
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0aEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvUGF0aEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBRS9EOzs4R0FFOEc7QUFDOUcsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFFbkQsK0dBQStHO0lBQy9HLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRTVCLHNEQUFzRDtJQUN0RCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWY7K0ZBQzJGO0lBQzNGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEI7OEJBQzBCO0lBQzFCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QixZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEp1bHkgMjgsIDIwMjMuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyMywgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvclxuICogb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRIRVxuICogU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IENvbG9yLCBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuaW1wb3J0IHsgVmVydGV4QXR0YWNobWVudCwgQXR0YWNobWVudCB9IGZyb20gXCIuL0F0dGFjaG1lbnQuanNcIjtcblxuLyoqIEFuIGF0dGFjaG1lbnQgd2hvc2UgdmVydGljZXMgbWFrZSB1cCBhIGNvbXBvc2l0ZSBCZXppZXIgY3VydmUuXG4gKlxuICogU2VlIHtAbGluayBQYXRoQ29uc3RyYWludH0gYW5kIFtQYXRoc10oaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLXBhdGhzKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBQYXRoQXR0YWNobWVudCBleHRlbmRzIFZlcnRleEF0dGFjaG1lbnQge1xuXG5cdC8qKiBUaGUgbGVuZ3RocyBhbG9uZyB0aGUgcGF0aCBpbiB0aGUgc2V0dXAgcG9zZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgcGF0aCB0byB0aGUgZW5kIG9mIGVhY2ggQmV6aWVyIGN1cnZlLiAqL1xuXHRsZW5ndGhzOiBBcnJheTxudW1iZXI+ID0gW107XG5cblx0LyoqIElmIHRydWUsIHRoZSBzdGFydCBhbmQgZW5kIGtub3RzIGFyZSBjb25uZWN0ZWQuICovXG5cdGNsb3NlZCA9IGZhbHNlO1xuXG5cdC8qKiBJZiB0cnVlLCBhZGRpdGlvbmFsIGNhbGN1bGF0aW9ucyBhcmUgcGVyZm9ybWVkIHRvIG1ha2UgY2FsY3VsYXRpbmcgcG9zaXRpb25zIGFsb25nIHRoZSBwYXRoIG1vcmUgYWNjdXJhdGUuIElmIGZhbHNlLCBmZXdlclxuXHQgKiBjYWxjdWxhdGlvbnMgYXJlIHBlcmZvcm1lZCBidXQgY2FsY3VsYXRpbmcgcG9zaXRpb25zIGFsb25nIHRoZSBwYXRoIGlzIGxlc3MgYWNjdXJhdGUuICovXG5cdGNvbnN0YW50U3BlZWQgPSBmYWxzZTtcblxuXHQvKiogVGhlIGNvbG9yIG9mIHRoZSBwYXRoIGFzIGl0IHdhcyBpbiBTcGluZS4gQXZhaWxhYmxlIG9ubHkgd2hlbiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuIFBhdGhzIGFyZSBub3QgdXN1YWxseVxuXHQgKiByZW5kZXJlZCBhdCBydW50aW1lLiAqL1xuXHRjb2xvciA9IG5ldyBDb2xvcigxLCAxLCAxLCAxKTtcblxuXHRjb25zdHJ1Y3RvciAobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdH1cblxuXHRjb3B5ICgpOiBBdHRhY2htZW50IHtcblx0XHRsZXQgY29weSA9IG5ldyBQYXRoQXR0YWNobWVudCh0aGlzLm5hbWUpO1xuXHRcdHRoaXMuY29weVRvKGNvcHkpO1xuXHRcdGNvcHkubGVuZ3RocyA9IG5ldyBBcnJheTxudW1iZXI+KHRoaXMubGVuZ3Rocy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLmxlbmd0aHMsIDAsIGNvcHkubGVuZ3RocywgMCwgdGhpcy5sZW5ndGhzLmxlbmd0aCk7XG5cdFx0Y29weS5jbG9zZWQgPSBjbG9zZWQ7XG5cdFx0Y29weS5jb25zdGFudFNwZWVkID0gdGhpcy5jb25zdGFudFNwZWVkO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0aEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvUGF0aEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBRS9EOzs4R0FFOEc7QUFDOUcsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFFbkQsK0dBQStHO0lBQy9HLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRTVCLHNEQUFzRDtJQUN0RCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWY7K0ZBQzJGO0lBQzNGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEI7OEJBQzBCO0lBQzFCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QixZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IENvbG9yLCBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuaW1wb3J0IHsgVmVydGV4QXR0YWNobWVudCwgQXR0YWNobWVudCB9IGZyb20gXCIuL0F0dGFjaG1lbnQuanNcIjtcblxuLyoqIEFuIGF0dGFjaG1lbnQgd2hvc2UgdmVydGljZXMgbWFrZSB1cCBhIGNvbXBvc2l0ZSBCZXppZXIgY3VydmUuXG4gKlxuICogU2VlIHtAbGluayBQYXRoQ29uc3RyYWludH0gYW5kIFtQYXRoc10oaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLXBhdGhzKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBQYXRoQXR0YWNobWVudCBleHRlbmRzIFZlcnRleEF0dGFjaG1lbnQge1xuXG5cdC8qKiBUaGUgbGVuZ3RocyBhbG9uZyB0aGUgcGF0aCBpbiB0aGUgc2V0dXAgcG9zZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgcGF0aCB0byB0aGUgZW5kIG9mIGVhY2ggQmV6aWVyIGN1cnZlLiAqL1xuXHRsZW5ndGhzOiBBcnJheTxudW1iZXI+ID0gW107XG5cblx0LyoqIElmIHRydWUsIHRoZSBzdGFydCBhbmQgZW5kIGtub3RzIGFyZSBjb25uZWN0ZWQuICovXG5cdGNsb3NlZCA9IGZhbHNlO1xuXG5cdC8qKiBJZiB0cnVlLCBhZGRpdGlvbmFsIGNhbGN1bGF0aW9ucyBhcmUgcGVyZm9ybWVkIHRvIG1ha2UgY2FsY3VsYXRpbmcgcG9zaXRpb25zIGFsb25nIHRoZSBwYXRoIG1vcmUgYWNjdXJhdGUuIElmIGZhbHNlLCBmZXdlclxuXHQgKiBjYWxjdWxhdGlvbnMgYXJlIHBlcmZvcm1lZCBidXQgY2FsY3VsYXRpbmcgcG9zaXRpb25zIGFsb25nIHRoZSBwYXRoIGlzIGxlc3MgYWNjdXJhdGUuICovXG5cdGNvbnN0YW50U3BlZWQgPSBmYWxzZTtcblxuXHQvKiogVGhlIGNvbG9yIG9mIHRoZSBwYXRoIGFzIGl0IHdhcyBpbiBTcGluZS4gQXZhaWxhYmxlIG9ubHkgd2hlbiBub25lc3NlbnRpYWwgZGF0YSB3YXMgZXhwb3J0ZWQuIFBhdGhzIGFyZSBub3QgdXN1YWxseVxuXHQgKiByZW5kZXJlZCBhdCBydW50aW1lLiAqL1xuXHRjb2xvciA9IG5ldyBDb2xvcigxLCAxLCAxLCAxKTtcblxuXHRjb25zdHJ1Y3RvciAobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdH1cblxuXHRjb3B5ICgpOiBBdHRhY2htZW50IHtcblx0XHRsZXQgY29weSA9IG5ldyBQYXRoQXR0YWNobWVudCh0aGlzLm5hbWUpO1xuXHRcdHRoaXMuY29weVRvKGNvcHkpO1xuXHRcdGNvcHkubGVuZ3RocyA9IG5ldyBBcnJheTxudW1iZXI+KHRoaXMubGVuZ3Rocy5sZW5ndGgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLmxlbmd0aHMsIDAsIGNvcHkubGVuZ3RocywgMCwgdGhpcy5sZW5ndGhzLmxlbmd0aCk7XG5cdFx0Y29weS5jbG9zZWQgPSBjbG9zZWQ7XG5cdFx0Y29weS5jb25zdGFudFNwZWVkID0gdGhpcy5jb25zdGFudFNwZWVkO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Bone } from "../Bone.js";
30
30
  import { Color, Vector2 } from "../Utils.js";
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Color, MathUtils } from "../Utils.js";
30
30
  import { VertexAttachment } from "./Attachment.js";
@@ -63,4 +63,4 @@ export class PointAttachment extends VertexAttachment {
63
63
  return copy;
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9pbnRBdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F0dGFjaG1lbnRzL1BvaW50QXR0YWNobWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLEtBQUssRUFBVyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFFL0Q7Ozs7MkdBSTJHO0FBQzNHLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUNwRCxDQUFDLEdBQVcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxHQUFXLENBQUMsQ0FBQztJQUNkLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFckI7OENBQzBDO0lBQzFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwQyxZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELG9CQUFvQixDQUFFLElBQVUsRUFBRSxLQUFjO1FBQy9DLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFELEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQixDQUFFLElBQVU7UUFDL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBKdWx5IDI4LCAyMDIzLiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjMsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3JcbiAqIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSEVcbiAqIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBCb25lIH0gZnJvbSBcIi4uL0JvbmUuanNcIjtcbmltcG9ydCB7IENvbG9yLCBWZWN0b3IyLCBNYXRoVXRpbHMgfSBmcm9tIFwiLi4vVXRpbHMuanNcIjtcbmltcG9ydCB7IFZlcnRleEF0dGFjaG1lbnQsIEF0dGFjaG1lbnQgfSBmcm9tIFwiLi9BdHRhY2htZW50LmpzXCI7XG5cbi8qKiBBbiBhdHRhY2htZW50IHdoaWNoIGlzIGEgc2luZ2xlIHBvaW50IGFuZCBhIHJvdGF0aW9uLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNwYXduIHByb2plY3RpbGVzLCBwYXJ0aWNsZXMsIGV0Yy4gQSBib25lIGNhbiBiZVxuICogdXNlZCBpbiBzaW1pbGFyIHdheXMsIGJ1dCBhIFBvaW50QXR0YWNobWVudCBpcyBzbGlnaHRseSBsZXNzIGV4cGVuc2l2ZSB0byBjb21wdXRlIGFuZCBjYW4gYmUgaGlkZGVuLCBzaG93biwgYW5kIHBsYWNlZCBpbiBhXG4gKiBza2luLlxuICpcbiAqIFNlZSBbUG9pbnQgQXR0YWNobWVudHNdKGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1wb2ludC1hdHRhY2htZW50cykgaW4gdGhlIFNwaW5lIFVzZXIgR3VpZGUuICovXG5leHBvcnQgY2xhc3MgUG9pbnRBdHRhY2htZW50IGV4dGVuZHMgVmVydGV4QXR0YWNobWVudCB7XG5cdHg6IG51bWJlciA9IDA7XG5cdHk6IG51bWJlciA9IDA7XG5cdHJvdGF0aW9uOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBUaGUgY29sb3Igb2YgdGhlIHBvaW50IGF0dGFjaG1lbnQgYXMgaXQgd2FzIGluIFNwaW5lLiBBdmFpbGFibGUgb25seSB3aGVuIG5vbmVzc2VudGlhbCBkYXRhIHdhcyBleHBvcnRlZC4gUG9pbnQgYXR0YWNobWVudHNcblx0ICogYXJlIG5vdCB1c3VhbGx5IHJlbmRlcmVkIGF0IHJ1bnRpbWUuICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDAuMzgsIDAuOTQsIDAsIDEpO1xuXG5cdGNvbnN0cnVjdG9yIChuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0fVxuXG5cdGNvbXB1dGVXb3JsZFBvc2l0aW9uIChib25lOiBCb25lLCBwb2ludDogVmVjdG9yMikge1xuXHRcdHBvaW50LnggPSB0aGlzLnggKiBib25lLmEgKyB0aGlzLnkgKiBib25lLmIgKyBib25lLndvcmxkWDtcblx0XHRwb2ludC55ID0gdGhpcy54ICogYm9uZS5jICsgdGhpcy55ICogYm9uZS5kICsgYm9uZS53b3JsZFk7XG5cdFx0cmV0dXJuIHBvaW50O1xuXHR9XG5cblx0Y29tcHV0ZVdvcmxkUm90YXRpb24gKGJvbmU6IEJvbmUpIHtcblx0XHRjb25zdCByID0gdGhpcy5yb3RhdGlvbiAqIE1hdGhVdGlscy5kZWdSYWQsIGNvcyA9IE1hdGguY29zKHIpLCBzaW4gPSBNYXRoLnNpbihyKTtcblx0XHRjb25zdCB4ID0gY29zICogYm9uZS5hICsgc2luICogYm9uZS5iO1xuXHRcdGNvbnN0IHkgPSBjb3MgKiBib25lLmMgKyBzaW4gKiBib25lLmQ7XG5cdFx0cmV0dXJuIE1hdGhVdGlscy5hdGFuMkRlZyh5LCB4KTtcdFx0XG5cdH1cblxuXHRjb3B5ICgpOiBBdHRhY2htZW50IHtcblx0XHRsZXQgY29weSA9IG5ldyBQb2ludEF0dGFjaG1lbnQodGhpcy5uYW1lKTtcblx0XHRjb3B5LnggPSB0aGlzLng7XG5cdFx0Y29weS55ID0gdGhpcy55O1xuXHRcdGNvcHkucm90YXRpb24gPSB0aGlzLnJvdGF0aW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9pbnRBdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F0dGFjaG1lbnRzL1BvaW50QXR0YWNobWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLEtBQUssRUFBVyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFFL0Q7Ozs7MkdBSTJHO0FBQzNHLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUNwRCxDQUFDLEdBQVcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxHQUFXLENBQUMsQ0FBQztJQUNkLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFckI7OENBQzBDO0lBQzFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwQyxZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELG9CQUFvQixDQUFFLElBQVUsRUFBRSxLQUFjO1FBQy9DLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFELEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQixDQUFFLElBQVU7UUFDL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBCb25lIH0gZnJvbSBcIi4uL0JvbmUuanNcIjtcbmltcG9ydCB7IENvbG9yLCBWZWN0b3IyLCBNYXRoVXRpbHMgfSBmcm9tIFwiLi4vVXRpbHMuanNcIjtcbmltcG9ydCB7IFZlcnRleEF0dGFjaG1lbnQsIEF0dGFjaG1lbnQgfSBmcm9tIFwiLi9BdHRhY2htZW50LmpzXCI7XG5cbi8qKiBBbiBhdHRhY2htZW50IHdoaWNoIGlzIGEgc2luZ2xlIHBvaW50IGFuZCBhIHJvdGF0aW9uLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNwYXduIHByb2plY3RpbGVzLCBwYXJ0aWNsZXMsIGV0Yy4gQSBib25lIGNhbiBiZVxuICogdXNlZCBpbiBzaW1pbGFyIHdheXMsIGJ1dCBhIFBvaW50QXR0YWNobWVudCBpcyBzbGlnaHRseSBsZXNzIGV4cGVuc2l2ZSB0byBjb21wdXRlIGFuZCBjYW4gYmUgaGlkZGVuLCBzaG93biwgYW5kIHBsYWNlZCBpbiBhXG4gKiBza2luLlxuICpcbiAqIFNlZSBbUG9pbnQgQXR0YWNobWVudHNdKGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1wb2ludC1hdHRhY2htZW50cykgaW4gdGhlIFNwaW5lIFVzZXIgR3VpZGUuICovXG5leHBvcnQgY2xhc3MgUG9pbnRBdHRhY2htZW50IGV4dGVuZHMgVmVydGV4QXR0YWNobWVudCB7XG5cdHg6IG51bWJlciA9IDA7XG5cdHk6IG51bWJlciA9IDA7XG5cdHJvdGF0aW9uOiBudW1iZXIgPSAwO1xuXG5cdC8qKiBUaGUgY29sb3Igb2YgdGhlIHBvaW50IGF0dGFjaG1lbnQgYXMgaXQgd2FzIGluIFNwaW5lLiBBdmFpbGFibGUgb25seSB3aGVuIG5vbmVzc2VudGlhbCBkYXRhIHdhcyBleHBvcnRlZC4gUG9pbnQgYXR0YWNobWVudHNcblx0ICogYXJlIG5vdCB1c3VhbGx5IHJlbmRlcmVkIGF0IHJ1bnRpbWUuICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDAuMzgsIDAuOTQsIDAsIDEpO1xuXG5cdGNvbnN0cnVjdG9yIChuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0fVxuXG5cdGNvbXB1dGVXb3JsZFBvc2l0aW9uIChib25lOiBCb25lLCBwb2ludDogVmVjdG9yMikge1xuXHRcdHBvaW50LnggPSB0aGlzLnggKiBib25lLmEgKyB0aGlzLnkgKiBib25lLmIgKyBib25lLndvcmxkWDtcblx0XHRwb2ludC55ID0gdGhpcy54ICogYm9uZS5jICsgdGhpcy55ICogYm9uZS5kICsgYm9uZS53b3JsZFk7XG5cdFx0cmV0dXJuIHBvaW50O1xuXHR9XG5cblx0Y29tcHV0ZVdvcmxkUm90YXRpb24gKGJvbmU6IEJvbmUpIHtcblx0XHRjb25zdCByID0gdGhpcy5yb3RhdGlvbiAqIE1hdGhVdGlscy5kZWdSYWQsIGNvcyA9IE1hdGguY29zKHIpLCBzaW4gPSBNYXRoLnNpbihyKTtcblx0XHRjb25zdCB4ID0gY29zICogYm9uZS5hICsgc2luICogYm9uZS5iO1xuXHRcdGNvbnN0IHkgPSBjb3MgKiBib25lLmMgKyBzaW4gKiBib25lLmQ7XG5cdFx0cmV0dXJuIE1hdGhVdGlscy5hdGFuMkRlZyh5LCB4KTtcdFx0XG5cdH1cblxuXHRjb3B5ICgpOiBBdHRhY2htZW50IHtcblx0XHRsZXQgY29weSA9IG5ldyBQb2ludEF0dGFjaG1lbnQodGhpcy5uYW1lKTtcblx0XHRjb3B5LnggPSB0aGlzLng7XG5cdFx0Y29weS55ID0gdGhpcy55O1xuXHRcdGNvcHkucm90YXRpb24gPSB0aGlzLnJvdGF0aW9uO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG59XG4iXX0=
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { TextureRegion } from "../Texture.js";
30
30
  import { Color, NumberArrayLike } from "../Utils.js";
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Color, MathUtils, Utils } from "../Utils.js";
30
30
  import { Attachment } from "./Attachment.js";
@@ -212,4 +212,4 @@ export class RegionAttachment extends Attachment {
212
212
  static U4 = 30;
213
213
  static V4 = 31;
214
214
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaW9uQXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdHRhY2htZW50cy9SZWdpb25BdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUkvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUs3Qzs7a0dBRWtHO0FBQ2xHLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQy9DLCtCQUErQjtJQUMvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRU4sK0JBQStCO0lBQy9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFTix3QkFBd0I7SUFDeEIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLHdCQUF3QjtJQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsMEJBQTBCO0lBQzFCLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFFYixtREFBbUQ7SUFDbkQsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVWLG9EQUFvRDtJQUNwRCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsK0NBQStDO0lBQy9DLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QiwwREFBMEQ7SUFDMUQsSUFBSSxDQUFTO0lBRWIsTUFBTSxHQUF5QixJQUFJLENBQUM7SUFDcEMsUUFBUSxHQUFvQixJQUFJLENBQUM7SUFFakM7O3NDQUVrQztJQUNsQyxNQUFNLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoQyxHQUFHLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3QixTQUFTLEdBQUcsSUFB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VUFBVSxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksVUFBVSxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDL0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENB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LEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFZixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUVmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBKdWx5IDI4LCAyMDIzLiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjMsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3JcbiAqIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSEVcbiAqIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBCb25lIH0gZnJvbSBcIi4uL0JvbmUuanNcIjtcbmltcG9ydCB7IFRleHR1cmVSZWdpb24gfSBmcm9tIFwiLi4vVGV4dHVyZS5qc1wiO1xuaW1wb3J0IHsgQ29sb3IsIE1hdGhVdGlscywgTnVtYmVyQXJyYXlMaWtlLCBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gXCIuL0F0dGFjaG1lbnQuanNcIjtcbmltcG9ydCB7IEhhc1RleHR1cmVSZWdpb24gfSBmcm9tIFwiLi9IYXNUZXh0dXJlUmVnaW9uLmpzXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gXCIuL1NlcXVlbmNlLmpzXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIi4uL1Nsb3QuanNcIjtcblxuLyoqIEFuIGF0dGFjaG1lbnQgdGhhdCBkaXNwbGF5cyBhIHRleHR1cmVkIHF1YWRyaWxhdGVyYWwuXG4gKlxuICogU2VlIFtSZWdpb24gYXR0YWNobWVudHNdKGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1yZWdpb25zKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpb25BdHRhY2htZW50IGV4dGVuZHMgQXR0YWNobWVudCBpbXBsZW1lbnRzIEhhc1RleHR1cmVSZWdpb24ge1xuXHQvKiogVGhlIGxvY2FsIHggdHJhbnNsYXRpb24uICovXG5cdHggPSAwO1xuXG5cdC8qKiBUaGUgbG9jYWwgeSB0cmFuc2xhdGlvbi4gKi9cblx0eSA9IDA7XG5cblx0LyoqIFRoZSBsb2NhbCBzY2FsZVguICovXG5cdHNjYWxlWCA9IDE7XG5cblx0LyoqIFRoZSBsb2NhbCBzY2FsZVkuICovXG5cdHNjYWxlWSA9IDE7XG5cblx0LyoqIFRoZSBsb2NhbCByb3RhdGlvbi4gKi9cblx0cm90YXRpb24gPSAwO1xuXG5cdC8qKiBUaGUgd2lkdGggb2YgdGhlIHJlZ2lvbiBhdHRhY2htZW50IGluIFNwaW5lLiAqL1xuXHR3aWR0aCA9IDA7XG5cblx0LyoqIFRoZSBoZWlnaHQgb2YgdGhlIHJlZ2lvbiBhdHRhY2htZW50IGluIFNwaW5lLiAqL1xuXHRoZWlnaHQgPSAwO1xuXG5cdC8qKiBUaGUgY29sb3IgdG8gdGludCB0aGUgcmVnaW9uIGF0dGFjaG1lbnQuICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgbmFtZSBvZiB0aGUgdGV4dHVyZSByZWdpb24gZm9yIHRoaXMgYXR0YWNobWVudC4gKi9cblx0cGF0aDogc3RyaW5nO1xuXG5cdHJlZ2lvbjogVGV4dHVyZVJlZ2lvbiB8IG51bGwgPSBudWxsO1xuXHRzZXF1ZW5jZTogU2VxdWVuY2UgfCBudWxsID0gbnVsbDtcblxuXHQvKiogRm9yIGVhY2ggb2YgdGhlIDQgdmVydGljZXMsIGEgcGFpciBvZiA8Y29kZT54LHk8L2NvZGU+IHZhbHVlcyB0aGF0IGlzIHRoZSBsb2NhbCBwb3NpdGlvbiBvZiB0aGUgdmVydGV4LlxuXHQgKlxuXHQgKiBTZWUge0BsaW5rICN1cGRhdGVPZmZzZXQoKX0uICovXG5cdG9mZnNldCA9IFV0aWxzLm5ld0Zsb2F0QXJyYXkoOCk7XG5cblx0dXZzID0gVXRpbHMubmV3RmxvYXRBcnJheSg4KTtcblxuXHR0ZW1wQ29sb3IgPSBuZXcgQ29sb3IoMSwgMSwgMSwgMSk7XG5cblx0Y29uc3RydWN0b3IgKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKiBDYWxjdWxhdGVzIHRoZSB7QGxpbmsgI29mZnNldH0gdXNpbmcgdGhlIHJlZ2lvbiBzZXR0aW5ncy4gTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgY2hhbmdpbmcgcmVnaW9uIHNldHRpbmdzLiAqL1xuXHR1cGRhdGVSZWdpb24gKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5yZWdpb24pIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBub3Qgc2V0LlwiKTtcblx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb247XG5cdFx0bGV0IHV2cyA9IHRoaXMudXZzO1xuXG5cdFx0aWYgKHJlZ2lvbiA9PSBudWxsKSB7XG5cdFx0XHR1dnNbMF0gPSAwO1xuXHRcdFx0dXZzWzFdID0gMDtcblx0XHRcdHV2c1syXSA9IDA7XG5cdFx0XHR1dnNbM10gPSAxO1xuXHRcdFx0dXZzWzRdID0gMTtcblx0XHRcdHV2c1s1XSA9IDE7XG5cdFx0XHR1dnNbNl0gPSAxO1xuXHRcdFx0dXZzWzddID0gMDtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVnaW9uU2NhbGVYID0gdGhpcy53aWR0aCAvIHRoaXMucmVnaW9uLm9yaWdpbmFsV2lkdGggKiB0aGlzLnNjYWxlWDtcblx0XHRsZXQgcmVnaW9uU2NhbGVZID0gdGhpcy5oZWlnaHQgLyB0aGlzLnJlZ2lvbi5vcmlnaW5hbEhlaWdodCAqIHRoaXMuc2NhbGVZO1xuXHRcdGxldCBsb2NhbFggPSAtdGhpcy53aWR0aCAvIDIgKiB0aGlzLnNjYWxlWCArIHRoaXMucmVnaW9uLm9mZnNldFggKiByZWdpb25TY2FsZVg7XG5cdFx0bGV0IGxvY2FsWSA9IC10aGlzLmhlaWdodCAvIDIgKiB0aGlzLnNjYWxlWSArIHRoaXMucmVnaW9uLm9mZnNldFkgKiByZWdpb25TY2FsZVk7XG5cdFx0bGV0IGxvY2FsWDIgPSBsb2NhbFggKyB0aGlzLnJlZ2lvbi53aWR0aCAqIHJlZ2lvblNjYWxlWDtcblx0XHRsZXQgbG9jYWxZMiA9IGxvY2FsWSArIHRoaXMucmVnaW9uLmhlaWdodCAqIHJlZ2lvblNjYWxlWTtcblx0XHRsZXQgcmFkaWFucyA9IHRoaXMucm90YXRpb24gKiBNYXRoVXRpbHMuZGVnUmFkO1xuXHRcdGxldCBjb3MgPSBNYXRoLmNvcyhyYWRpYW5zKTtcblx0XHRsZXQgc2luID0gTWF0aC5zaW4ocmFkaWFucyk7XG5cdFx0bGV0IHggPSB0aGlzLngsIHkgPSB0aGlzLnk7XG5cdFx0bGV0IGxvY2FsWENvcyA9IGxvY2FsWCAqIGNvcyArIHg7XG5cdFx0bGV0IGxvY2FsWFNpbiA9IGxvY2FsWCAqIHNpbjtcblx0XHRsZXQgbG9jYWxZQ29zID0gbG9jYWxZICogY29zICsgeTtcblx0XHRsZXQgbG9jYWxZU2luID0gbG9jYWxZICogc2luO1xuXHRcdGxldCBsb2NhbFgyQ29zID0gbG9jYWxYMiAqIGNvcyArIHg7XG5cdFx0bGV0IGxvY2FsWDJTaW4gPSBsb2NhbFgyICogc2luO1xuXHRcdGxldCBsb2NhbFkyQ29zID0gbG9jYWxZMiAqIGNvcyArIHk7XG5cdFx0bGV0IGxvY2FsWTJTaW4gPSBsb2NhbFkyICogc2luO1xuXHRcdGxldCBvZmZzZXQgPSB0aGlzLm9mZnNldDtcblx0XHRvZmZzZXRbMF0gPSBsb2NhbFhDb3MgLSBsb2NhbFlTaW47XG5cdFx0b2Zmc2V0WzFdID0gbG9jYWxZQ29zICsgbG9jYWxYU2luO1xuXHRcdG9mZnNldFsyXSA9IGxvY2FsWENvcyAtIGxvY2FsWTJTaW47XG5cdFx0b2Zmc2V0WzNdID0gbG9jYWxZMkNvcyArIGxvY2FsWFNpbjtcblx0XHRvZmZzZXRbNF0gPSBsb2NhbFgyQ29zIC0gbG9jYWxZMlNpbjtcblx0XHRvZmZzZXRbNV0gPSBsb2NhbFkyQ29zICsgbG9jYWxYMlNpbjtcblx0XHRvZmZzZXRbNl0gPSBsb2NhbFgyQ29zIC0gbG9jYWxZU2luO1xuXHRcdG9mZnNldFs3XSA9IGxvY2FsWUNvcyArIGxvY2FsWDJTaW47XG5cblx0XHRpZiAocmVnaW9uLmRlZ3JlZXMgPT0gOTApIHtcblx0XHRcdHV2c1swXSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1sxXSA9IHJlZ2lvbi52Mjtcblx0XHRcdHV2c1syXSA9IHJlZ2lvbi51O1xuXHRcdFx0dXZzWzNdID0gcmVnaW9uLnYyO1xuXHRcdFx0dXZzWzRdID0gcmVnaW9uLnU7XG5cdFx0XHR1dnNbNV0gPSByZWdpb24udjtcblx0XHRcdHV2c1s2XSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1s3XSA9IHJlZ2lvbi52O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR1dnNbMF0gPSByZWdpb24udTtcblx0XHRcdHV2c1sxXSA9IHJlZ2lvbi52Mjtcblx0XHRcdHV2c1syXSA9IHJlZ2lvbi51O1xuXHRcdFx0dXZzWzNdID0gcmVnaW9uLnY7XG5cdFx0XHR1dnNbNF0gPSByZWdpb24udTI7XG5cdFx0XHR1dnNbNV0gPSByZWdpb24udjtcblx0XHRcdHV2c1s2XSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1s3XSA9IHJlZ2lvbi52Mjtcblx0XHR9XG5cdH1cblxuXHQvKiogVHJhbnNmb3JtcyB0aGUgYXR0YWNobWVudCdzIGZvdXIgdmVydGljZXMgdG8gd29ybGQgY29vcmRpbmF0ZXMuIElmIHRoZSBhdHRhY2htZW50IGhhcyBhIHtAbGluayAjc2VxdWVuY2V9LCB0aGUgcmVnaW9uIG1heVxuXHQgKiBiZSBjaGFuZ2VkLlxuXHQgKiA8cD5cblx0ICogU2VlIDxhIGhyZWY9XCJodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtcnVudGltZS1za2VsZXRvbnMjV29ybGQtdHJhbnNmb3Jtc1wiPldvcmxkIHRyYW5zZm9ybXM8L2E+IGluIHRoZSBTcGluZVxuXHQgKiBSdW50aW1lcyBHdWlkZS5cblx0ICogQHBhcmFtIHdvcmxkVmVydGljZXMgVGhlIG91dHB1dCB3b3JsZCB2ZXJ0aWNlcy4gTXVzdCBoYXZlIGEgbGVuZ3RoID49IDxjb2RlPm9mZnNldDwvY29kZT4gKyA4LlxuXHQgKiBAcGFyYW0gb2Zmc2V0IFRoZSA8Y29kZT53b3JsZFZlcnRpY2VzPC9jb2RlPiBpbmRleCB0byBiZWdpbiB3cml0aW5nIHZhbHVlcy5cblx0ICogQHBhcmFtIHN0cmlkZSBUaGUgbnVtYmVyIG9mIDxjb2RlPndvcmxkVmVydGljZXM8L2NvZGU+IGVudHJpZXMgYmV0d2VlbiB0aGUgdmFsdWUgcGFpcnMgd3JpdHRlbi4gKi9cblx0Y29tcHV0ZVdvcmxkVmVydGljZXMgKHNsb3Q6IFNsb3QsIHdvcmxkVmVydGljZXM6IE51bWJlckFycmF5TGlrZSwgb2Zmc2V0OiBudW1iZXIsIHN0cmlkZTogbnVtYmVyKSB7XG5cdFx0aWYgKHRoaXMuc2VxdWVuY2UgIT0gbnVsbClcblx0XHRcdHRoaXMuc2VxdWVuY2UuYXBwbHkoc2xvdCwgdGhpcyk7XG5cblx0XHRsZXQgYm9uZSA9IHNsb3QuYm9uZTtcblx0XHRsZXQgdmVydGV4T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XG5cdFx0bGV0IHggPSBib25lLndvcmxkWCwgeSA9IGJvbmUud29ybGRZO1xuXHRcdGxldCBhID0gYm9uZS5hLCBiID0gYm9uZS5iLCBjID0gYm9uZS5jLCBkID0gYm9uZS5kO1xuXHRcdGxldCBvZmZzZXRYID0gMCwgb2Zmc2V0WSA9IDA7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzBdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbMV07XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIGJyXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzJdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbM107XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIGJsXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzRdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbNV07XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIHVsXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzZdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbN107XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIHVyXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHR9XG5cblx0Y29weSAoKTogQXR0YWNobWVudCB7XG5cdFx0bGV0IGNvcHkgPSBuZXcgUmVnaW9uQXR0YWNobWVudCh0aGlzLm5hbWUsIHRoaXMucGF0aCk7XG5cdFx0Y29weS5yZWdpb24gPSB0aGlzLnJlZ2lvbjtcblx0XHRjb3B5LnggPSB0aGlzLng7XG5cdFx0Y29weS55ID0gdGhpcy55O1xuXHRcdGNvcHkuc2NhbGVYID0gdGhpcy5zY2FsZVg7XG5cdFx0Y29weS5zY2FsZVkgPSB0aGlzLnNjYWxlWTtcblx0XHRjb3B5LnJvdGF0aW9uID0gdGhpcy5yb3RhdGlvbjtcblx0XHRjb3B5LndpZHRoID0gdGhpcy53aWR0aDtcblx0XHRjb3B5LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnV2cywgMCwgY29weS51dnMsIDAsIDgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLm9mZnNldCwgMCwgY29weS5vZmZzZXQsIDAsIDgpO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdGNvcHkuc2VxdWVuY2UgPSB0aGlzLnNlcXVlbmNlICE9IG51bGwgPyB0aGlzLnNlcXVlbmNlLmNvcHkoKSA6IG51bGw7XG5cdFx0cmV0dXJuIGNvcHk7XG5cdH1cblxuXHRzdGF0aWMgWDEgPSAwO1xuXHRzdGF0aWMgWTEgPSAxO1xuXHRzdGF0aWMgQzFSID0gMjtcblx0c3RhdGljIEMxRyA9IDM7XG5cdHN0YXRpYyBDMUIgPSA0O1xuXHRzdGF0aWMgQzFBID0gNTtcblx0c3RhdGljIFUxID0gNjtcblx0c3RhdGljIFYxID0gNztcblxuXHRzdGF0aWMgWDIgPSA4O1xuXHRzdGF0aWMgWTIgPSA5O1xuXHRzdGF0aWMgQzJSID0gMTA7XG5cdHN0YXRpYyBDMkcgPSAxMTtcblx0c3RhdGljIEMyQiA9IDEyO1xuXHRzdGF0aWMgQzJBID0gMTM7XG5cdHN0YXRpYyBVMiA9IDE0O1xuXHRzdGF0aWMgVjIgPSAxNTtcblxuXHRzdGF0aWMgWDMgPSAxNjtcblx0c3RhdGljIFkzID0gMTc7XG5cdHN0YXRpYyBDM1IgPSAxODtcblx0c3RhdGljIEMzRyA9IDE5O1xuXHRzdGF0aWMgQzNCID0gMjA7XG5cdHN0YXRpYyBDM0EgPSAyMTtcblx0c3RhdGljIFUzID0gMjI7XG5cdHN0YXRpYyBWMyA9IDIzO1xuXG5cdHN0YXRpYyBYNCA9IDI0O1xuXHRzdGF0aWMgWTQgPSAyNTtcblx0c3RhdGljIEM0UiA9IDI2O1xuXHRzdGF0aWMgQzRHID0gMjc7XG5cdHN0YXRpYyBDNEIgPSAyODtcblx0c3RhdGljIEM0QSA9IDI5O1xuXHRzdGF0aWMgVTQgPSAzMDtcblx0c3RhdGljIFY0ID0gMzE7XG59XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaW9uQXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdHRhY2htZW50cy9SZWdpb25BdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUkvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUs3Qzs7a0dBRWtHO0FBQ2xHLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQy9DLCtCQUErQjtJQUMvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRU4sK0JBQStCO0lBQy9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFTix3QkFBd0I7SUFDeEIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLHdCQUF3QjtJQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsMEJBQTBCO0lBQzFCLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFFYixtREFBbUQ7SUFDbkQsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVWLG9EQUFvRDtJQUNwRCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsK0NBQStDO0lBQy9DLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QiwwREFBMEQ7SUFDMUQsSUFBSSxDQUFTO0lBRWIsTUFBTSxHQUF5QixJQUFJLENBQUM7SUFDcEMsUUFBUSxHQUFvQixJQUFJLENBQUM7SUFFakM7O3NDQUVrQztJQUNsQyxNQUFNLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoQyxHQUFHLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3QixTQUFTLEdBQUcsSUFB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VUFBVSxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksVUFBVSxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDL0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLENB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LEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFZixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUVmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBCb25lIH0gZnJvbSBcIi4uL0JvbmUuanNcIjtcbmltcG9ydCB7IFRleHR1cmVSZWdpb24gfSBmcm9tIFwiLi4vVGV4dHVyZS5qc1wiO1xuaW1wb3J0IHsgQ29sb3IsIE1hdGhVdGlscywgTnVtYmVyQXJyYXlMaWtlLCBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gXCIuL0F0dGFjaG1lbnQuanNcIjtcbmltcG9ydCB7IEhhc1RleHR1cmVSZWdpb24gfSBmcm9tIFwiLi9IYXNUZXh0dXJlUmVnaW9uLmpzXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gXCIuL1NlcXVlbmNlLmpzXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIi4uL1Nsb3QuanNcIjtcblxuLyoqIEFuIGF0dGFjaG1lbnQgdGhhdCBkaXNwbGF5cyBhIHRleHR1cmVkIHF1YWRyaWxhdGVyYWwuXG4gKlxuICogU2VlIFtSZWdpb24gYXR0YWNobWVudHNdKGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1yZWdpb25zKSBpbiB0aGUgU3BpbmUgVXNlciBHdWlkZS4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpb25BdHRhY2htZW50IGV4dGVuZHMgQXR0YWNobWVudCBpbXBsZW1lbnRzIEhhc1RleHR1cmVSZWdpb24ge1xuXHQvKiogVGhlIGxvY2FsIHggdHJhbnNsYXRpb24uICovXG5cdHggPSAwO1xuXG5cdC8qKiBUaGUgbG9jYWwgeSB0cmFuc2xhdGlvbi4gKi9cblx0eSA9IDA7XG5cblx0LyoqIFRoZSBsb2NhbCBzY2FsZVguICovXG5cdHNjYWxlWCA9IDE7XG5cblx0LyoqIFRoZSBsb2NhbCBzY2FsZVkuICovXG5cdHNjYWxlWSA9IDE7XG5cblx0LyoqIFRoZSBsb2NhbCByb3RhdGlvbi4gKi9cblx0cm90YXRpb24gPSAwO1xuXG5cdC8qKiBUaGUgd2lkdGggb2YgdGhlIHJlZ2lvbiBhdHRhY2htZW50IGluIFNwaW5lLiAqL1xuXHR3aWR0aCA9IDA7XG5cblx0LyoqIFRoZSBoZWlnaHQgb2YgdGhlIHJlZ2lvbiBhdHRhY2htZW50IGluIFNwaW5lLiAqL1xuXHRoZWlnaHQgPSAwO1xuXG5cdC8qKiBUaGUgY29sb3IgdG8gdGludCB0aGUgcmVnaW9uIGF0dGFjaG1lbnQuICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgbmFtZSBvZiB0aGUgdGV4dHVyZSByZWdpb24gZm9yIHRoaXMgYXR0YWNobWVudC4gKi9cblx0cGF0aDogc3RyaW5nO1xuXG5cdHJlZ2lvbjogVGV4dHVyZVJlZ2lvbiB8IG51bGwgPSBudWxsO1xuXHRzZXF1ZW5jZTogU2VxdWVuY2UgfCBudWxsID0gbnVsbDtcblxuXHQvKiogRm9yIGVhY2ggb2YgdGhlIDQgdmVydGljZXMsIGEgcGFpciBvZiA8Y29kZT54LHk8L2NvZGU+IHZhbHVlcyB0aGF0IGlzIHRoZSBsb2NhbCBwb3NpdGlvbiBvZiB0aGUgdmVydGV4LlxuXHQgKlxuXHQgKiBTZWUge0BsaW5rICN1cGRhdGVPZmZzZXQoKX0uICovXG5cdG9mZnNldCA9IFV0aWxzLm5ld0Zsb2F0QXJyYXkoOCk7XG5cblx0dXZzID0gVXRpbHMubmV3RmxvYXRBcnJheSg4KTtcblxuXHR0ZW1wQ29sb3IgPSBuZXcgQ29sb3IoMSwgMSwgMSwgMSk7XG5cblx0Y29uc3RydWN0b3IgKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcblx0fVxuXG5cdC8qKiBDYWxjdWxhdGVzIHRoZSB7QGxpbmsgI29mZnNldH0gdXNpbmcgdGhlIHJlZ2lvbiBzZXR0aW5ncy4gTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgY2hhbmdpbmcgcmVnaW9uIHNldHRpbmdzLiAqL1xuXHR1cGRhdGVSZWdpb24gKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5yZWdpb24pIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBub3Qgc2V0LlwiKTtcblx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb247XG5cdFx0bGV0IHV2cyA9IHRoaXMudXZzO1xuXG5cdFx0aWYgKHJlZ2lvbiA9PSBudWxsKSB7XG5cdFx0XHR1dnNbMF0gPSAwO1xuXHRcdFx0dXZzWzFdID0gMDtcblx0XHRcdHV2c1syXSA9IDA7XG5cdFx0XHR1dnNbM10gPSAxO1xuXHRcdFx0dXZzWzRdID0gMTtcblx0XHRcdHV2c1s1XSA9IDE7XG5cdFx0XHR1dnNbNl0gPSAxO1xuXHRcdFx0dXZzWzddID0gMDtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVnaW9uU2NhbGVYID0gdGhpcy53aWR0aCAvIHRoaXMucmVnaW9uLm9yaWdpbmFsV2lkdGggKiB0aGlzLnNjYWxlWDtcblx0XHRsZXQgcmVnaW9uU2NhbGVZID0gdGhpcy5oZWlnaHQgLyB0aGlzLnJlZ2lvbi5vcmlnaW5hbEhlaWdodCAqIHRoaXMuc2NhbGVZO1xuXHRcdGxldCBsb2NhbFggPSAtdGhpcy53aWR0aCAvIDIgKiB0aGlzLnNjYWxlWCArIHRoaXMucmVnaW9uLm9mZnNldFggKiByZWdpb25TY2FsZVg7XG5cdFx0bGV0IGxvY2FsWSA9IC10aGlzLmhlaWdodCAvIDIgKiB0aGlzLnNjYWxlWSArIHRoaXMucmVnaW9uLm9mZnNldFkgKiByZWdpb25TY2FsZVk7XG5cdFx0bGV0IGxvY2FsWDIgPSBsb2NhbFggKyB0aGlzLnJlZ2lvbi53aWR0aCAqIHJlZ2lvblNjYWxlWDtcblx0XHRsZXQgbG9jYWxZMiA9IGxvY2FsWSArIHRoaXMucmVnaW9uLmhlaWdodCAqIHJlZ2lvblNjYWxlWTtcblx0XHRsZXQgcmFkaWFucyA9IHRoaXMucm90YXRpb24gKiBNYXRoVXRpbHMuZGVnUmFkO1xuXHRcdGxldCBjb3MgPSBNYXRoLmNvcyhyYWRpYW5zKTtcblx0XHRsZXQgc2luID0gTWF0aC5zaW4ocmFkaWFucyk7XG5cdFx0bGV0IHggPSB0aGlzLngsIHkgPSB0aGlzLnk7XG5cdFx0bGV0IGxvY2FsWENvcyA9IGxvY2FsWCAqIGNvcyArIHg7XG5cdFx0bGV0IGxvY2FsWFNpbiA9IGxvY2FsWCAqIHNpbjtcblx0XHRsZXQgbG9jYWxZQ29zID0gbG9jYWxZICogY29zICsgeTtcblx0XHRsZXQgbG9jYWxZU2luID0gbG9jYWxZICogc2luO1xuXHRcdGxldCBsb2NhbFgyQ29zID0gbG9jYWxYMiAqIGNvcyArIHg7XG5cdFx0bGV0IGxvY2FsWDJTaW4gPSBsb2NhbFgyICogc2luO1xuXHRcdGxldCBsb2NhbFkyQ29zID0gbG9jYWxZMiAqIGNvcyArIHk7XG5cdFx0bGV0IGxvY2FsWTJTaW4gPSBsb2NhbFkyICogc2luO1xuXHRcdGxldCBvZmZzZXQgPSB0aGlzLm9mZnNldDtcblx0XHRvZmZzZXRbMF0gPSBsb2NhbFhDb3MgLSBsb2NhbFlTaW47XG5cdFx0b2Zmc2V0WzFdID0gbG9jYWxZQ29zICsgbG9jYWxYU2luO1xuXHRcdG9mZnNldFsyXSA9IGxvY2FsWENvcyAtIGxvY2FsWTJTaW47XG5cdFx0b2Zmc2V0WzNdID0gbG9jYWxZMkNvcyArIGxvY2FsWFNpbjtcblx0XHRvZmZzZXRbNF0gPSBsb2NhbFgyQ29zIC0gbG9jYWxZMlNpbjtcblx0XHRvZmZzZXRbNV0gPSBsb2NhbFkyQ29zICsgbG9jYWxYMlNpbjtcblx0XHRvZmZzZXRbNl0gPSBsb2NhbFgyQ29zIC0gbG9jYWxZU2luO1xuXHRcdG9mZnNldFs3XSA9IGxvY2FsWUNvcyArIGxvY2FsWDJTaW47XG5cblx0XHRpZiAocmVnaW9uLmRlZ3JlZXMgPT0gOTApIHtcblx0XHRcdHV2c1swXSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1sxXSA9IHJlZ2lvbi52Mjtcblx0XHRcdHV2c1syXSA9IHJlZ2lvbi51O1xuXHRcdFx0dXZzWzNdID0gcmVnaW9uLnYyO1xuXHRcdFx0dXZzWzRdID0gcmVnaW9uLnU7XG5cdFx0XHR1dnNbNV0gPSByZWdpb24udjtcblx0XHRcdHV2c1s2XSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1s3XSA9IHJlZ2lvbi52O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR1dnNbMF0gPSByZWdpb24udTtcblx0XHRcdHV2c1sxXSA9IHJlZ2lvbi52Mjtcblx0XHRcdHV2c1syXSA9IHJlZ2lvbi51O1xuXHRcdFx0dXZzWzNdID0gcmVnaW9uLnY7XG5cdFx0XHR1dnNbNF0gPSByZWdpb24udTI7XG5cdFx0XHR1dnNbNV0gPSByZWdpb24udjtcblx0XHRcdHV2c1s2XSA9IHJlZ2lvbi51Mjtcblx0XHRcdHV2c1s3XSA9IHJlZ2lvbi52Mjtcblx0XHR9XG5cdH1cblxuXHQvKiogVHJhbnNmb3JtcyB0aGUgYXR0YWNobWVudCdzIGZvdXIgdmVydGljZXMgdG8gd29ybGQgY29vcmRpbmF0ZXMuIElmIHRoZSBhdHRhY2htZW50IGhhcyBhIHtAbGluayAjc2VxdWVuY2V9LCB0aGUgcmVnaW9uIG1heVxuXHQgKiBiZSBjaGFuZ2VkLlxuXHQgKiA8cD5cblx0ICogU2VlIDxhIGhyZWY9XCJodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtcnVudGltZS1za2VsZXRvbnMjV29ybGQtdHJhbnNmb3Jtc1wiPldvcmxkIHRyYW5zZm9ybXM8L2E+IGluIHRoZSBTcGluZVxuXHQgKiBSdW50aW1lcyBHdWlkZS5cblx0ICogQHBhcmFtIHdvcmxkVmVydGljZXMgVGhlIG91dHB1dCB3b3JsZCB2ZXJ0aWNlcy4gTXVzdCBoYXZlIGEgbGVuZ3RoID49IDxjb2RlPm9mZnNldDwvY29kZT4gKyA4LlxuXHQgKiBAcGFyYW0gb2Zmc2V0IFRoZSA8Y29kZT53b3JsZFZlcnRpY2VzPC9jb2RlPiBpbmRleCB0byBiZWdpbiB3cml0aW5nIHZhbHVlcy5cblx0ICogQHBhcmFtIHN0cmlkZSBUaGUgbnVtYmVyIG9mIDxjb2RlPndvcmxkVmVydGljZXM8L2NvZGU+IGVudHJpZXMgYmV0d2VlbiB0aGUgdmFsdWUgcGFpcnMgd3JpdHRlbi4gKi9cblx0Y29tcHV0ZVdvcmxkVmVydGljZXMgKHNsb3Q6IFNsb3QsIHdvcmxkVmVydGljZXM6IE51bWJlckFycmF5TGlrZSwgb2Zmc2V0OiBudW1iZXIsIHN0cmlkZTogbnVtYmVyKSB7XG5cdFx0aWYgKHRoaXMuc2VxdWVuY2UgIT0gbnVsbClcblx0XHRcdHRoaXMuc2VxdWVuY2UuYXBwbHkoc2xvdCwgdGhpcyk7XG5cblx0XHRsZXQgYm9uZSA9IHNsb3QuYm9uZTtcblx0XHRsZXQgdmVydGV4T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XG5cdFx0bGV0IHggPSBib25lLndvcmxkWCwgeSA9IGJvbmUud29ybGRZO1xuXHRcdGxldCBhID0gYm9uZS5hLCBiID0gYm9uZS5iLCBjID0gYm9uZS5jLCBkID0gYm9uZS5kO1xuXHRcdGxldCBvZmZzZXRYID0gMCwgb2Zmc2V0WSA9IDA7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzBdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbMV07XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIGJyXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzJdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbM107XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIGJsXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzRdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbNV07XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIHVsXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHRcdG9mZnNldCArPSBzdHJpZGU7XG5cblx0XHRvZmZzZXRYID0gdmVydGV4T2Zmc2V0WzZdO1xuXHRcdG9mZnNldFkgPSB2ZXJ0ZXhPZmZzZXRbN107XG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXRdID0gb2Zmc2V0WCAqIGEgKyBvZmZzZXRZICogYiArIHg7IC8vIHVyXG5cdFx0d29ybGRWZXJ0aWNlc1tvZmZzZXQgKyAxXSA9IG9mZnNldFggKiBjICsgb2Zmc2V0WSAqIGQgKyB5O1xuXHR9XG5cblx0Y29weSAoKTogQXR0YWNobWVudCB7XG5cdFx0bGV0IGNvcHkgPSBuZXcgUmVnaW9uQXR0YWNobWVudCh0aGlzLm5hbWUsIHRoaXMucGF0aCk7XG5cdFx0Y29weS5yZWdpb24gPSB0aGlzLnJlZ2lvbjtcblx0XHRjb3B5LnggPSB0aGlzLng7XG5cdFx0Y29weS55ID0gdGhpcy55O1xuXHRcdGNvcHkuc2NhbGVYID0gdGhpcy5zY2FsZVg7XG5cdFx0Y29weS5zY2FsZVkgPSB0aGlzLnNjYWxlWTtcblx0XHRjb3B5LnJvdGF0aW9uID0gdGhpcy5yb3RhdGlvbjtcblx0XHRjb3B5LndpZHRoID0gdGhpcy53aWR0aDtcblx0XHRjb3B5LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLnV2cywgMCwgY29weS51dnMsIDAsIDgpO1xuXHRcdFV0aWxzLmFycmF5Q29weSh0aGlzLm9mZnNldCwgMCwgY29weS5vZmZzZXQsIDAsIDgpO1xuXHRcdGNvcHkuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuY29sb3IpO1xuXHRcdGNvcHkuc2VxdWVuY2UgPSB0aGlzLnNlcXVlbmNlICE9IG51bGwgPyB0aGlzLnNlcXVlbmNlLmNvcHkoKSA6IG51bGw7XG5cdFx0cmV0dXJuIGNvcHk7XG5cdH1cblxuXHRzdGF0aWMgWDEgPSAwO1xuXHRzdGF0aWMgWTEgPSAxO1xuXHRzdGF0aWMgQzFSID0gMjtcblx0c3RhdGljIEMxRyA9IDM7XG5cdHN0YXRpYyBDMUIgPSA0O1xuXHRzdGF0aWMgQzFBID0gNTtcblx0c3RhdGljIFUxID0gNjtcblx0c3RhdGljIFYxID0gNztcblxuXHRzdGF0aWMgWDIgPSA4O1xuXHRzdGF0aWMgWTIgPSA5O1xuXHRzdGF0aWMgQzJSID0gMTA7XG5cdHN0YXRpYyBDMkcgPSAxMTtcblx0c3RhdGljIEMyQiA9IDEyO1xuXHRzdGF0aWMgQzJBID0gMTM7XG5cdHN0YXRpYyBVMiA9IDE0O1xuXHRzdGF0aWMgVjIgPSAxNTtcblxuXHRzdGF0aWMgWDMgPSAxNjtcblx0c3RhdGljIFkzID0gMTc7XG5cdHN0YXRpYyBDM1IgPSAxODtcblx0c3RhdGljIEMzRyA9IDE5O1xuXHRzdGF0aWMgQzNCID0gMjA7XG5cdHN0YXRpYyBDM0EgPSAyMTtcblx0c3RhdGljIFUzID0gMjI7XG5cdHN0YXRpYyBWMyA9IDIzO1xuXG5cdHN0YXRpYyBYNCA9IDI0O1xuXHRzdGF0aWMgWTQgPSAyNTtcblx0c3RhdGljIEM0UiA9IDI2O1xuXHRzdGF0aWMgQzRHID0gMjc7XG5cdHN0YXRpYyBDNEIgPSAyODtcblx0c3RhdGljIEM0QSA9IDI5O1xuXHRzdGF0aWMgVTQgPSAzMDtcblx0c3RhdGljIFY0ID0gMzE7XG59XG4iXX0=
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { TextureRegion } from "../Texture.js";
30
30
  import { Slot } from "../Slot.js";
@@ -1,16 +1,16 @@
1
1
  /******************************************************************************
2
2
  * Spine Runtimes License Agreement
3
- * Last updated July 28, 2023. Replaces all prior versions.
3
+ * Last updated April 5, 2025. Replaces all prior versions.
4
4
  *
5
- * Copyright (c) 2013-2023, Esoteric Software LLC
5
+ * Copyright (c) 2013-2025, Esoteric Software LLC
6
6
  *
7
7
  * Integration of the Spine Runtimes into software or otherwise creating
8
8
  * derivative works of the Spine Runtimes is permitted under the terms and
9
9
  * conditions of Section 2 of the Spine Editor License Agreement:
10
10
  * http://esotericsoftware.com/spine-editor-license
11
11
  *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software or
13
- * otherwise create derivative works of the Spine Runtimes (collectively,
12
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
+ * or otherwise create derivative works of the Spine Runtimes (collectively,
14
14
  * "Products"), provided that each user of the Products must obtain their own
15
15
  * Spine Editor license and redistribution of the Products in any form must
16
16
  * include this license and copyright notice.
@@ -23,8 +23,8 @@
23
23
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
24
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
25
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
27
- * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { Utils } from "../Utils.js";
30
30
  export class Sequence {
@@ -89,4 +89,4 @@ export const SequenceModeValues = [
89
89
  SequenceMode.loopReverse,
90
90
  SequenceMode.pingpongReverse
91
91
  ];
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvU2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHcEMsTUFBTSxPQUFPLFFBQVE7SUFDWixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUUzQixFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sQ0FBa0I7SUFDekIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCwwREFBMEQ7SUFDMUQsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVmLFlBQWEsS0FBYTtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFnQixLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSTtRQUNILElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUssQ0FBRSxJQUFVLEVBQUUsVUFBNEI7UUFDOUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7WUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sQ0FBRSxRQUFnQixFQUFFLEtBQWE7UUFDdkMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNsRCxNQUFNLElBQUksR0FBRyxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNoQixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFTyxNQUFNLENBQUMsTUFBTTtRQUNwQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDOztBQUdGLE1BQU0sQ0FBTixJQUFZLFlBUVg7QUFSRCxXQUFZLFlBQVk7SUFDdkIsK0NBQVEsQ0FBQTtJQUNSLCtDQUFRLENBQUE7SUFDUiwrQ0FBUSxDQUFBO0lBQ1IsdURBQVksQ0FBQTtJQUNaLDZEQUFlLENBQUE7SUFDZiw2REFBZSxDQUFBO0lBQ2YscUVBQW1CLENBQUE7QUFDcEIsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDakMsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLFFBQVE7SUFDckIsWUFBWSxDQUFDLFdBQVc7SUFDeEIsWUFBWSxDQUFDLFdBQVc7SUFDeEIsWUFBWSxDQUFDLGVBQWU7Q0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgSnVseSAyOCwgMjAyMy4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDIzLCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yXG4gKiBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhFXG4gKiBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgVGV4dHVyZVJlZ2lvbiB9IGZyb20gXCIuLi9UZXh0dXJlLmpzXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIi4uL1Nsb3QuanNcIjtcbmltcG9ydCB7IEhhc1RleHR1cmVSZWdpb24gfSBmcm9tIFwiLi9IYXNUZXh0dXJlUmVnaW9uLmpzXCI7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSB7XG5cdHByaXZhdGUgc3RhdGljIF9uZXh0SUQgPSAwO1xuXG5cdGlkID0gU2VxdWVuY2UubmV4dElEKCk7XG5cdHJlZ2lvbnM6IFRleHR1cmVSZWdpb25bXTtcblx0c3RhcnQgPSAwO1xuXHRkaWdpdHMgPSAwO1xuXHQvKiogVGhlIGluZGV4IG9mIHRoZSByZWdpb24gdG8gc2hvdyBmb3IgdGhlIHNldHVwIHBvc2UuICovXG5cdHNldHVwSW5kZXggPSAwO1xuXG5cdGNvbnN0cnVjdG9yIChjb3VudDogbnVtYmVyKSB7XG5cdFx0dGhpcy5yZWdpb25zID0gbmV3IEFycmF5PFRleHR1cmVSZWdpb24+KGNvdW50KTtcblx0fVxuXG5cdGNvcHkgKCk6IFNlcXVlbmNlIHtcblx0XHRsZXQgY29weSA9IG5ldyBTZXF1ZW5jZSh0aGlzLnJlZ2lvbnMubGVuZ3RoKTtcblx0XHRVdGlscy5hcnJheUNvcHkodGhpcy5yZWdpb25zLCAwLCBjb3B5LnJlZ2lvbnMsIDAsIHRoaXMucmVnaW9ucy5sZW5ndGgpO1xuXHRcdGNvcHkuc3RhcnQgPSB0aGlzLnN0YXJ0O1xuXHRcdGNvcHkuZGlnaXRzID0gdGhpcy5kaWdpdHM7XG5cdFx0Y29weS5zZXR1cEluZGV4ID0gdGhpcy5zZXR1cEluZGV4O1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG5cblx0YXBwbHkgKHNsb3Q6IFNsb3QsIGF0dGFjaG1lbnQ6IEhhc1RleHR1cmVSZWdpb24pIHtcblx0XHRsZXQgaW5kZXggPSBzbG90LnNlcXVlbmNlSW5kZXg7XG5cdFx0aWYgKGluZGV4ID09IC0xKSBpbmRleCA9IHRoaXMuc2V0dXBJbmRleDtcblx0XHRpZiAoaW5kZXggPj0gdGhpcy5yZWdpb25zLmxlbmd0aCkgaW5kZXggPSB0aGlzLnJlZ2lvbnMubGVuZ3RoIC0gMTtcblx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb25zW2luZGV4XTtcblx0XHRpZiAoYXR0YWNobWVudC5yZWdpb24gIT0gcmVnaW9uKSB7XG5cdFx0XHRhdHRhY2htZW50LnJlZ2lvbiA9IHJlZ2lvbjtcblx0XHRcdGF0dGFjaG1lbnQudXBkYXRlUmVnaW9uKCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0UGF0aCAoYmFzZVBhdGg6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0bGV0IHJlc3VsdCA9IGJhc2VQYXRoO1xuXHRcdGxldCBmcmFtZSA9ICh0aGlzLnN0YXJ0ICsgaW5kZXgpLnRvU3RyaW5nKCk7XG5cdFx0Zm9yIChsZXQgaSA9IHRoaXMuZGlnaXRzIC0gZnJhbWUubGVuZ3RoOyBpID4gMDsgaS0tKVxuXHRcdFx0cmVzdWx0ICs9IFwiMFwiO1xuXHRcdHJlc3VsdCArPSBmcmFtZTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgbmV4dElEICgpOiBudW1iZXIge1xuXHRcdHJldHVybiBTZXF1ZW5jZS5fbmV4dElEKys7XG5cdH1cbn1cblxuZXhwb3J0IGVudW0gU2VxdWVuY2VNb2RlIHtcblx0aG9sZCA9IDAsXG5cdG9uY2UgPSAxLFxuXHRsb29wID0gMixcblx0cGluZ3BvbmcgPSAzLFxuXHRvbmNlUmV2ZXJzZSA9IDQsXG5cdGxvb3BSZXZlcnNlID0gNSxcblx0cGluZ3BvbmdSZXZlcnNlID0gNlxufVxuXG5leHBvcnQgY29uc3QgU2VxdWVuY2VNb2RlVmFsdWVzID0gW1xuXHRTZXF1ZW5jZU1vZGUuaG9sZCxcblx0U2VxdWVuY2VNb2RlLm9uY2UsXG5cdFNlcXVlbmNlTW9kZS5sb29wLFxuXHRTZXF1ZW5jZU1vZGUucGluZ3BvbmcsXG5cdFNlcXVlbmNlTW9kZS5vbmNlUmV2ZXJzZSxcblx0U2VxdWVuY2VNb2RlLmxvb3BSZXZlcnNlLFxuXHRTZXF1ZW5jZU1vZGUucGluZ3BvbmdSZXZlcnNlXG5dO1xuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvU2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHcEMsTUFBTSxPQUFPLFFBQVE7SUFDWixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUUzQixFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sQ0FBa0I7SUFDekIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCwwREFBMEQ7SUFDMUQsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVmLFlBQWEsS0FBYTtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFnQixLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSTtRQUNILElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUssQ0FBRSxJQUFVLEVBQUUsVUFBNEI7UUFDOUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7WUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sQ0FBRSxRQUFnQixFQUFFLEtBQWE7UUFDdkMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNsRCxNQUFNLElBQUksR0FBRyxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNoQixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFTyxNQUFNLENBQUMsTUFBTTtRQUNwQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDOztBQUdGLE1BQU0sQ0FBTixJQUFZLFlBUVg7QUFSRCxXQUFZLFlBQVk7SUFDdkIsK0NBQVEsQ0FBQTtJQUNSLCtDQUFRLENBQUE7SUFDUiwrQ0FBUSxDQUFBO0lBQ1IsdURBQVksQ0FBQTtJQUNaLDZEQUFlLENBQUE7SUFDZiw2REFBZSxDQUFBO0lBQ2YscUVBQW1CLENBQUE7QUFDcEIsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDakMsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLElBQUk7SUFDakIsWUFBWSxDQUFDLFFBQVE7SUFDckIsWUFBWSxDQUFDLFdBQVc7SUFDeEIsWUFBWSxDQUFDLFdBQVc7SUFDeEIsWUFBWSxDQUFDLGVBQWU7Q0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgVGV4dHVyZVJlZ2lvbiB9IGZyb20gXCIuLi9UZXh0dXJlLmpzXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIi4uL1Nsb3QuanNcIjtcbmltcG9ydCB7IEhhc1RleHR1cmVSZWdpb24gfSBmcm9tIFwiLi9IYXNUZXh0dXJlUmVnaW9uLmpzXCI7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi9VdGlscy5qc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSB7XG5cdHByaXZhdGUgc3RhdGljIF9uZXh0SUQgPSAwO1xuXG5cdGlkID0gU2VxdWVuY2UubmV4dElEKCk7XG5cdHJlZ2lvbnM6IFRleHR1cmVSZWdpb25bXTtcblx0c3RhcnQgPSAwO1xuXHRkaWdpdHMgPSAwO1xuXHQvKiogVGhlIGluZGV4IG9mIHRoZSByZWdpb24gdG8gc2hvdyBmb3IgdGhlIHNldHVwIHBvc2UuICovXG5cdHNldHVwSW5kZXggPSAwO1xuXG5cdGNvbnN0cnVjdG9yIChjb3VudDogbnVtYmVyKSB7XG5cdFx0dGhpcy5yZWdpb25zID0gbmV3IEFycmF5PFRleHR1cmVSZWdpb24+KGNvdW50KTtcblx0fVxuXG5cdGNvcHkgKCk6IFNlcXVlbmNlIHtcblx0XHRsZXQgY29weSA9IG5ldyBTZXF1ZW5jZSh0aGlzLnJlZ2lvbnMubGVuZ3RoKTtcblx0XHRVdGlscy5hcnJheUNvcHkodGhpcy5yZWdpb25zLCAwLCBjb3B5LnJlZ2lvbnMsIDAsIHRoaXMucmVnaW9ucy5sZW5ndGgpO1xuXHRcdGNvcHkuc3RhcnQgPSB0aGlzLnN0YXJ0O1xuXHRcdGNvcHkuZGlnaXRzID0gdGhpcy5kaWdpdHM7XG5cdFx0Y29weS5zZXR1cEluZGV4ID0gdGhpcy5zZXR1cEluZGV4O1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG5cblx0YXBwbHkgKHNsb3Q6IFNsb3QsIGF0dGFjaG1lbnQ6IEhhc1RleHR1cmVSZWdpb24pIHtcblx0XHRsZXQgaW5kZXggPSBzbG90LnNlcXVlbmNlSW5kZXg7XG5cdFx0aWYgKGluZGV4ID09IC0xKSBpbmRleCA9IHRoaXMuc2V0dXBJbmRleDtcblx0XHRpZiAoaW5kZXggPj0gdGhpcy5yZWdpb25zLmxlbmd0aCkgaW5kZXggPSB0aGlzLnJlZ2lvbnMubGVuZ3RoIC0gMTtcblx0XHRsZXQgcmVnaW9uID0gdGhpcy5yZWdpb25zW2luZGV4XTtcblx0XHRpZiAoYXR0YWNobWVudC5yZWdpb24gIT0gcmVnaW9uKSB7XG5cdFx0XHRhdHRhY2htZW50LnJlZ2lvbiA9IHJlZ2lvbjtcblx0XHRcdGF0dGFjaG1lbnQudXBkYXRlUmVnaW9uKCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0UGF0aCAoYmFzZVBhdGg6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0bGV0IHJlc3VsdCA9IGJhc2VQYXRoO1xuXHRcdGxldCBmcmFtZSA9ICh0aGlzLnN0YXJ0ICsgaW5kZXgpLnRvU3RyaW5nKCk7XG5cdFx0Zm9yIChsZXQgaSA9IHRoaXMuZGlnaXRzIC0gZnJhbWUubGVuZ3RoOyBpID4gMDsgaS0tKVxuXHRcdFx0cmVzdWx0ICs9IFwiMFwiO1xuXHRcdHJlc3VsdCArPSBmcmFtZTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgbmV4dElEICgpOiBudW1iZXIge1xuXHRcdHJldHVybiBTZXF1ZW5jZS5fbmV4dElEKys7XG5cdH1cbn1cblxuZXhwb3J0IGVudW0gU2VxdWVuY2VNb2RlIHtcblx0aG9sZCA9IDAsXG5cdG9uY2UgPSAxLFxuXHRsb29wID0gMixcblx0cGluZ3BvbmcgPSAzLFxuXHRvbmNlUmV2ZXJzZSA9IDQsXG5cdGxvb3BSZXZlcnNlID0gNSxcblx0cGluZ3BvbmdSZXZlcnNlID0gNlxufVxuXG5leHBvcnQgY29uc3QgU2VxdWVuY2VNb2RlVmFsdWVzID0gW1xuXHRTZXF1ZW5jZU1vZGUuaG9sZCxcblx0U2VxdWVuY2VNb2RlLm9uY2UsXG5cdFNlcXVlbmNlTW9kZS5sb29wLFxuXHRTZXF1ZW5jZU1vZGUucGluZ3BvbmcsXG5cdFNlcXVlbmNlTW9kZS5vbmNlUmV2ZXJzZSxcblx0U2VxdWVuY2VNb2RlLmxvb3BSZXZlcnNlLFxuXHRTZXF1ZW5jZU1vZGUucGluZ3BvbmdSZXZlcnNlXG5dO1xuIl19