angular-three 2.0.0-beta.275 → 2.0.0-beta.277

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QW1iaWVudExpZ2h0LFxuXHRBcnJheUNhbWVyYSxcblx0QXJyb3dIZWxwZXIsXG5cdEF1ZGlvLFxuXHRBeGVzSGVscGVyLFxuXHRCYXRjaGVkTWVzaCxcblx0Qm9uZSxcblx0Qm94M0hlbHBlcixcblx0Qm94R2VvbWV0cnksXG5cdEJveEhlbHBlcixcblx0QnVmZmVyQXR0cmlidXRlLFxuXHRCdWZmZXJHZW9tZXRyeSxcblx0Q2FtZXJhLFxuXHRDYW1lcmFIZWxwZXIsXG5cdENhbnZhc1RleHR1cmUsXG5cdENhcHN1bGVHZW9tZXRyeSxcblx0Q2lyY2xlR2VvbWV0cnksXG5cdENvbG9yLFxuXHRDb2xvclJlcHJlc2VudGF0aW9uLFxuXHRDb21wcmVzc2VkVGV4dHVyZSxcblx0Q29uZUdlb21ldHJ5LFxuXHRDdWJlQ2FtZXJhLFxuXHRDdWJlVGV4dHVyZSxcblx0Q3lsaW5kZXJHZW9tZXRyeSxcblx0RGF0YTNEVGV4dHVyZSxcblx0RGF0YVRleHR1cmUsXG5cdERlcHRoVGV4dHVyZSxcblx0RGlyZWN0aW9uYWxMaWdodCxcblx0RGlyZWN0aW9uYWxMaWdodEhlbHBlcixcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyxcblx0RG9kZWNhaGVkcm9uR2VvbWV0cnksXG5cdEVkZ2VzR2VvbWV0cnksXG5cdEV1bGVyLFxuXHRFeHRydWRlR2VvbWV0cnksXG5cdEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGUsXG5cdEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEZvZyxcblx0Rm9nRXhwMixcblx0R3JpZEhlbHBlcixcblx0R3JvdXAsXG5cdEhlbWlzcGhlcmVMaWdodCxcblx0SGVtaXNwaGVyZUxpZ2h0SGVscGVyLFxuXHRJY29zYWhlZHJvbkdlb21ldHJ5LFxuXHRJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUsXG5cdEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5LFxuXHRJbnN0YW5jZWRNZXNoLFxuXHRJbnQxNkJ1ZmZlckF0dHJpYnV0ZSxcblx0SW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEludDhCdWZmZXJBdHRyaWJ1dGUsXG5cdExPRCxcblx0TGF0aGVHZW9tZXRyeSxcblx0TGF5ZXJzLFxuXHRMaWdodCxcblx0TGlnaHRQcm9iZSxcblx0TGlnaHRTaGFkb3csXG5cdExpbmUsXG5cdExpbmVCYXNpY01hdGVyaWFsLFxuXHRMaW5lQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdExpbmVEYXNoZWRNYXRlcmlhbCxcblx0TGluZURhc2hlZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TGluZUxvb3AsXG5cdExpbmVTZWdtZW50cyxcblx0TWF0ZXJpYWwsXG5cdE1hdHJpeDMsXG5cdE1hdHJpeDQsXG5cdE1lc2gsXG5cdE1lc2hCYXNpY01hdGVyaWFsLFxuXHRNZXNoQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEZXB0aE1hdGVyaWFsLFxuXHRNZXNoRGVwdGhNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEaXN0YW5jZU1hdGVyaWFsLFxuXHRNZXNoRGlzdGFuY2VNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWwsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoTWF0Y2FwTWF0ZXJpYWwsXG5cdE1lc2hNYXRjYXBNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hOb3JtYWxNYXRlcmlhbCxcblx0TWVzaE5vcm1hbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBob25nTWF0ZXJpYWwsXG5cdE1lc2hQaG9uZ01hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdE1lc2hQaHlzaWNhbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFN0YW5kYXJkTWF0ZXJpYWwsXG5cdE1lc2hTdGFuZGFyZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFRvb25NYXRlcmlhbCxcblx0TWVzaFRvb25NYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE9iamVjdDNELFxuXHRPY3RhaGVkcm9uR2VvbWV0cnksXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGVyc3BlY3RpdmVDYW1lcmEsXG5cdFBsYW5lR2VvbWV0cnksXG5cdFBsYW5lSGVscGVyLFxuXHRQb2ludExpZ2h0LFxuXHRQb2ludExpZ2h0SGVscGVyLFxuXHRQb2ludHMsXG5cdFBvaW50c01hdGVyaWFsLFxuXHRQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFBvbGFyR3JpZEhlbHBlcixcblx0UG9seWhlZHJvbkdlb21ldHJ5LFxuXHRQb3NpdGlvbmFsQXVkaW8sXG5cdFF1YXRlcm5pb24sXG5cdFJhd1NoYWRlck1hdGVyaWFsLFxuXHRSYXljYXN0ZXIsXG5cdFJlY3RBcmVhTGlnaHQsXG5cdFJpbmdHZW9tZXRyeSxcblx0U2NlbmUsXG5cdFNoYWRlck1hdGVyaWFsLFxuXHRTaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFNoYWRvd01hdGVyaWFsLFxuXHRTaGFwZSxcblx0U2hhcGVHZW9tZXRyeSxcblx0U2tlbGV0b24sXG5cdFNrZWxldG9uSGVscGVyLFxuXHRTa2lubmVkTWVzaCxcblx0U3BoZXJlR2VvbWV0cnksXG5cdFNwb3RMaWdodCxcblx0U3BvdExpZ2h0SGVscGVyLFxuXHRTcG90TGlnaHRTaGFkb3csXG5cdFNwcml0ZSxcblx0U3ByaXRlTWF0ZXJpYWwsXG5cdFNwcml0ZU1hdGVyaWFsUGFyYW1ldGVycyxcblx0VGV0cmFoZWRyb25HZW9tZXRyeSxcblx0VGV4dHVyZSxcblx0VG9ydXNHZW9tZXRyeSxcblx0VG9ydXNLbm90R2VvbWV0cnksXG5cdFR1YmVHZW9tZXRyeSxcblx0VWludDE2QnVmZmVyQXR0cmlidXRlLFxuXHRVaW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdFVpbnQ4QnVmZmVyQXR0cmlidXRlLFxuXHRWZWN0b3IyLFxuXHRWZWN0b3IzLFxuXHRWZWN0b3I0LFxuXHRWaWRlb1RleHR1cmUsXG5cdFdpcmVmcmFtZUdlb21ldHJ5LFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RBZnRlckF0dGFjaCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndEJlZm9yZVJlbmRlckV2ZW50LCBOZ3RFdmVudEhhbmRsZXJzLCBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBFeHBhbmQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgTyA/IHsgW0sgaW4ga2V5b2YgT106IE9bS10gfSA6IG5ldmVyO1xudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQ29sb3IgfCB1bmRlZmluZWQgPyBDb2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJndW1lbnRzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgdHlwZSBOZ3RFdWxlciA9IEV1bGVyIHwgUGFyYW1ldGVyczxFdWxlclsnc2V0J10+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NCA9IE1hdHJpeDQgfCBQYXJhbWV0ZXJzPE1hdHJpeDRbJ3NldCddPiB8IFJlYWRvbmx5PE1hdHJpeDRbJ3NldCddPjtcblxuLyoqXG4gKiBUdXJuIGFuIGltcGxlbWVudGF0aW9uIG9mIFZlY3RvciBpbiB0byB0aGUgdHlwZSB0aGF0IGFuIHIzZiBjb21wb25lbnQgd291bGQgYWNjZXB0IGFzIGEgcHJvcC5cbiAqL1xudHlwZSBOZ3RWZWN0b3JMaWtlPFZlY3RvckNsYXNzIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0PiA9XG5cdHwgVmVjdG9yQ2xhc3Ncblx0fCBQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT5cblx0fCBSZWFkb25seTxQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT4+XG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0U2NhbGFyJ10+WzBdO1xuXG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyID0gTmd0VmVjdG9yTGlrZTxWZWN0b3IyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjMgPSBOZ3RWZWN0b3JMaWtlPFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNCA9IE5ndFZlY3Rvckxpa2U8VmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RMYXllcnMgPSBMYXllcnMgfCBQYXJhbWV0ZXJzPExheWVyc1snc2V0J10+WzBdO1xuZXhwb3J0IHR5cGUgTmd0UXVhdGVybmlvbiA9IFF1YXRlcm5pb24gfCBQYXJhbWV0ZXJzPFF1YXRlcm5pb25bJ3NldCddPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPiB7XG5cdGF0dGFjaGVkOiBOZ3RBZnRlckF0dGFjaDxOZ3RJbnN0YW5jZU5vZGUsIFRPcmlnaW5hbD47XG5cdHVwZGF0ZWQ6IFRPcmlnaW5hbDtcblx0YmVmb3JlUmVuZGVyOiBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT3JpZ2luYWw+O1xufVxuXG5leHBvcnQgdHlwZSBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4gPSB7XG5cdGF0dGFjaDogc3RyaW5nIHwgc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbjtcblx0YWRkRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPj4oXG5cdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdGxpc3RlbmVyOiAodGhpczogTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD5bVEV2ZW50S2V5XSkgPT4gYW55LFxuXHQpOiB2b2lkO1xuXHRyZW1vdmVFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+Pihcblx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPltURXZlbnRLZXldKSA9PiBhbnksXG5cdCk6IHZvaWQ7XG5cdF9fbmd0X2FyZ3NfXzogTmd0QXJndW1lbnRzPFRDb25zdHJ1Y3Rvcj47XG59O1xuXG5leHBvcnQgdHlwZSBOZ3ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yLCBUTm9FdmVudCA9IE5vRXZlbnQ8VE9yaWdpbmFsPj4gPSBFeHBhbmQ8XG5cdE5ndEV4dGVuZGVkQ29sb3JzPE5ndE92ZXJ3cml0ZTxQYXJ0aWFsPFROb0V2ZW50PiwgTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+Pj5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNERXZlbnRzTWFwID0ge1xuXHRbVEV2ZW50IGluIGtleW9mIE5ndEV2ZW50SGFuZGxlcnNdLT86IFBhcmFtZXRlcnM8Tm9uTnVsbGFibGU8Tmd0RXZlbnRIYW5kbGVyc1tURXZlbnRdPj5bMF07XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RBbGxPYmplY3QzREV2ZW50c01hcCA9IE5ndE9iamVjdDNERXZlbnRzTWFwICYgTmd0Tm9kZUV2ZW50TWFwPE5ndEluc3RhbmNlTm9kZT47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQgPSBOb0V2ZW50PFRPcmlnaW5hbD4+ID0gRXhwYW5kPFxuXHROZ3RPdmVyd3JpdGU8XG5cdFx0Tmd0Tm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQ+LFxuXHRcdHtcblx0XHRcdHBvc2l0aW9uOiBOZ3RWZWN0b3IzO1xuXHRcdFx0dXA6IE5ndFZlY3RvcjM7XG5cdFx0XHRzY2FsZTogTmd0VmVjdG9yMztcblx0XHRcdHJvdGF0aW9uOiBOZ3RFdWxlcjtcblx0XHRcdG1hdHJpeDogTmd0TWF0cml4NDtcblx0XHRcdHF1YXRlcm5pb246IE5ndFF1YXRlcm5pb247XG5cdFx0XHRsYXllcnM6IE5ndExheWVycztcblx0XHRcdGRpc3Bvc2U6ICgoKSA9PiB2b2lkKSB8IG51bGw7XG5cdFx0XHRhZGRFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndEFsbE9iamVjdDNERXZlbnRzTWFwPihcblx0XHRcdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0XHQpOiB2b2lkO1xuXHRcdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRcdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0QWxsT2JqZWN0M0RFdmVudHNNYXBbVEV2ZW50S2V5XSkgPT4gYW55LFxuXHRcdFx0KTogdm9pZDtcblx0XHR9XG5cdD5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndEdlb21ldHJ5PFRHZW9tZXRyeSBleHRlbmRzIEJ1ZmZlckdlb21ldHJ5LCBUQ29uc3RydWN0b3I+ID0gTmd0Tm9kZTxUR2VvbWV0cnksIFRDb25zdHJ1Y3Rvcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRlcmlhbDxUTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCwgVENvbnN0cnVjdG9yPiA9IE5ndE5vZGU8VE1hdGVyaWFsLCBUQ29uc3RydWN0b3I+O1xuZXhwb3J0IHR5cGUgTmd0TGlnaHQ8VCBleHRlbmRzIExpZ2h0LCBQPiA9IE5ndE9iamVjdDNETm9kZTxULCBQPjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0QgPSBOZ3RPYmplY3QzRE5vZGU8T2JqZWN0M0QsIHR5cGVvZiBPYmplY3QzRD47XG5leHBvcnQgdHlwZSBOZ3RBdWRpbyA9IE5ndE9iamVjdDNETm9kZTxBdWRpbywgdHlwZW9mIEF1ZGlvPjtcbmV4cG9ydCB0eXBlIE5ndEF1ZGlvTGlzdGVuZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXVkaW9MaXN0ZW5lciwgdHlwZW9mIEF1ZGlvTGlzdGVuZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9zaXRpb25hbEF1ZGlvID0gTmd0T2JqZWN0M0ROb2RlPFBvc2l0aW9uYWxBdWRpbywgdHlwZW9mIFBvc2l0aW9uYWxBdWRpbz47XG5cbmV4cG9ydCB0eXBlIE5ndE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8TWVzaCwgdHlwZW9mIE1lc2g+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxJbnN0YW5jZWRNZXNoLCB0eXBlb2YgSW5zdGFuY2VkTWVzaD47XG5leHBvcnQgdHlwZSBOZ3RCYXRjaGVkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxCYXRjaGVkTWVzaCwgdHlwZW9mIEJhdGNoZWRNZXNoPjtcbmV4cG9ydCB0eXBlIE5ndFNjZW5lID0gTmd0T2JqZWN0M0ROb2RlPFNjZW5lLCB0eXBlb2YgU2NlbmU+O1xuZXhwb3J0IHR5cGUgTmd0U3ByaXRlID0gTmd0T2JqZWN0M0ROb2RlPFNwcml0ZSwgdHlwZW9mIFNwcml0ZT47XG5leHBvcnQgdHlwZSBOZ3RMT0QgPSBOZ3RPYmplY3QzRE5vZGU8TE9ELCB0eXBlb2YgTE9EPjtcbmV4cG9ydCB0eXBlIE5ndFNraW5uZWRNZXNoID0gTmd0T2JqZWN0M0ROb2RlPFNraW5uZWRNZXNoLCB0eXBlb2YgU2tpbm5lZE1lc2g+O1xuXG5leHBvcnQgdHlwZSBOZ3RTa2VsZXRvbiA9IE5ndE9iamVjdDNETm9kZTxTa2VsZXRvbiwgdHlwZW9mIFNrZWxldG9uPjtcbmV4cG9ydCB0eXBlIE5ndEJvbmUgPSBOZ3RPYmplY3QzRE5vZGU8Qm9uZSwgdHlwZW9mIEJvbmU+O1xuZXhwb3J0IHR5cGUgTmd0TGluZSA9IE5ndE9iamVjdDNETm9kZTxMaW5lLCB0eXBlb2YgTGluZT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lU2VnbWVudHMgPSBOZ3RPYmplY3QzRE5vZGU8TGluZVNlZ21lbnRzLCB0eXBlb2YgTGluZVNlZ21lbnRzPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVMb29wID0gTmd0T2JqZWN0M0ROb2RlPExpbmVMb29wLCB0eXBlb2YgTGluZUxvb3A+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRzID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50cywgdHlwZW9mIFBvaW50cz47XG5leHBvcnQgdHlwZSBOZ3RHcm91cCA9IE5ndE9iamVjdDNETm9kZTxHcm91cCwgdHlwZW9mIEdyb3VwPjtcblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTm9kZSA9IE5ndE9iamVjdDNETm9kZTxDYW1lcmEsIHR5cGVvZiBDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0UGVyc3BlY3RpdmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8UGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBQZXJzcGVjdGl2ZUNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RPcnRob2dyYXBoaWNDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8T3J0aG9ncmFwaGljQ2FtZXJhLCB0eXBlb2YgT3J0aG9ncmFwaGljQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndEN1YmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8Q3ViZUNhbWVyYSwgdHlwZW9mIEN1YmVDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0QXJyYXlDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8QXJyYXlDYW1lcmEsIHR5cGVvZiBBcnJheUNhbWVyYT47XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksIHR5cGVvZiBJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEJ1ZmZlckdlb21ldHJ5LCB0eXBlb2YgQnVmZmVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0V2lyZWZyYW1lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxXaXJlZnJhbWVHZW9tZXRyeSwgdHlwZW9mIFdpcmVmcmFtZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRldHJhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUZXRyYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgVGV0cmFoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RPY3RhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxPY3RhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBPY3RhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0SWNvc2FoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEljb3NhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBJY29zYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8RG9kZWNhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBEb2RlY2FoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQb2x5aGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxQb2x5aGVkcm9uR2VvbWV0cnksIHR5cGVvZiBQb2x5aGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VHViZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VHViZUdlb21ldHJ5LCB0eXBlb2YgVHViZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRvcnVzS25vdEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNLbm90R2VvbWV0cnksIHR5cGVvZiBUb3J1c0tub3RHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUb3J1c0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNHZW9tZXRyeSwgdHlwZW9mIFRvcnVzR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0U3BoZXJlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTcGhlcmVHZW9tZXRyeSwgdHlwZW9mIFNwaGVyZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFJpbmdHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFJpbmdHZW9tZXRyeSwgdHlwZW9mIFJpbmdHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQbGFuZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8UGxhbmVHZW9tZXRyeSwgdHlwZW9mIFBsYW5lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0TGF0aGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PExhdGhlR2VvbWV0cnksIHR5cGVvZiBMYXRoZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTaGFwZUdlb21ldHJ5LCB0eXBlb2YgU2hhcGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RFeHRydWRlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxFeHRydWRlR2VvbWV0cnksIHR5cGVvZiBFeHRydWRlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RWRnZXNHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEVkZ2VzR2VvbWV0cnksIHR5cGVvZiBFZGdlc0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENvbmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PENvbmVHZW9tZXRyeSwgdHlwZW9mIENvbmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDeWxpbmRlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q3lsaW5kZXJHZW9tZXRyeSwgdHlwZW9mIEN5bGluZGVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q2lyY2xlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDaXJjbGVHZW9tZXRyeSwgdHlwZW9mIENpcmNsZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEJveEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Qm94R2VvbWV0cnksIHR5cGVvZiBCb3hHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDYXBzdWxlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDYXBzdWxlR2VvbWV0cnksIHR5cGVvZiBDYXBzdWxlR2VvbWV0cnk+O1xuXG5leHBvcnQgdHlwZSBOZ3RTaGFkb3dNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRvd01hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTcHJpdGVNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNwcml0ZU1hdGVyaWFsLCBbU3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RSYXdTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFJhd1NoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RQb2ludHNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFBvaW50c01hdGVyaWFsLCBbUG9pbnRzTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaHlzaWNhbE1hdGVyaWFsLCBbTWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hTdGFuZGFyZE1hdGVyaWFsLCBbTWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGhvbmdNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaG9uZ01hdGVyaWFsLCBbTWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoVG9vbk1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaFRvb25NYXRlcmlhbCwgW01lc2hUb29uTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTm9ybWFsTWF0ZXJpYWwsIFtNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTGFtYmVydE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaExhbWJlcnRNYXRlcmlhbCwgW01lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGVwdGhNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEZXB0aE1hdGVyaWFsLCBbTWVzaERlcHRoTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEaXN0YW5jZU1hdGVyaWFsLCBbTWVzaERpc3RhbmNlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hCYXNpY01hdGVyaWFsLCBbTWVzaEJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTWF0Y2FwTWF0ZXJpYWwsIFtNZXNoTWF0Y2FwTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxMaW5lRGFzaGVkTWF0ZXJpYWwsIFtMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPExpbmVCYXNpY01hdGVyaWFsLCBbTGluZUJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5cbmV4cG9ydCB0eXBlIE5ndFByaW1pdGl2ZSA9IE5ndE5vZGVFbGVtZW50PGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIE5ndFZhbHVlID0gTmd0Tm9kZTx7IHJhd1ZhbHVlOiBhbnkgfSwge30+O1xuXG5leHBvcnQgdHlwZSBOZ3RMaWdodFNoYWRvdyA9IE5ndE5vZGU8TGlnaHRTaGFkb3csIHR5cGVvZiBMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRTaGFkb3cgPSBOZ3ROb2RlPFNwb3RMaWdodFNoYWRvdywgdHlwZW9mIFNwb3RMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxEaXJlY3Rpb25hbExpZ2h0U2hhZG93LCB0eXBlb2YgRGlyZWN0aW9uYWxMaWdodFNoYWRvdz47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodCA9IE5ndExpZ2h0PFNwb3RMaWdodCwgdHlwZW9mIFNwb3RMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0ID0gTmd0TGlnaHQ8UG9pbnRMaWdodCwgdHlwZW9mIFBvaW50TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0UmVjdEFyZWFMaWdodCA9IE5ndExpZ2h0PFJlY3RBcmVhTGlnaHQsIHR5cGVvZiBSZWN0QXJlYUxpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodCA9IE5ndExpZ2h0PEhlbWlzcGhlcmVMaWdodCwgdHlwZW9mIEhlbWlzcGhlcmVMaWdodD47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0ID0gTmd0TGlnaHQ8RGlyZWN0aW9uYWxMaWdodCwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0QW1iaWVudExpZ2h0ID0gTmd0TGlnaHQ8QW1iaWVudExpZ2h0LCB0eXBlb2YgQW1iaWVudExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndExpZ2h0UHJvYmUgPSBOZ3RMaWdodDxMaWdodFByb2JlLCB0eXBlb2YgTGlnaHRQcm9iZT47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxTcG90TGlnaHRIZWxwZXIsIHR5cGVvZiBTcG90TGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0U2tlbGV0b25IZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8U2tlbGV0b25IZWxwZXIsIHR5cGVvZiBTa2VsZXRvbkhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50TGlnaHRIZWxwZXIsIHR5cGVvZiBQb2ludExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxIZW1pc3BoZXJlTGlnaHRIZWxwZXIsIHR5cGVvZiBIZW1pc3BoZXJlTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0R3JpZEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxHcmlkSGVscGVyLCB0eXBlb2YgR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2xhckdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UG9sYXJHcmlkSGVscGVyLCB0eXBlb2YgUG9sYXJHcmlkSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8RGlyZWN0aW9uYWxMaWdodEhlbHBlciwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPENhbWVyYUhlbHBlciwgdHlwZW9mIENhbWVyYUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3hIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94SGVscGVyLCB0eXBlb2YgQm94SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEJveDNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94M0hlbHBlciwgdHlwZW9mIEJveDNIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UGxhbmVIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UGxhbmVIZWxwZXIsIHR5cGVvZiBQbGFuZUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBcnJvd0hlbHBlciA9IE5ndE9iamVjdDNETm9kZTxBcnJvd0hlbHBlciwgdHlwZW9mIEFycm93SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEF4ZXNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXhlc0hlbHBlciwgdHlwZW9mIEF4ZXNIZWxwZXI+O1xuXG5leHBvcnQgdHlwZSBOZ3RUZXh0dXJlID0gTmd0Tm9kZTxUZXh0dXJlLCB0eXBlb2YgVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RWaWRlb1RleHR1cmUgPSBOZ3ROb2RlPFZpZGVvVGV4dHVyZSwgdHlwZW9mIFZpZGVvVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhVGV4dHVyZSA9IE5ndE5vZGU8RGF0YVRleHR1cmUsIHR5cGVvZiBEYXRhVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhM0RUZXh0dXJlID0gTmd0Tm9kZTxEYXRhM0RUZXh0dXJlLCB0eXBlb2YgRGF0YTNEVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDb21wcmVzc2VkVGV4dHVyZSA9IE5ndE5vZGU8Q29tcHJlc3NlZFRleHR1cmUsIHR5cGVvZiBDb21wcmVzc2VkVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDdWJlVGV4dHVyZSA9IE5ndE5vZGU8Q3ViZVRleHR1cmUsIHR5cGVvZiBDdWJlVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDYW52YXNUZXh0dXJlID0gTmd0Tm9kZTxDYW52YXNUZXh0dXJlLCB0eXBlb2YgQ2FudmFzVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REZXB0aFRleHR1cmUgPSBOZ3ROb2RlPERlcHRoVGV4dHVyZSwgdHlwZW9mIERlcHRoVGV4dHVyZT47XG5cbmV4cG9ydCB0eXBlIE5ndFJheWNhc3RlciA9IE5ndE5vZGU8UmF5Y2FzdGVyLCB0eXBlb2YgUmF5Y2FzdGVyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjJOb2RlID0gTmd0Tm9kZTxWZWN0b3IyLCB0eXBlb2YgVmVjdG9yMj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IzTm9kZSA9IE5ndE5vZGU8VmVjdG9yMywgdHlwZW9mIFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNE5vZGUgPSBOZ3ROb2RlPFZlY3RvcjQsIHR5cGVvZiBWZWN0b3I0PjtcbmV4cG9ydCB0eXBlIE5ndEV1bGVyTm9kZSA9IE5ndE5vZGU8RXVsZXIsIHR5cGVvZiBFdWxlcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRyaXgzTm9kZSA9IE5ndE5vZGU8TWF0cml4MywgdHlwZW9mIE1hdHJpeDM+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NE5vZGUgPSBOZ3ROb2RlPE1hdHJpeDQsIHR5cGVvZiBNYXRyaXg0PjtcbmV4cG9ydCB0eXBlIE5ndFF1YXRlcm5pb25Ob2RlID0gTmd0Tm9kZTxRdWF0ZXJuaW9uLCB0eXBlb2YgUXVhdGVybmlvbj47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxJbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VWludDhCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RDb2xvciA9IE5ndE5vZGU8Q29sb3IsIENvbG9yUmVwcmVzZW50YXRpb24+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nID0gTmd0Tm9kZTxGb2csIHR5cGVvZiBGb2c+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nRXhwMiA9IE5ndE5vZGU8Rm9nRXhwMiwgdHlwZW9mIEZvZ0V4cDI+O1xuZXhwb3J0IHR5cGUgTmd0U2hhcGUgPSBOZ3ROb2RlPFNoYXBlLCB0eXBlb2YgU2hhcGU+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVlRWxlbWVudHMge1xuXHQnbmd0LW9iamVjdDNEJzogTmd0T2JqZWN0M0Q7XG5cblx0Ly8gYGF1ZGlvYCB3b3JrcyBidXQgY29uZmxpY3RzIHdpdGggQHR5cGVzL3JlYWN0LiBUcnkgdXNpbmcgUG9zaXRpb25hbEF1ZGlvIGZyb20gQHJlYWN0LXRocmVlL2RyZWkgaW5zdGVhZFxuXHQnbmd0LWF1ZGlvJzogTmd0QXVkaW87XG5cdCduZ3QtYXVkaW8tbGlzdGVuZXInOiBOZ3RBdWRpb0xpc3RlbmVyO1xuXHQnbmd0LXBvc2l0aW9uYWwtYXVkaW8nOiBOZ3RQb3NpdGlvbmFsQXVkaW87XG5cblx0J25ndC1tZXNoJzogTmd0TWVzaDtcblx0J25ndC1pbnN0YW5jZWQtbWVzaCc6IE5ndEluc3RhbmNlZE1lc2g7XG5cdCduZ3Qtc2NlbmUnOiBOZ3RTY2VuZTtcblx0J25ndC1zcHJpdGUnOiBOZ3RTcHJpdGU7XG5cdCduZ3QtbE9EJzogTmd0TE9EO1xuXHQnbmd0LXNraW5uZWQtbWVzaCc6IE5ndFNraW5uZWRNZXNoO1xuXHQnbmd0LXNrZWxldG9uJzogTmd0U2tlbGV0b247XG5cdCduZ3QtYm9uZSc6IE5ndEJvbmU7XG5cblx0J25ndC1saW5lJzogTmd0TGluZTtcblx0J25ndC1saW5lLXNlZ21lbnRzJzogTmd0TGluZVNlZ21lbnRzO1xuXHQnbmd0LWxpbmUtbG9vcCc6IE5ndExpbmVMb29wO1xuXHQnbmd0LXBvaW50cyc6IE5ndFBvaW50cztcblx0J25ndC1ncm91cCc6IE5ndEdyb3VwO1xuXG5cdC8vIGNhbWVyYXNcblx0J25ndC1jYW1lcmEnOiBOZ3RDYW1lcmFOb2RlO1xuXHQnbmd0LXBlcnNwZWN0aXZlLWNhbWVyYSc6IE5ndFBlcnNwZWN0aXZlQ2FtZXJhO1xuXHQnbmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmEnOiBOZ3RPcnRob2dyYXBoaWNDYW1lcmE7XG5cdCduZ3QtY3ViZS1jYW1lcmEnOiBOZ3RDdWJlQ2FtZXJhO1xuXHQnbmd0LWFycmF5LWNhbWVyYSc6IE5ndEFycmF5Q2FtZXJhO1xuXG5cdC8vIGdlb21ldHJ5XG5cdCduZ3QtaW5zdGFuY2VkLWJ1ZmZlci1nZW9tZXRyeSc6IE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5O1xuXHQnbmd0LWJ1ZmZlci1nZW9tZXRyeSc6IE5ndEJ1ZmZlckdlb21ldHJ5O1xuXHQnbmd0LXdpcmVmcmFtZS1nZW9tZXRyeSc6IE5ndFdpcmVmcmFtZUdlb21ldHJ5O1xuXHQnbmd0LXRldHJhaGVkcm9uLWdlb21ldHJ5JzogTmd0VGV0cmFoZWRyb25HZW9tZXRyeTtcblx0J25ndC1vY3RhaGVkcm9uLWdlb21ldHJ5JzogTmd0T2N0YWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LWljb3NhaGVkcm9uLWdlb21ldHJ5JzogTmd0SWNvc2FoZWRyb25HZW9tZXRyeTtcblx0J25ndC1wb2x5aGVkcm9uLWdlb21ldHJ5JzogTmd0UG9seWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LWRvZGVjYWhlZHJvbi1nZW9tZXRyeSc6IE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LXR1YmUtZ2VvbWV0cnknOiBOZ3RUdWJlR2VvbWV0cnk7XG5cdCduZ3QtdG9ydXMta25vdC1nZW9tZXRyeSc6IE5ndFRvcnVzS25vdEdlb21ldHJ5O1xuXHQnbmd0LXRvcnVzLWdlb21ldHJ5JzogTmd0VG9ydXNHZW9tZXRyeTtcblx0J25ndC1zcGhlcmUtZ2VvbWV0cnknOiBOZ3RTcGhlcmVHZW9tZXRyeTtcblx0J25ndC1yaW5nLWdlb21ldHJ5JzogTmd0UmluZ0dlb21ldHJ5O1xuXHQnbmd0LXBsYW5lLWdlb21ldHJ5JzogTmd0UGxhbmVHZW9tZXRyeTtcblx0J25ndC1sYXRoZS1nZW9tZXRyeSc6IE5ndExhdGhlR2VvbWV0cnk7XG5cdCduZ3Qtc2hhcGUtZ2VvbWV0cnknOiBOZ3RTaGFwZUdlb21ldHJ5O1xuXHQnbmd0LWV4dHJ1ZGUtZ2VvbWV0cnknOiBOZ3RFeHRydWRlR2VvbWV0cnk7XG5cdCduZ3QtZWRnZXMtZ2VvbWV0cnknOiBOZ3RFZGdlc0dlb21ldHJ5O1xuXHQnbmd0LWNvbmUtZ2VvbWV0cnknOiBOZ3RDb25lR2VvbWV0cnk7XG5cdCduZ3QtY3lsaW5kZXItZ2VvbWV0cnknOiBOZ3RDeWxpbmRlckdlb21ldHJ5O1xuXHQnbmd0LWNpcmNsZS1nZW9tZXRyeSc6IE5ndENpcmNsZUdlb21ldHJ5O1xuXHQnbmd0LWJveC1nZW9tZXRyeSc6IE5ndEJveEdlb21ldHJ5O1xuXHQnbmd0LWNhcHN1bGUtZ2VvbWV0cnknOiBOZ3RDYXBzdWxlR2VvbWV0cnk7XG5cblx0Ly8gbWF0ZXJpYWxzXG5cdCduZ3Qtc2hhZG93LW1hdGVyaWFsJzogTmd0U2hhZG93TWF0ZXJpYWw7XG5cdCduZ3Qtc3ByaXRlLW1hdGVyaWFsJzogTmd0U3ByaXRlTWF0ZXJpYWw7XG5cdCduZ3QtcmF3LXNoYWRlci1tYXRlcmlhbCc6IE5ndFJhd1NoYWRlck1hdGVyaWFsO1xuXHQnbmd0LXNoYWRlci1tYXRlcmlhbCc6IE5ndFNoYWRlck1hdGVyaWFsO1xuXHQnbmd0LXBvaW50cy1tYXRlcmlhbCc6IE5ndFBvaW50c01hdGVyaWFsO1xuXHQnbmd0LW1lc2gtcGh5c2ljYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbDtcblx0J25ndC1tZXNoLXN0YW5kYXJkLW1hdGVyaWFsJzogTmd0TWVzaFN0YW5kYXJkTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1waG9uZy1tYXRlcmlhbCc6IE5ndE1lc2hQaG9uZ01hdGVyaWFsO1xuXHQnbmd0LW1lc2gtdG9vbi1tYXRlcmlhbCc6IE5ndE1lc2hUb29uTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1ub3JtYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsJzogTmd0TWVzaExhbWJlcnRNYXRlcmlhbDtcblx0J25ndC1tZXNoLWRlcHRoLW1hdGVyaWFsJzogTmd0TWVzaERlcHRoTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1kaXN0YW5jZS1tYXRlcmlhbCc6IE5ndE1lc2hEaXN0YW5jZU1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RNZXNoQmFzaWNNYXRlcmlhbDtcblx0J25ndC1tZXNoLW1hdGNhcC1tYXRlcmlhbCc6IE5ndE1lc2hNYXRjYXBNYXRlcmlhbDtcblx0J25ndC1saW5lLWRhc2hlZC1tYXRlcmlhbCc6IE5ndExpbmVEYXNoZWRNYXRlcmlhbDtcblx0J25ndC1saW5lLWJhc2ljLW1hdGVyaWFsJzogTmd0TGluZUJhc2ljTWF0ZXJpYWw7XG5cblx0Ly8gcHJpbWl0aXZlXG5cdCduZ3QtcHJpbWl0aXZlJzogTmd0UHJpbWl0aXZlO1xuXG5cdC8vIHJhd1ZhbHVlXG5cdCduZ3QtdmFsdWUnOiBOZ3RWYWx1ZTtcblxuXHQvLyBsaWdodHMgYW5kIG90aGVyXG5cdCduZ3Qtc3BvdC1saWdodC1zaGFkb3cnOiBOZ3RTcG90TGlnaHRTaGFkb3c7XG5cdCduZ3Qtc3BvdC1saWdodCc6IE5ndFNwb3RMaWdodDtcblx0J25ndC1wb2ludC1saWdodCc6IE5ndFBvaW50TGlnaHQ7XG5cdCduZ3QtcmVjdC1hcmVhLWxpZ2h0JzogTmd0UmVjdEFyZWFMaWdodDtcblx0J25ndC1oZW1pc3BoZXJlLWxpZ2h0JzogTmd0SGVtaXNwaGVyZUxpZ2h0O1xuXHQnbmd0LWRpcmVjdGlvbmFsLWxpZ2h0LXNoYWRvdyc6IE5ndERpcmVjdGlvbmFsTGlnaHRTaGFkb3c7XG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQnOiBOZ3REaXJlY3Rpb25hbExpZ2h0O1xuXHQnbmd0LWFtYmllbnQtbGlnaHQnOiBOZ3RBbWJpZW50TGlnaHQ7XG5cdCduZ3QtbGlnaHQtc2hhZG93JzogTmd0TGlnaHRTaGFkb3c7XG5cdCduZ3QtbGlnaHQtcHJvYmUnOiBOZ3RMaWdodFByb2JlO1xuXG5cdC8vIGhlbHBlcnNcblx0J25ndC1zcG90LWxpZ2h0LWhlbHBlcic6IE5ndFNwb3RMaWdodEhlbHBlcjtcblx0J25ndC1za2VsZXRvbi1oZWxwZXInOiBOZ3RTa2VsZXRvbkhlbHBlcjtcblx0J25ndC1wb2ludC1saWdodC1oZWxwZXInOiBOZ3RQb2ludExpZ2h0SGVscGVyO1xuXHQnbmd0LWhlbWlzcGhlcmUtbGlnaHQtaGVscGVyJzogTmd0SGVtaXNwaGVyZUxpZ2h0SGVscGVyO1xuXHQnbmd0LWdyaWQtaGVscGVyJzogTmd0R3JpZEhlbHBlcjtcblx0J25ndC1wb2xhci1ncmlkLWhlbHBlcic6IE5ndFBvbGFyR3JpZEhlbHBlcjtcblx0J25ndC1kaXJlY3Rpb25hbC1saWdodC1oZWxwZXInOiBOZ3REaXJlY3Rpb25hbExpZ2h0SGVscGVyO1xuXHQnbmd0LWNhbWVyYS1oZWxwZXInOiBOZ3RDYW1lcmFIZWxwZXI7XG5cdCduZ3QtYm94LWhlbHBlcic6IE5ndEJveEhlbHBlcjtcblx0J25ndC1ib3gzLWhlbHBlcic6IE5ndEJveDNIZWxwZXI7XG5cdCduZ3QtcGxhbmUtaGVscGVyJzogTmd0UGxhbmVIZWxwZXI7XG5cdCduZ3QtYXJyb3ctaGVscGVyJzogTmd0QXJyb3dIZWxwZXI7XG5cdCduZ3QtYXhlcy1oZWxwZXInOiBOZ3RBeGVzSGVscGVyO1xuXG5cdC8vIHRleHR1cmVzXG5cdCduZ3QtdGV4dHVyZSc6IE5ndFRleHR1cmU7XG5cdCduZ3QtdmlkZW8tdGV4dHVyZSc6IE5ndFZpZGVvVGV4dHVyZTtcblx0J25ndC1kYXRhLXRleHR1cmUnOiBOZ3REYXRhVGV4dHVyZTtcblx0J25ndC1kYXRhM0QtdGV4dHVyZSc6IE5ndERhdGEzRFRleHR1cmU7XG5cdCduZ3QtY29tcHJlc3NlZC10ZXh0dXJlJzogTmd0Q29tcHJlc3NlZFRleHR1cmU7XG5cdCduZ3QtY3ViZS10ZXh0dXJlJzogTmd0Q3ViZVRleHR1cmU7XG5cdCduZ3QtY2FudmFzLXRleHR1cmUnOiBOZ3RDYW52YXNUZXh0dXJlO1xuXHQnbmd0LWRlcHRoLXRleHR1cmUnOiBOZ3REZXB0aFRleHR1cmU7XG5cblx0Ly8gbWlzY1xuXHQnbmd0LXJheWNhc3Rlcic6IE5ndFJheWNhc3Rlcjtcblx0J25ndC12ZWN0b3IyJzogTmd0VmVjdG9yMk5vZGU7XG5cdCduZ3QtdmVjdG9yMyc6IE5ndFZlY3RvcjNOb2RlO1xuXHQnbmd0LXZlY3RvcjQnOiBOZ3RWZWN0b3I0Tm9kZTtcblx0J25ndC1ldWxlcic6IE5ndEV1bGVyTm9kZTtcblx0J25ndC1tYXRyaXgzJzogTmd0TWF0cml4M05vZGU7XG5cdCduZ3QtbWF0cml4NCc6IE5ndE1hdHJpeDROb2RlO1xuXHQnbmd0LXF1YXRlcm5pb24nOiBOZ3RRdWF0ZXJuaW9uTm9kZTtcblx0J25ndC1idWZmZXItYXR0cmlidXRlJzogTmd0QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWZsb2F0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtZmxvYXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnQ4LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWludDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0SW50MzJCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtdW5pdDgtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndFVpbnQ4QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LXVuaXQxNi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDE2QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LXVuaXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItYXR0cmlidXRlJzogTmd0SW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWNvbG9yJzogTmd0Q29sb3I7XG5cdCduZ3QtZm9nJzogTmd0Rm9nO1xuXHQnbmd0LWZvZy1leHAyJzogTmd0Rm9nRXhwMjtcblx0J25ndC1zaGFwZSc6IE5ndFNoYXBlO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAgZXh0ZW5kcyBUaHJlZUVsZW1lbnRzIHt9XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIGV4dGVuZHMgTmd0Tm9kZUV2ZW50TWFwPE5ndEluc3RhbmNlTm9kZT4ge31cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QW1iaWVudExpZ2h0LFxuXHRBcnJheUNhbWVyYSxcblx0QXJyb3dIZWxwZXIsXG5cdEF1ZGlvLFxuXHRBeGVzSGVscGVyLFxuXHRCYXRjaGVkTWVzaCxcblx0Qm9uZSxcblx0Qm94M0hlbHBlcixcblx0Qm94R2VvbWV0cnksXG5cdEJveEhlbHBlcixcblx0QnVmZmVyQXR0cmlidXRlLFxuXHRCdWZmZXJHZW9tZXRyeSxcblx0Q2FtZXJhLFxuXHRDYW1lcmFIZWxwZXIsXG5cdENhbnZhc1RleHR1cmUsXG5cdENhcHN1bGVHZW9tZXRyeSxcblx0Q2lyY2xlR2VvbWV0cnksXG5cdENvbG9yLFxuXHRDb2xvclJlcHJlc2VudGF0aW9uLFxuXHRDb21wcmVzc2VkVGV4dHVyZSxcblx0Q29uZUdlb21ldHJ5LFxuXHRDdWJlQ2FtZXJhLFxuXHRDdWJlVGV4dHVyZSxcblx0Q3lsaW5kZXJHZW9tZXRyeSxcblx0RGF0YTNEVGV4dHVyZSxcblx0RGF0YVRleHR1cmUsXG5cdERlcHRoVGV4dHVyZSxcblx0RGlyZWN0aW9uYWxMaWdodCxcblx0RGlyZWN0aW9uYWxMaWdodEhlbHBlcixcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyxcblx0RG9kZWNhaGVkcm9uR2VvbWV0cnksXG5cdEVkZ2VzR2VvbWV0cnksXG5cdEV1bGVyLFxuXHRFeHRydWRlR2VvbWV0cnksXG5cdEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGUsXG5cdEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEZvZyxcblx0Rm9nRXhwMixcblx0R3JpZEhlbHBlcixcblx0R3JvdXAsXG5cdEhlbWlzcGhlcmVMaWdodCxcblx0SGVtaXNwaGVyZUxpZ2h0SGVscGVyLFxuXHRJY29zYWhlZHJvbkdlb21ldHJ5LFxuXHRJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUsXG5cdEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5LFxuXHRJbnN0YW5jZWRNZXNoLFxuXHRJbnQxNkJ1ZmZlckF0dHJpYnV0ZSxcblx0SW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEludDhCdWZmZXJBdHRyaWJ1dGUsXG5cdExPRCxcblx0TGF0aGVHZW9tZXRyeSxcblx0TGF5ZXJzLFxuXHRMaWdodCxcblx0TGlnaHRQcm9iZSxcblx0TGlnaHRTaGFkb3csXG5cdExpbmUsXG5cdExpbmVCYXNpY01hdGVyaWFsLFxuXHRMaW5lQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdExpbmVEYXNoZWRNYXRlcmlhbCxcblx0TGluZURhc2hlZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TGluZUxvb3AsXG5cdExpbmVTZWdtZW50cyxcblx0TWF0ZXJpYWwsXG5cdE1hdHJpeDMsXG5cdE1hdHJpeDQsXG5cdE1lc2gsXG5cdE1lc2hCYXNpY01hdGVyaWFsLFxuXHRNZXNoQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEZXB0aE1hdGVyaWFsLFxuXHRNZXNoRGVwdGhNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEaXN0YW5jZU1hdGVyaWFsLFxuXHRNZXNoRGlzdGFuY2VNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWwsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoTWF0Y2FwTWF0ZXJpYWwsXG5cdE1lc2hNYXRjYXBNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hOb3JtYWxNYXRlcmlhbCxcblx0TWVzaE5vcm1hbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBob25nTWF0ZXJpYWwsXG5cdE1lc2hQaG9uZ01hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdE1lc2hQaHlzaWNhbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFN0YW5kYXJkTWF0ZXJpYWwsXG5cdE1lc2hTdGFuZGFyZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFRvb25NYXRlcmlhbCxcblx0TWVzaFRvb25NYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE9iamVjdDNELFxuXHRPY3RhaGVkcm9uR2VvbWV0cnksXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGVyc3BlY3RpdmVDYW1lcmEsXG5cdFBsYW5lR2VvbWV0cnksXG5cdFBsYW5lSGVscGVyLFxuXHRQb2ludExpZ2h0LFxuXHRQb2ludExpZ2h0SGVscGVyLFxuXHRQb2ludHMsXG5cdFBvaW50c01hdGVyaWFsLFxuXHRQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFBvbGFyR3JpZEhlbHBlcixcblx0UG9seWhlZHJvbkdlb21ldHJ5LFxuXHRQb3NpdGlvbmFsQXVkaW8sXG5cdFF1YXRlcm5pb24sXG5cdFJhd1NoYWRlck1hdGVyaWFsLFxuXHRSYXljYXN0ZXIsXG5cdFJlY3RBcmVhTGlnaHQsXG5cdFJpbmdHZW9tZXRyeSxcblx0U2NlbmUsXG5cdFNoYWRlck1hdGVyaWFsLFxuXHRTaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFNoYWRvd01hdGVyaWFsLFxuXHRTaGFwZSxcblx0U2hhcGVHZW9tZXRyeSxcblx0U2tlbGV0b24sXG5cdFNrZWxldG9uSGVscGVyLFxuXHRTa2lubmVkTWVzaCxcblx0U3BoZXJlR2VvbWV0cnksXG5cdFNwb3RMaWdodCxcblx0U3BvdExpZ2h0SGVscGVyLFxuXHRTcG90TGlnaHRTaGFkb3csXG5cdFNwcml0ZSxcblx0U3ByaXRlTWF0ZXJpYWwsXG5cdFNwcml0ZU1hdGVyaWFsUGFyYW1ldGVycyxcblx0VGV0cmFoZWRyb25HZW9tZXRyeSxcblx0VGV4dHVyZSxcblx0VG9ydXNHZW9tZXRyeSxcblx0VG9ydXNLbm90R2VvbWV0cnksXG5cdFR1YmVHZW9tZXRyeSxcblx0VWludDE2QnVmZmVyQXR0cmlidXRlLFxuXHRVaW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdFVpbnQ4QnVmZmVyQXR0cmlidXRlLFxuXHRWZWN0b3IyLFxuXHRWZWN0b3IzLFxuXHRWZWN0b3I0LFxuXHRWaWRlb1RleHR1cmUsXG5cdFdpcmVmcmFtZUdlb21ldHJ5LFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RBZnRlckF0dGFjaCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndEJlZm9yZVJlbmRlckV2ZW50LCBOZ3RFdmVudEhhbmRsZXJzLCBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBFeHBhbmQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgTyA/IHsgW0sgaW4ga2V5b2YgT106IE9bS10gfSA6IG5ldmVyO1xudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQ29sb3IgfCB1bmRlZmluZWQgPyBDb2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJndW1lbnRzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgdHlwZSBOZ3RFdWxlciA9IEV1bGVyIHwgUGFyYW1ldGVyczxFdWxlclsnc2V0J10+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NCA9IE1hdHJpeDQgfCBQYXJhbWV0ZXJzPE1hdHJpeDRbJ3NldCddPiB8IFJlYWRvbmx5PE1hdHJpeDRbJ3NldCddPjtcblxuLyoqXG4gKiBUdXJuIGFuIGltcGxlbWVudGF0aW9uIG9mIFZlY3RvciBpbiB0byB0aGUgdHlwZSB0aGF0IGFuIHIzZiBjb21wb25lbnQgd291bGQgYWNjZXB0IGFzIGEgcHJvcC5cbiAqL1xudHlwZSBOZ3RWZWN0b3JMaWtlPFZlY3RvckNsYXNzIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0PiA9XG5cdHwgVmVjdG9yQ2xhc3Ncblx0fCBQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT5cblx0fCBSZWFkb25seTxQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT4+XG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0U2NhbGFyJ10+WzBdO1xuXG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyID0gTmd0VmVjdG9yTGlrZTxWZWN0b3IyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjMgPSBOZ3RWZWN0b3JMaWtlPFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNCA9IE5ndFZlY3Rvckxpa2U8VmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RMYXllcnMgPSBMYXllcnMgfCBQYXJhbWV0ZXJzPExheWVyc1snc2V0J10+WzBdO1xuZXhwb3J0IHR5cGUgTmd0UXVhdGVybmlvbiA9IFF1YXRlcm5pb24gfCBQYXJhbWV0ZXJzPFF1YXRlcm5pb25bJ3NldCddPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPiB7XG5cdGF0dGFjaGVkOiBOZ3RBZnRlckF0dGFjaDxOZ3RJbnN0YW5jZU5vZGUsIFRPcmlnaW5hbD47XG5cdHVwZGF0ZWQ6IFRPcmlnaW5hbDtcblx0YmVmb3JlUmVuZGVyOiBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT3JpZ2luYWw+O1xufVxuXG5leHBvcnQgdHlwZSBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4gPSB7XG5cdGF0dGFjaDogc3RyaW5nIHwgc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbjtcblx0YWRkRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPj4oXG5cdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdGxpc3RlbmVyOiAodGhpczogTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD5bVEV2ZW50S2V5XSkgPT4gYW55LFxuXHQpOiB2b2lkO1xuXHRyZW1vdmVFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+Pihcblx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPltURXZlbnRLZXldKSA9PiBhbnksXG5cdCk6IHZvaWQ7XG5cdF9fbmd0X2FyZ3NfXzogTmd0QXJndW1lbnRzPFRDb25zdHJ1Y3Rvcj47XG59O1xuXG5leHBvcnQgdHlwZSBOZ3ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yLCBUTm9FdmVudCA9IE5vRXZlbnQ8VE9yaWdpbmFsPj4gPSBFeHBhbmQ8XG5cdE5ndEV4dGVuZGVkQ29sb3JzPE5ndE92ZXJ3cml0ZTxQYXJ0aWFsPFROb0V2ZW50PiwgTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+Pj5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNERXZlbnRzTWFwID0ge1xuXHRbVEV2ZW50IGluIGtleW9mIE5ndEV2ZW50SGFuZGxlcnNdLT86IFBhcmFtZXRlcnM8Tm9uTnVsbGFibGU8Tmd0RXZlbnRIYW5kbGVyc1tURXZlbnRdPj5bMF07XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RBbGxPYmplY3QzREV2ZW50c01hcCA9IE5ndE9iamVjdDNERXZlbnRzTWFwICYgTmd0Tm9kZUV2ZW50TWFwPE5ndEluc3RhbmNlTm9kZT47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQgPSBOb0V2ZW50PFRPcmlnaW5hbD4+ID0gRXhwYW5kPFxuXHROZ3RPdmVyd3JpdGU8XG5cdFx0Tmd0Tm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQ+LFxuXHRcdHtcblx0XHRcdHBvc2l0aW9uOiBOZ3RWZWN0b3IzO1xuXHRcdFx0dXA6IE5ndFZlY3RvcjM7XG5cdFx0XHRzY2FsZTogTmd0VmVjdG9yMztcblx0XHRcdHJvdGF0aW9uOiBOZ3RFdWxlcjtcblx0XHRcdG1hdHJpeDogTmd0TWF0cml4NDtcblx0XHRcdHF1YXRlcm5pb246IE5ndFF1YXRlcm5pb247XG5cdFx0XHRsYXllcnM6IE5ndExheWVycztcblx0XHRcdGRpc3Bvc2U6ICgoKSA9PiB2b2lkKSB8IG51bGw7XG5cdFx0XHRhZGRFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndEFsbE9iamVjdDNERXZlbnRzTWFwPihcblx0XHRcdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0XHQpOiB2b2lkO1xuXHRcdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRcdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0QWxsT2JqZWN0M0RFdmVudHNNYXBbVEV2ZW50S2V5XSkgPT4gYW55LFxuXHRcdFx0KTogdm9pZDtcblx0XHR9XG5cdD5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndEdlb21ldHJ5PFRHZW9tZXRyeSBleHRlbmRzIEJ1ZmZlckdlb21ldHJ5LCBUQ29uc3RydWN0b3I+ID0gTmd0Tm9kZTxUR2VvbWV0cnksIFRDb25zdHJ1Y3Rvcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRlcmlhbDxUTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCwgVENvbnN0cnVjdG9yPiA9IE5ndE5vZGU8VE1hdGVyaWFsLCBUQ29uc3RydWN0b3I+O1xuZXhwb3J0IHR5cGUgTmd0TGlnaHQ8VCBleHRlbmRzIExpZ2h0LCBQPiA9IE5ndE9iamVjdDNETm9kZTxULCBQPjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0QgPSBOZ3RPYmplY3QzRE5vZGU8T2JqZWN0M0QsIHR5cGVvZiBPYmplY3QzRD47XG5leHBvcnQgdHlwZSBOZ3RBdWRpbyA9IE5ndE9iamVjdDNETm9kZTxBdWRpbywgdHlwZW9mIEF1ZGlvPjtcbmV4cG9ydCB0eXBlIE5ndEF1ZGlvTGlzdGVuZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXVkaW9MaXN0ZW5lciwgdHlwZW9mIEF1ZGlvTGlzdGVuZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9zaXRpb25hbEF1ZGlvID0gTmd0T2JqZWN0M0ROb2RlPFBvc2l0aW9uYWxBdWRpbywgdHlwZW9mIFBvc2l0aW9uYWxBdWRpbz47XG5cbmV4cG9ydCB0eXBlIE5ndE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8TWVzaCwgdHlwZW9mIE1lc2g+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxJbnN0YW5jZWRNZXNoLCB0eXBlb2YgSW5zdGFuY2VkTWVzaD47XG5leHBvcnQgdHlwZSBOZ3RCYXRjaGVkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxCYXRjaGVkTWVzaCwgdHlwZW9mIEJhdGNoZWRNZXNoPjtcbmV4cG9ydCB0eXBlIE5ndFNjZW5lID0gTmd0T2JqZWN0M0ROb2RlPFNjZW5lLCB0eXBlb2YgU2NlbmU+O1xuZXhwb3J0IHR5cGUgTmd0U3ByaXRlID0gTmd0T2JqZWN0M0ROb2RlPFNwcml0ZSwgdHlwZW9mIFNwcml0ZT47XG5leHBvcnQgdHlwZSBOZ3RMT0QgPSBOZ3RPYmplY3QzRE5vZGU8TE9ELCB0eXBlb2YgTE9EPjtcbmV4cG9ydCB0eXBlIE5ndFNraW5uZWRNZXNoID0gTmd0T2JqZWN0M0ROb2RlPFNraW5uZWRNZXNoLCB0eXBlb2YgU2tpbm5lZE1lc2g+O1xuXG5leHBvcnQgdHlwZSBOZ3RTa2VsZXRvbiA9IE5ndE9iamVjdDNETm9kZTxTa2VsZXRvbiwgdHlwZW9mIFNrZWxldG9uPjtcbmV4cG9ydCB0eXBlIE5ndEJvbmUgPSBOZ3RPYmplY3QzRE5vZGU8Qm9uZSwgdHlwZW9mIEJvbmU+O1xuZXhwb3J0IHR5cGUgTmd0TGluZSA9IE5ndE9iamVjdDNETm9kZTxMaW5lLCB0eXBlb2YgTGluZT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lU2VnbWVudHMgPSBOZ3RPYmplY3QzRE5vZGU8TGluZVNlZ21lbnRzLCB0eXBlb2YgTGluZVNlZ21lbnRzPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVMb29wID0gTmd0T2JqZWN0M0ROb2RlPExpbmVMb29wLCB0eXBlb2YgTGluZUxvb3A+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRzID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50cywgdHlwZW9mIFBvaW50cz47XG5leHBvcnQgdHlwZSBOZ3RHcm91cCA9IE5ndE9iamVjdDNETm9kZTxHcm91cCwgdHlwZW9mIEdyb3VwPjtcblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTm9kZSA9IE5ndE9iamVjdDNETm9kZTxDYW1lcmEsIHR5cGVvZiBDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0UGVyc3BlY3RpdmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8UGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBQZXJzcGVjdGl2ZUNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RPcnRob2dyYXBoaWNDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8T3J0aG9ncmFwaGljQ2FtZXJhLCB0eXBlb2YgT3J0aG9ncmFwaGljQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndEN1YmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8Q3ViZUNhbWVyYSwgdHlwZW9mIEN1YmVDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0QXJyYXlDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8QXJyYXlDYW1lcmEsIHR5cGVvZiBBcnJheUNhbWVyYT47XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksIHR5cGVvZiBJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEJ1ZmZlckdlb21ldHJ5LCB0eXBlb2YgQnVmZmVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0V2lyZWZyYW1lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxXaXJlZnJhbWVHZW9tZXRyeSwgdHlwZW9mIFdpcmVmcmFtZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRldHJhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUZXRyYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgVGV0cmFoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RPY3RhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxPY3RhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBPY3RhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0SWNvc2FoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEljb3NhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBJY29zYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8RG9kZWNhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBEb2RlY2FoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQb2x5aGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxQb2x5aGVkcm9uR2VvbWV0cnksIHR5cGVvZiBQb2x5aGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VHViZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VHViZUdlb21ldHJ5LCB0eXBlb2YgVHViZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRvcnVzS25vdEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNLbm90R2VvbWV0cnksIHR5cGVvZiBUb3J1c0tub3RHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUb3J1c0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNHZW9tZXRyeSwgdHlwZW9mIFRvcnVzR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0U3BoZXJlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTcGhlcmVHZW9tZXRyeSwgdHlwZW9mIFNwaGVyZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFJpbmdHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFJpbmdHZW9tZXRyeSwgdHlwZW9mIFJpbmdHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQbGFuZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8UGxhbmVHZW9tZXRyeSwgdHlwZW9mIFBsYW5lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0TGF0aGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PExhdGhlR2VvbWV0cnksIHR5cGVvZiBMYXRoZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTaGFwZUdlb21ldHJ5LCB0eXBlb2YgU2hhcGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RFeHRydWRlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxFeHRydWRlR2VvbWV0cnksIHR5cGVvZiBFeHRydWRlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RWRnZXNHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEVkZ2VzR2VvbWV0cnksIHR5cGVvZiBFZGdlc0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENvbmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PENvbmVHZW9tZXRyeSwgdHlwZW9mIENvbmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDeWxpbmRlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q3lsaW5kZXJHZW9tZXRyeSwgdHlwZW9mIEN5bGluZGVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q2lyY2xlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDaXJjbGVHZW9tZXRyeSwgdHlwZW9mIENpcmNsZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEJveEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Qm94R2VvbWV0cnksIHR5cGVvZiBCb3hHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDYXBzdWxlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDYXBzdWxlR2VvbWV0cnksIHR5cGVvZiBDYXBzdWxlR2VvbWV0cnk+O1xuXG5leHBvcnQgdHlwZSBOZ3RTaGFkb3dNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRvd01hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTcHJpdGVNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNwcml0ZU1hdGVyaWFsLCBbU3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RSYXdTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFJhd1NoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RQb2ludHNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFBvaW50c01hdGVyaWFsLCBbUG9pbnRzTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaHlzaWNhbE1hdGVyaWFsLCBbTWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hTdGFuZGFyZE1hdGVyaWFsLCBbTWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGhvbmdNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaG9uZ01hdGVyaWFsLCBbTWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoVG9vbk1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaFRvb25NYXRlcmlhbCwgW01lc2hUb29uTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTm9ybWFsTWF0ZXJpYWwsIFtNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTGFtYmVydE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaExhbWJlcnRNYXRlcmlhbCwgW01lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGVwdGhNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEZXB0aE1hdGVyaWFsLCBbTWVzaERlcHRoTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEaXN0YW5jZU1hdGVyaWFsLCBbTWVzaERpc3RhbmNlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hCYXNpY01hdGVyaWFsLCBbTWVzaEJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTWF0Y2FwTWF0ZXJpYWwsIFtNZXNoTWF0Y2FwTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxMaW5lRGFzaGVkTWF0ZXJpYWwsIFtMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPExpbmVCYXNpY01hdGVyaWFsLCBbTGluZUJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5cbmV4cG9ydCB0eXBlIE5ndFByaW1pdGl2ZSA9IE5ndE5vZGVFbGVtZW50PGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIE5ndFZhbHVlID0gTmd0Tm9kZTx7IHJhd1ZhbHVlOiBhbnkgfSwge30+O1xuXG5leHBvcnQgdHlwZSBOZ3RMaWdodFNoYWRvdyA9IE5ndE5vZGU8TGlnaHRTaGFkb3csIHR5cGVvZiBMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRTaGFkb3cgPSBOZ3ROb2RlPFNwb3RMaWdodFNoYWRvdywgdHlwZW9mIFNwb3RMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxEaXJlY3Rpb25hbExpZ2h0U2hhZG93LCB0eXBlb2YgRGlyZWN0aW9uYWxMaWdodFNoYWRvdz47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodCA9IE5ndExpZ2h0PFNwb3RMaWdodCwgdHlwZW9mIFNwb3RMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0ID0gTmd0TGlnaHQ8UG9pbnRMaWdodCwgdHlwZW9mIFBvaW50TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0UmVjdEFyZWFMaWdodCA9IE5ndExpZ2h0PFJlY3RBcmVhTGlnaHQsIHR5cGVvZiBSZWN0QXJlYUxpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodCA9IE5ndExpZ2h0PEhlbWlzcGhlcmVMaWdodCwgdHlwZW9mIEhlbWlzcGhlcmVMaWdodD47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0ID0gTmd0TGlnaHQ8RGlyZWN0aW9uYWxMaWdodCwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0QW1iaWVudExpZ2h0ID0gTmd0TGlnaHQ8QW1iaWVudExpZ2h0LCB0eXBlb2YgQW1iaWVudExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndExpZ2h0UHJvYmUgPSBOZ3RMaWdodDxMaWdodFByb2JlLCB0eXBlb2YgTGlnaHRQcm9iZT47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxTcG90TGlnaHRIZWxwZXIsIHR5cGVvZiBTcG90TGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0U2tlbGV0b25IZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8U2tlbGV0b25IZWxwZXIsIHR5cGVvZiBTa2VsZXRvbkhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50TGlnaHRIZWxwZXIsIHR5cGVvZiBQb2ludExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxIZW1pc3BoZXJlTGlnaHRIZWxwZXIsIHR5cGVvZiBIZW1pc3BoZXJlTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0R3JpZEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxHcmlkSGVscGVyLCB0eXBlb2YgR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2xhckdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UG9sYXJHcmlkSGVscGVyLCB0eXBlb2YgUG9sYXJHcmlkSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8RGlyZWN0aW9uYWxMaWdodEhlbHBlciwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPENhbWVyYUhlbHBlciwgdHlwZW9mIENhbWVyYUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3hIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94SGVscGVyLCB0eXBlb2YgQm94SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEJveDNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94M0hlbHBlciwgdHlwZW9mIEJveDNIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UGxhbmVIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UGxhbmVIZWxwZXIsIHR5cGVvZiBQbGFuZUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBcnJvd0hlbHBlciA9IE5ndE9iamVjdDNETm9kZTxBcnJvd0hlbHBlciwgdHlwZW9mIEFycm93SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEF4ZXNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXhlc0hlbHBlciwgdHlwZW9mIEF4ZXNIZWxwZXI+O1xuXG5leHBvcnQgdHlwZSBOZ3RUZXh0dXJlID0gTmd0Tm9kZTxUZXh0dXJlLCB0eXBlb2YgVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RWaWRlb1RleHR1cmUgPSBOZ3ROb2RlPFZpZGVvVGV4dHVyZSwgdHlwZW9mIFZpZGVvVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhVGV4dHVyZSA9IE5ndE5vZGU8RGF0YVRleHR1cmUsIHR5cGVvZiBEYXRhVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhM0RUZXh0dXJlID0gTmd0Tm9kZTxEYXRhM0RUZXh0dXJlLCB0eXBlb2YgRGF0YTNEVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDb21wcmVzc2VkVGV4dHVyZSA9IE5ndE5vZGU8Q29tcHJlc3NlZFRleHR1cmUsIHR5cGVvZiBDb21wcmVzc2VkVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDdWJlVGV4dHVyZSA9IE5ndE5vZGU8Q3ViZVRleHR1cmUsIHR5cGVvZiBDdWJlVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDYW52YXNUZXh0dXJlID0gTmd0Tm9kZTxDYW52YXNUZXh0dXJlLCB0eXBlb2YgQ2FudmFzVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REZXB0aFRleHR1cmUgPSBOZ3ROb2RlPERlcHRoVGV4dHVyZSwgdHlwZW9mIERlcHRoVGV4dHVyZT47XG5cbmV4cG9ydCB0eXBlIE5ndFJheWNhc3RlciA9IE5ndE5vZGU8UmF5Y2FzdGVyLCB0eXBlb2YgUmF5Y2FzdGVyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjJOb2RlID0gTmd0Tm9kZTxWZWN0b3IyLCB0eXBlb2YgVmVjdG9yMj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IzTm9kZSA9IE5ndE5vZGU8VmVjdG9yMywgdHlwZW9mIFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNE5vZGUgPSBOZ3ROb2RlPFZlY3RvcjQsIHR5cGVvZiBWZWN0b3I0PjtcbmV4cG9ydCB0eXBlIE5ndEV1bGVyTm9kZSA9IE5ndE5vZGU8RXVsZXIsIHR5cGVvZiBFdWxlcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRyaXgzTm9kZSA9IE5ndE5vZGU8TWF0cml4MywgdHlwZW9mIE1hdHJpeDM+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NE5vZGUgPSBOZ3ROb2RlPE1hdHJpeDQsIHR5cGVvZiBNYXRyaXg0PjtcbmV4cG9ydCB0eXBlIE5ndFF1YXRlcm5pb25Ob2RlID0gTmd0Tm9kZTxRdWF0ZXJuaW9uLCB0eXBlb2YgUXVhdGVybmlvbj47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxJbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VWludDhCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RDb2xvciA9IE5ndE5vZGU8Q29sb3IsIENvbG9yUmVwcmVzZW50YXRpb24+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nID0gTmd0Tm9kZTxGb2csIHR5cGVvZiBGb2c+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nRXhwMiA9IE5ndE5vZGU8Rm9nRXhwMiwgdHlwZW9mIEZvZ0V4cDI+O1xuZXhwb3J0IHR5cGUgTmd0U2hhcGUgPSBOZ3ROb2RlPFNoYXBlLCB0eXBlb2YgU2hhcGU+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVlRWxlbWVudHMge1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9PYmplY3QzRC5kLnRzXG5cdCAqL1xuXHQnbmd0LW9iamVjdDNEJzogTmd0T2JqZWN0M0Q7XG5cblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2F1ZGlvL0F1ZGlvLmQudHNcblx0ICovXG5cdCduZ3QtYXVkaW8nOiBOZ3RBdWRpbztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2F1ZGlvL0F1ZGlvTGlzdGVuZXIuZC50c1xuXHQgKi9cblx0J25ndC1hdWRpby1saXN0ZW5lcic6IE5ndEF1ZGlvTGlzdGVuZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9hdWRpby9Qb3NpdGlvbmFsQXVkaW8uZC50c1xuXHQgKi9cblx0J25ndC1wb3NpdGlvbmFsLWF1ZGlvJzogTmd0UG9zaXRpb25hbEF1ZGlvO1xuXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL01lc2guZC50c1xuXHQgKi9cblx0J25ndC1tZXNoJzogTmd0TWVzaDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvSW5zdGFuY2VkTWVzaC5kLnRzXG5cdCAqL1xuXHQnbmd0LWluc3RhbmNlZC1tZXNoJzogTmd0SW5zdGFuY2VkTWVzaDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3NjZW5lcy9TY2VuZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXNjZW5lJzogTmd0U2NlbmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL1Nwcml0ZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwcml0ZSc6IE5ndFNwcml0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvTE9ELmQudHNcblx0ICovXG5cdCduZ3QtbE9EJzogTmd0TE9EO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9Ta2lubmVkTWVzaC5kLnRzXG5cdCAqL1xuXHQnbmd0LXNraW5uZWQtbWVzaCc6IE5ndFNraW5uZWRNZXNoO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9Ta2VsZXRvbi5kLnRzXG5cdCAqL1xuXHQnbmd0LXNrZWxldG9uJzogTmd0U2tlbGV0b247XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0JvbmUuZC50c1xuXHQgKi9cblx0J25ndC1ib25lJzogTmd0Qm9uZTtcblxuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9MaW5lLmQudHNcblx0ICovXG5cdCduZ3QtbGluZSc6IE5ndExpbmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0xpbmVTZWdtZW50cy5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpbmUtc2VnbWVudHMnOiBOZ3RMaW5lU2VnbWVudHM7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0xpbmVMb29wLmQudHNcblx0ICovXG5cdCduZ3QtbGluZS1sb29wJzogTmd0TGluZUxvb3A7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL1BvaW50cy5kLnRzXG5cdCAqL1xuXHQnbmd0LXBvaW50cyc6IE5ndFBvaW50cztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvR3JvdXAuZC50c1xuXHQgKi9cblx0J25ndC1ncm91cCc6IE5ndEdyb3VwO1xuXG5cdC8vIGNhbWVyYXNcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQ2FtZXJhLmQudHNcblx0ICovXG5cdCduZ3QtY2FtZXJhJzogTmd0Q2FtZXJhTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvUGVyc3BlY3RpdmVDYW1lcmEuZC50c1xuXHQgKi9cblx0J25ndC1wZXJzcGVjdGl2ZS1jYW1lcmEnOiBOZ3RQZXJzcGVjdGl2ZUNhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvT3J0aG9ncmFwaGljQ2FtZXJhLmQudHNcblx0ICovXG5cdCduZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYSc6IE5ndE9ydGhvZ3JhcGhpY0NhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQ3ViZUNhbWVyYS5kLnRzXG5cdCAqL1xuXHQnbmd0LWN1YmUtY2FtZXJhJzogTmd0Q3ViZUNhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQXJyYXlDYW1lcmEuZC50c1xuXHQgKi9cblx0J25ndC1hcnJheS1jYW1lcmEnOiBOZ3RBcnJheUNhbWVyYTtcblxuXHQvLyBnZW9tZXRyeVxuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItZ2VvbWV0cnknOiBOZ3RJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1idWZmZXItZ2VvbWV0cnknOiBOZ3RCdWZmZXJHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvV2lyZWZyYW1lR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC13aXJlZnJhbWUtZ2VvbWV0cnknOiBOZ3RXaXJlZnJhbWVHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVGV0cmFoZWRyb25HZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LXRldHJhaGVkcm9uLWdlb21ldHJ5JzogTmd0VGV0cmFoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvT2N0YWhlZHJvbkdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3Qtb2N0YWhlZHJvbi1nZW9tZXRyeSc6IE5ndE9jdGFoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvSWNvc2FoZWRyb25HZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWljb3NhaGVkcm9uLWdlb21ldHJ5JzogTmd0SWNvc2FoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvUG9seWhlZHJvbkdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtcG9seWhlZHJvbi1nZW9tZXRyeSc6IE5ndFBvbHloZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvRG9kZWNhaGVkcm9uR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1kb2RlY2FoZWRyb24tZ2VvbWV0cnknOiBOZ3REb2RlY2FoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVHViZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtdHViZS1nZW9tZXRyeSc6IE5ndFR1YmVHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVG9ydXNLbm90R2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC10b3J1cy1rbm90LWdlb21ldHJ5JzogTmd0VG9ydXNLbm90R2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1RvcnVzR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC10b3J1cy1nZW9tZXRyeSc6IE5ndFRvcnVzR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1NwaGVyZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3Qtc3BoZXJlLWdlb21ldHJ5JzogTmd0U3BoZXJlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1JpbmdHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LXJpbmctZ2VvbWV0cnknOiBOZ3RSaW5nR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1BsYW5lR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1wbGFuZS1nZW9tZXRyeSc6IE5ndFBsYW5lR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0xhdGhlR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1sYXRoZS1nZW9tZXRyeSc6IE5ndExhdGhlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1NoYXBlR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1zaGFwZS1nZW9tZXRyeSc6IE5ndFNoYXBlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0V4dHJ1ZGVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWV4dHJ1ZGUtZ2VvbWV0cnknOiBOZ3RFeHRydWRlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0VkZ2VzR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1lZGdlcy1nZW9tZXRyeSc6IE5ndEVkZ2VzR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NvbmVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWNvbmUtZ2VvbWV0cnknOiBOZ3RDb25lR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0N5bGluZGVyR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1jeWxpbmRlci1nZW9tZXRyeSc6IE5ndEN5bGluZGVyR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NpcmNsZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtY2lyY2xlLWdlb21ldHJ5JzogTmd0Q2lyY2xlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0JveEdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtYm94LWdlb21ldHJ5JzogTmd0Qm94R2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NhcHN1bGVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWNhcHN1bGUtZ2VvbWV0cnknOiBOZ3RDYXBzdWxlR2VvbWV0cnk7XG5cblx0Ly8gbWF0ZXJpYWxzXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9tYXRlcmlhbHMvU2hhZG93TWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1zaGFkb3ctbWF0ZXJpYWwnOiBOZ3RTaGFkb3dNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9TcHJpdGVNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwcml0ZS1tYXRlcmlhbCc6IE5ndFNwcml0ZU1hdGVyaWFsO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbWF0ZXJpYWxzL1Jhd1NoYWRlck1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtcmF3LXNoYWRlci1tYXRlcmlhbCc6IE5ndFJhd1NoYWRlck1hdGVyaWFsO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbWF0ZXJpYWxzL1NoYWRlck1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3Qtc2hhZGVyLW1hdGVyaWFsJzogTmd0U2hhZGVyTWF0ZXJpYWw7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9tYXRlcmlhbHMvUG9pbnRzTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1wb2ludHMtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoUGh5c2ljYWxNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtcGh5c2ljYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoU3RhbmRhcmRNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtc3RhbmRhcmQtbWF0ZXJpYWwnOiBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoUGhvbmdNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtcGhvbmctbWF0ZXJpYWwnOiBOZ3RNZXNoUGhvbmdNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoVG9vbk1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtbWVzaC10b29uLW1hdGVyaWFsJzogTmd0TWVzaFRvb25NYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTm9ybWFsTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1tZXNoLW5vcm1hbC1tYXRlcmlhbCc6IE5ndE1lc2hOb3JtYWxNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTGFtYmVydE1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsJzogTmd0TWVzaExhbWJlcnRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoRGVwdGhNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtZGVwdGgtbWF0ZXJpYWwnOiBOZ3RNZXNoRGVwdGhNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoRGlzdGFuY2VNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtZGlzdGFuY2UtbWF0ZXJpYWwnOiBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoQmFzaWNNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RNZXNoQmFzaWNNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTWF0Y2FwTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1tZXNoLW1hdGNhcC1tYXRlcmlhbCc6IE5ndE1lc2hNYXRjYXBNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9MaW5lRGFzaGVkTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1saW5lLWRhc2hlZC1tYXRlcmlhbCc6IE5ndExpbmVEYXNoZWRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9MaW5lQmFzaWNNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpbmUtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RMaW5lQmFzaWNNYXRlcmlhbDtcblxuXHQvLyBwcmltaXRpdmVcblx0J25ndC1wcmltaXRpdmUnOiBOZ3RQcmltaXRpdmU7XG5cblx0Ly8gcmF3VmFsdWVcblx0J25ndC12YWx1ZSc6IE5ndFZhbHVlO1xuXG5cdC8vIGxpZ2h0cyBhbmQgb3RoZXJcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9TcG90TGlnaHRTaGFkb3cuZC50c1xuXHQgKi9cblx0J25ndC1zcG90LWxpZ2h0LXNoYWRvdyc6IE5ndFNwb3RMaWdodFNoYWRvdztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9TcG90TGlnaHQuZC50c1xuXHQgKi9cblx0J25ndC1zcG90LWxpZ2h0JzogTmd0U3BvdExpZ2h0O1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbGlnaHRzL1BvaW50TGlnaHQuZC50c1xuXHQgKi9cblx0J25ndC1wb2ludC1saWdodCc6IE5ndFBvaW50TGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvUmVjdEFyZWFMaWdodC5kLnRzXG5cdCAqL1xuXHQnbmd0LXJlY3QtYXJlYS1saWdodCc6IE5ndFJlY3RBcmVhTGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvSGVtaXNwaGVyZUxpZ2h0LmQudHNcblx0ICovXG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodCc6IE5ndEhlbWlzcGhlcmVMaWdodDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9EaXJlY3Rpb25hbExpZ2h0U2hhZG93LmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQtc2hhZG93JzogTmd0RGlyZWN0aW9uYWxMaWdodFNoYWRvdztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9EaXJlY3Rpb25hbExpZ2h0LmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQnOiBOZ3REaXJlY3Rpb25hbExpZ2h0O1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbGlnaHRzL0FtYmllbnRMaWdodC5kLnRzXG5cdCAqL1xuXHQnbmd0LWFtYmllbnQtbGlnaHQnOiBOZ3RBbWJpZW50TGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvTGlnaHRTaGFkb3dcblx0ICovXG5cdCduZ3QtbGlnaHQtc2hhZG93JzogTmd0TGlnaHRTaGFkb3c7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvTGlnaHRQcm9iZS5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpZ2h0LXByb2JlJzogTmd0TGlnaHRQcm9iZTtcblxuXHQvLyBoZWxwZXJzXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL1Nwb3RMaWdodEhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwb3QtbGlnaHQtaGVscGVyJzogTmd0U3BvdExpZ2h0SGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9Ta2VsZXRvbkhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXNrZWxldG9uLWhlbHBlcic6IE5ndFNrZWxldG9uSGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9Qb2ludExpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtcG9pbnQtbGlnaHQtaGVscGVyJzogTmd0UG9pbnRMaWdodEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvSGVtaXNwaGVyZUxpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodC1oZWxwZXInOiBOZ3RIZW1pc3BoZXJlTGlnaHRIZWxwZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL0dyaWRIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1ncmlkLWhlbHBlcic6IE5ndEdyaWRIZWxwZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL1BvbGFyR3JpZEhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXBvbGFyLWdyaWQtaGVscGVyJzogTmd0UG9sYXJHcmlkSGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9EaXJlY3Rpb25hbExpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQtaGVscGVyJzogTmd0RGlyZWN0aW9uYWxMaWdodEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQ2FtZXJhSGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtY2FtZXJhLWhlbHBlcic6IE5ndENhbWVyYUhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQm94SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtYm94LWhlbHBlcic6IE5ndEJveEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQm94M0hlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LWJveDMtaGVscGVyJzogTmd0Qm94M0hlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvUGxhbmVIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1wbGFuZS1oZWxwZXInOiBOZ3RQbGFuZUhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQXJyb3dIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1hcnJvdy1oZWxwZXInOiBOZ3RBcnJvd0hlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQXhlc0hlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LWF4ZXMtaGVscGVyJzogTmd0QXhlc0hlbHBlcjtcblxuXHQvLyB0ZXh0dXJlc1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvVGV4dHVyZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXRleHR1cmUnOiBOZ3RUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvVmlkZW9UZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtdmlkZW8tdGV4dHVyZSc6IE5ndFZpZGVvVGV4dHVyZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3RleHR1cmVzL0RhdGFUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGF0YS10ZXh0dXJlJzogTmd0RGF0YVRleHR1cmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy90ZXh0dXJlcy9EYXRhM0RUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGF0YTNELXRleHR1cmUnOiBOZ3REYXRhM0RUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvQ29tcHJlc3NlZFRleHR1cmUuZC50c1xuXHQgKi9cblx0J25ndC1jb21wcmVzc2VkLXRleHR1cmUnOiBOZ3RDb21wcmVzc2VkVGV4dHVyZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3RleHR1cmVzL0N1YmVUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtY3ViZS10ZXh0dXJlJzogTmd0Q3ViZVRleHR1cmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy90ZXh0dXJlcy9DYW52YXNUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtY2FudmFzLXRleHR1cmUnOiBOZ3RDYW52YXNUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvRGVwdGhUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGVwdGgtdGV4dHVyZSc6IE5ndERlcHRoVGV4dHVyZTtcblxuXHQvLyBtaXNjXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL1JheWNhc3Rlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXJheWNhc3Rlcic6IE5ndFJheWNhc3Rlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yMi5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjInOiBOZ3RWZWN0b3IyTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yMy5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjMnOiBOZ3RWZWN0b3IzTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yNC5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjQnOiBOZ3RWZWN0b3I0Tm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvRXVsZXIuZC50c1xuXHQgKi9cblx0J25ndC1ldWxlcic6IE5ndEV1bGVyTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvTWF0cml4My5kLnRzXG5cdCAqL1xuXHQnbmd0LW1hdHJpeDMnOiBOZ3RNYXRyaXgzTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvTWF0cml4NC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1hdHJpeDQnOiBOZ3RNYXRyaXg0Tm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvUXVhdGVybmlvbi5kLnRzXG5cdCAqL1xuXHQnbmd0LXF1YXRlcm5pb24nOiBOZ3RRdWF0ZXJuaW9uTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICovXG5cdCduZ3QtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBGbG9hdDE2QnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LWZsb2F0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZVxuXHQgKi9cblx0J25ndC1mbG9hdDMyLWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9CdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKiBAc3ltYm9sIEludDhCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtaW50OC1idWZmZXItYXR0cmlidXRlJzogTmd0SW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBJbnQxNkJ1ZmZlckF0dHJpYnV0ZVxuXHQgKi9cblx0J25ndC1pbnQxNi1idWZmZXItYXR0cmlidXRlJzogTmd0SW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgSW50MzJCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtaW50MzItYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9CdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKiBAc3ltYm9sIFVpbnQ4QnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LXVuaXQ4LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBVaW50MTZCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtdW5pdDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgVWludDMyQnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LXVuaXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9JbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKi9cblx0J25ndC1pbnN0YW5jZWQtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvQ29sb3IuZC50c1xuXHQgKi9cblx0J25ndC1jb2xvcic6IE5ndENvbG9yO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvc2NlbmVzL0ZvZy5kLnRzXG5cdCAqL1xuXHQnbmd0LWZvZyc6IE5ndEZvZztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3NjZW5lcy9Gb2dFeHAyLmQudHNcblx0ICovXG5cdCduZ3QtZm9nLWV4cDInOiBOZ3RGb2dFeHAyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvZXh0cmFzL2NvcmUvU2hhcGUuZC50c1xuXHQgKi9cblx0J25ndC1zaGFwZSc6IE5ndFNoYXBlO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAgZXh0ZW5kcyBUaHJlZUVsZW1lbnRzIHt9XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIGV4dGVuZHMgTmd0Tm9kZUV2ZW50TWFwPE5ndEluc3RhbmNlTm9kZT4ge31cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { computed } from '@angular/core';
2
- import { Vector2, Vector3 } from 'three';
2
+ import { Vector2, Vector3, Vector4 } from 'three';
3
3
  export function omit(objFn, keysToOmit) {
4
4
  return computed(() => {
5
5
  const obj = objFn();
@@ -32,47 +32,39 @@ export function merge(objFn, toMerge, mode = 'override') {
32
32
  return computed(() => ({ ...objFn(), ...toMerge }));
33
33
  return computed(() => ({ ...toMerge, ...objFn() }));
34
34
  }
35
- export function vector2(options, key, keepUndefined = false) {
36
- return computed(() => {
37
- const value = options()[key];
38
- if (keepUndefined && value == undefined)
39
- return undefined;
40
- if (typeof value === 'number')
41
- return new Vector2(value, value);
42
- else if (value)
43
- return new Vector2(...value);
44
- else
45
- return new Vector2();
46
- }, { equal: (a, b) => !!a && !!b && a.equals(b) });
47
- }
48
- export function vector3(inputOrOptions, keyOrKeepUndefined, keepUndefined) {
49
- if (typeof keyOrKeepUndefined === 'undefined' || typeof keyOrKeepUndefined === 'boolean') {
50
- keepUndefined = !!keyOrKeepUndefined;
51
- const input = inputOrOptions;
35
+ function createVectorComputed(vectorCtor) {
36
+ return ((inputOrOptions, keyOrKeepUndefined, keepUndefined) => {
37
+ if (typeof keyOrKeepUndefined === 'undefined' || typeof keyOrKeepUndefined === 'boolean') {
38
+ keepUndefined = !!keyOrKeepUndefined;
39
+ const input = inputOrOptions;
40
+ return computed(() => {
41
+ const value = input();
42
+ if (keepUndefined && value == undefined)
43
+ return undefined;
44
+ if (typeof value === 'number')
45
+ return new vectorCtor().setScalar(value);
46
+ else if (value)
47
+ return new vectorCtor(...value);
48
+ else
49
+ return new vectorCtor();
50
+ }, { equal: (a, b) => !!a && !!b && a.equals(b) });
51
+ }
52
+ const options = inputOrOptions;
53
+ const key = keyOrKeepUndefined;
52
54
  return computed(() => {
53
- const value = input();
55
+ const value = options()[key];
54
56
  if (keepUndefined && value == undefined)
55
57
  return undefined;
56
58
  if (typeof value === 'number')
57
- return new Vector3(value, value, value);
59
+ return new vectorCtor().setScalar(value);
58
60
  else if (value)
59
- return new Vector3(...value);
61
+ return new vectorCtor(...value);
60
62
  else
61
- return new Vector3();
63
+ return new vectorCtor();
62
64
  }, { equal: (a, b) => !!a && !!b && a.equals(b) });
63
- }
64
- const options = inputOrOptions;
65
- const key = keyOrKeepUndefined;
66
- return computed(() => {
67
- const value = options()[key];
68
- if (keepUndefined && value == undefined)
69
- return undefined;
70
- if (typeof value === 'number')
71
- return new Vector3(value, value, value);
72
- else if (value)
73
- return new Vector3(...value);
74
- else
75
- return new Vector3();
76
- }, { equal: (a, b) => !!a && !!b && a.equals(b) });
65
+ });
77
66
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3BhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFnQixPQUFPLEVBQWdCLE1BQU0sT0FBTyxDQUFDO0FBZXJFLE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBeUIsRUFBRSxVQUFvQjtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBa0IsQ0FBQztRQUVsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLFNBQVM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUF5QixFQUFFLFNBQTRCO0lBQzNFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFrQixDQUFDO1lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzdCLElBQUks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LENBQUM7SUFDdkQsTUFBTSxHQUFHLEdBQUcsa0JBQTRCLENBQUM7SUFFekMsT0FBTyxRQUFRLENBQ2QsR0FBRyxFQUFFO1FBQ0osTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxhQUFhLElBQUksS0FBSyxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMxRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbEUsSUFBSSxLQUFLO1lBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFJLEtBQXNCLENBQUMsQ0FBQzs7WUFDMUQsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUMsRUFDRCxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzlDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVjdG9yMiwgVmVjdG9yMlR1cGxlLCBWZWN0b3IzLCBWZWN0b3IzVHVwbGUgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RWZWN0b3IyLCBOZ3RWZWN0b3IzIH0gZnJvbSAnLi4vdGhyZWUtdHlwZXMnO1xuaW1wb3J0IHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIEtleXNPZlR5cGU8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVFR5cGU+ID0gRXhjbHVkZTxcblx0e1xuXHRcdFtLIGluIGtleW9mIFRPYmplY3RdOiBUT2JqZWN0W0tdIGV4dGVuZHMgVFR5cGUgfCB1bmRlZmluZWQgfCBudWxsID8gSyA6IG5ldmVyO1xuXHR9W2tleW9mIFRPYmplY3RdLFxuXHR1bmRlZmluZWRcbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBvbWl0PFRPYmplY3QgZXh0ZW5kcyBvYmplY3QsIFRLZXlzIGV4dGVuZHMgKGtleW9mIFRPYmplY3QpW10+KFxuXHRvYmpGbjogKCkgPT4gVE9iamVjdCxcblx0a2V5c1RvT21pdDogVEtleXMsXG4pOiBTaWduYWw8T21pdDxUT2JqZWN0LCBUS2V5c1tudW1iZXJdPj47XG5leHBvcnQgZnVuY3Rpb24gb21pdChvYmpGbjogKCkgPT4gTmd0QW55UmVjb3JkLCBrZXlzVG9PbWl0OiBzdHJpbmdbXSkge1xuXHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IG9iaiA9IG9iakZuKCk7XG5cdFx0Y29uc3QgcmVzdWx0ID0ge30gYXMgTmd0QW55UmVjb3JkO1xuXG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqKSkge1xuXHRcdFx0aWYgKGtleXNUb09taXQuaW5jbHVkZXMoa2V5KSkgY29udGludWU7XG5cdFx0XHRPYmplY3QuYXNzaWduKHJlc3VsdCwgeyBba2V5XTogb2JqW2tleV0gfSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrPFRPYmplY3QgZXh0ZW5kcyBvYmplY3QsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUT2JqZWN0Pihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdGtleTogVEtleSxcbik6IFNpZ25hbDxUT2JqZWN0W1RLZXldPjtcbmV4cG9ydCBmdW5jdGlvbiBwaWNrPFRPYmplY3QgZXh0ZW5kcyBvYmplY3QsIFRLZXlzIGV4dGVuZHMgKGtleW9mIFRPYmplY3QpW10+KFxuXHRvYmpGbjogKCkgPT4gVE9iamVjdCxcblx0a2V5czogVEtleXMsXG4pOiBTaWduYWw8UGljazxUT2JqZWN0LCBUS2V5c1tudW1iZXJdPj47XG5leHBvcnQgZnVuY3Rpb24gcGljayhvYmpGbjogKCkgPT4gTmd0QW55UmVjb3JkLCBrZXlPcktleXM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG5cdGlmIChBcnJheS5pc0FycmF5KGtleU9yS2V5cykpIHtcblx0XHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3Qgb2JqID0gb2JqRm4oKTtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IHt9IGFzIE5ndEFueVJlY29yZDtcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGtleU9yS2V5cykge1xuXHRcdFx0XHRpZiAoIShrZXkgaW4gb2JqKSkgY29udGludWU7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24ocmVzdWx0LCB7IFtrZXldOiBvYmpba2V5XSB9KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSk7XG5cdH1cblxuXHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4gb2JqRm4oKVtrZXlPcktleXNdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvYmpGbjogKCkgPT4gVE9iamVjdCxcblx0dG9NZXJnZTogUGFydGlhbDxUT2JqZWN0Pixcblx0bW9kZTogJ292ZXJyaWRlJyB8ICdiYWNrZmlsbCcgPSAnb3ZlcnJpZGUnLFxuKSB7XG5cdGlmIChtb2RlID09PSAnb3ZlcnJpZGUnKSByZXR1cm4gY29tcHV0ZWQoKCkgPT4gKHsgLi4ub2JqRm4oKSwgLi4udG9NZXJnZSB9KSk7XG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiAoeyAuLi50b01lcmdlLCAuLi5vYmpGbigpIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvcjI8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdG9wdGlvbnM6IFNpZ25hbDxUT2JqZWN0Pixcblx0a2V5OiBLZXlzT2ZUeXBlPFRPYmplY3QsIE5ndFZlY3RvcjI+LFxuKTogU2lnbmFsPFZlY3RvcjI+O1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvcjI8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdG9wdGlvbnM6IFNpZ25hbDxUT2JqZWN0Pixcblx0a2V5OiBLZXlzT2ZUeXBlPFRPYmplY3QsIE5ndFZlY3RvcjI+LFxuXHRrZWVwVW5kZWZpbmVkOiB0cnVlLFxuKTogU2lnbmFsPFZlY3RvcjIgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvcjIob3B0aW9uczogU2lnbmFsPE5ndEFueVJlY29yZD4sIGtleTogc3RyaW5nLCBrZWVwVW5kZWZpbmVkID0gZmFsc2UpIHtcblx0cmV0dXJuIGNvbXB1dGVkKFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IHZhbHVlID0gb3B0aW9ucygpW2tleV07XG5cdFx0XHRpZiAoa2VlcFVuZGVmaW5lZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykgcmV0dXJuIG5ldyBWZWN0b3IyKHZhbHVlLCB2YWx1ZSk7XG5cdFx0XHRlbHNlIGlmICh2YWx1ZSkgcmV0dXJuIG5ldyBWZWN0b3IyKC4uLih2YWx1ZSBhcyBWZWN0b3IyVHVwbGUpKTtcblx0XHRcdGVsc2UgcmV0dXJuIG5ldyBWZWN0b3IyKCk7XG5cdFx0fSxcblx0XHR7IGVxdWFsOiAoYSwgYikgPT4gISFhICYmICEhYiAmJiBhLmVxdWFscyhiKSB9LFxuXHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVjdG9yMyhpbnB1dDogU2lnbmFsPE5ndFZlY3RvcjM+KTogU2lnbmFsPFZlY3RvcjM+O1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvcjMoaW5wdXQ6IFNpZ25hbDxOZ3RWZWN0b3IzPiwga2VlcFVuZGVmaW5lZDogdHJ1ZSk6IFNpZ25hbDxWZWN0b3IzPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcbik6IFNpZ25hbDxWZWN0b3IzPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcblx0a2VlcFVuZGVmaW5lZDogdHJ1ZSxcbik6IFNpZ25hbDxWZWN0b3IzIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzKFxuXHRpbnB1dE9yT3B0aW9uczogU2lnbmFsPE5ndEFueVJlY29yZD4gfCBTaWduYWw8Tmd0VmVjdG9yMz4sXG5cdGtleU9yS2VlcFVuZGVmaW5lZD86IHN0cmluZyB8IHRydWUsXG5cdGtlZXBVbmRlZmluZWQ/OiBib29sZWFuLFxuKSB7XG5cdGlmICh0eXBlb2Yga2V5T3JLZWVwVW5kZWZpbmVkID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Yga2V5T3JLZWVwVW5kZWZpbmVkID09PSAnYm9vbGVhbicpIHtcblx0XHRrZWVwVW5kZWZpbmVkID0gISFrZXlPcktlZXBVbmRlZmluZWQ7XG5cdFx0Y29uc3QgaW5wdXQgPSBpbnB1dE9yT3B0aW9ucyBhcyBTaWduYWw8Tmd0VmVjdG9yMz47XG5cdFx0cmV0dXJuIGNvbXB1dGVkKFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IGlucHV0KCk7XG5cdFx0XHRcdGlmIChrZWVwVW5kZWZpbmVkICYmIHZhbHVlID09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMyh2YWx1ZSwgdmFsdWUsIHZhbHVlKTtcblx0XHRcdFx0ZWxzZSBpZiAodmFsdWUpIHJldHVybiBuZXcgVmVjdG9yMyguLi4odmFsdWUgYXMgVmVjdG9yM1R1cGxlKSk7XG5cdFx0XHRcdGVsc2UgcmV0dXJuIG5ldyBWZWN0b3IzKCk7XG5cdFx0XHR9LFxuXHRcdFx0eyBlcXVhbDogKGEsIGIpID0+ICEhYSAmJiAhIWIgJiYgYS5lcXVhbHMoYikgfSxcblx0XHQpO1xuXHR9XG5cblx0Y29uc3Qgb3B0aW9ucyA9IGlucHV0T3JPcHRpb25zIGFzIFNpZ25hbDxOZ3RBbnlSZWNvcmQ+O1xuXHRjb25zdCBrZXkgPSBrZXlPcktlZXBVbmRlZmluZWQgYXMgc3RyaW5nO1xuXG5cdHJldHVybiBjb21wdXRlZChcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0aWYgKGtlZXBVbmRlZmluZWQgJiYgdmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMyh2YWx1ZSwgdmFsdWUsIHZhbHVlKTtcblx0XHRcdGVsc2UgaWYgKHZhbHVlKSByZXR1cm4gbmV3IFZlY3RvcjMoLi4uKHZhbHVlIGFzIFZlY3RvcjNUdXBsZSkpO1xuXHRcdFx0ZWxzZSByZXR1cm4gbmV3IFZlY3RvcjMoKTtcblx0XHR9LFxuXHRcdHsgZXF1YWw6IChhLCBiKSA9PiAhIWEgJiYgISFiICYmIGEuZXF1YWxzKGIpIH0sXG5cdCk7XG59XG4iXX0=
67
+ export const vector2 = createVectorComputed(Vector2);
68
+ export const vector3 = createVectorComputed(Vector3);
69
+ export const vector4 = createVectorComputed(Vector4);
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3BhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBZWxELE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBeUIsRUFBRSxVQUFvQjtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBa0IsQ0FBQztRQUVsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLFNBQVM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUF5QixFQUFFLFNBQTRCO0lBQzNFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFrQixDQUFDO1lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JB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QyxFQUFFLENBQ3JELENBQUM7SUFDSCxDQUFDLENBQTJDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIFNpZ25hbCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVjdG9yMiwgVmVjdG9yMywgVmVjdG9yNCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndFZlY3RvcjIsIE5ndFZlY3RvcjMsIE5ndFZlY3RvcjQgfSBmcm9tICcuLi90aHJlZS10eXBlcyc7XG5pbXBvcnQgeyBOZ3RBbnlSZWNvcmQgfSBmcm9tICcuLi90eXBlcyc7XG5cbnR5cGUgS2V5c09mVHlwZTxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUVHlwZT4gPSBFeGNsdWRlPFxuXHR7XG5cdFx0W0sgaW4ga2V5b2YgVE9iamVjdF06IFRPYmplY3RbS10gZXh0ZW5kcyBUVHlwZSB8IHVuZGVmaW5lZCB8IG51bGwgPyBLIDogbmV2ZXI7XG5cdH1ba2V5b2YgVE9iamVjdF0sXG5cdHVuZGVmaW5lZFxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG9taXQ8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleXMgZXh0ZW5kcyAoa2V5b2YgVE9iamVjdClbXT4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXlzVG9PbWl0OiBUS2V5cyxcbik6IFNpZ25hbDxPbWl0PFRPYmplY3QsIFRLZXlzW251bWJlcl0+PjtcbmV4cG9ydCBmdW5jdGlvbiBvbWl0KG9iakZuOiAoKSA9PiBOZ3RBbnlSZWNvcmQsIGtleXNUb09taXQ6IHN0cmluZ1tdKSB7XG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgb2JqID0gb2JqRm4oKTtcblx0XHRjb25zdCByZXN1bHQgPSB7fSBhcyBOZ3RBbnlSZWNvcmQ7XG5cblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG5cdFx0XHRpZiAoa2V5c1RvT21pdC5pbmNsdWRlcyhrZXkpKSBjb250aW51ZTtcblx0XHRcdE9iamVjdC5hc3NpZ24ocmVzdWx0LCB7IFtrZXldOiBvYmpba2V5XSB9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBpY2s8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleSBleHRlbmRzIGtleW9mIFRPYmplY3Q+KFxuXHRvYmpGbjogKCkgPT4gVE9iamVjdCxcblx0a2V5OiBUS2V5LFxuKTogU2lnbmFsPFRPYmplY3RbVEtleV0+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2s8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVEtleXMgZXh0ZW5kcyAoa2V5b2YgVE9iamVjdClbXT4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXlzOiBUS2V5cyxcbik6IFNpZ25hbDxQaWNrPFRPYmplY3QsIFRLZXlzW251bWJlcl0+PjtcbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iakZuOiAoKSA9PiBOZ3RBbnlSZWNvcmQsIGtleU9yS2V5czogc3RyaW5nIHwgc3RyaW5nW10pIHtcblx0aWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuXHRcdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBvYmogPSBvYmpGbigpO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0ge30gYXMgTmd0QW55UmVjb3JkO1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2Yga2V5T3JLZXlzKSB7XG5cdFx0XHRcdGlmICghKGtleSBpbiBvYmopKSBjb250aW51ZTtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgW2tleV06IG9ialtrZXldIH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9KTtcblx0fVxuXG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiBvYmpGbigpW2tleU9yS2V5c10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHR0b01lcmdlOiBQYXJ0aWFsPFRPYmplY3Q+LFxuXHRtb2RlOiAnb3ZlcnJpZGUnIHwgJ2JhY2tmaWxsJyA9ICdvdmVycmlkZScsXG4pIHtcblx0aWYgKG1vZGUgPT09ICdvdmVycmlkZScpIHJldHVybiBjb21wdXRlZCgoKSA9PiAoeyAuLi5vYmpGbigpLCAuLi50b01lcmdlIH0pKTtcblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+ICh7IC4uLnRvTWVyZ2UsIC4uLm9iakZuKCkgfSkpO1xufVxuXG50eXBlIE5ndFZlY3RvckNvbXB1dGVkPFxuXHRUVmVjdG9yIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0LFxuXHRUTmd0VmVjdG9yID0gVFZlY3RvciBleHRlbmRzIFZlY3RvcjIgPyBOZ3RWZWN0b3IyIDogVFZlY3RvciBleHRlbmRzIFZlY3RvcjMgPyBOZ3RWZWN0b3IzIDogTmd0VmVjdG9yNCxcbj4gPSB7XG5cdChpbnB1dDogU2lnbmFsPFROZ3RWZWN0b3I+KTogU2lnbmFsPFRWZWN0b3I+O1xuXHQoaW5wdXQ6IFNpZ25hbDxUTmd0VmVjdG9yPiwga2VlcFVuZGVmaW5lZDogdHJ1ZSk6IFNpZ25hbDxUVmVjdG9yIHwgdW5kZWZpbmVkPjtcblx0PFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KG9wdGlvbnM6IFNpZ25hbDxUT2JqZWN0Piwga2V5OiBLZXlzT2ZUeXBlPFRPYmplY3QsIFROZ3RWZWN0b3I+KTogU2lnbmFsPFRWZWN0b3I+O1xuXHQ8VE9iamVjdCBleHRlbmRzIG9iamVjdD4oXG5cdFx0b3B0aW9uczogU2lnbmFsPFRPYmplY3Q+LFxuXHRcdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBUTmd0VmVjdG9yPixcblx0XHRrZWVwVW5kZWZpbmVkOiB0cnVlLFxuXHQpOiBTaWduYWw8VFZlY3RvciB8IHVuZGVmaW5lZD47XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVWZWN0b3JDb21wdXRlZDxUVmVjdG9yIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0Pih2ZWN0b3JDdG9yOiBUeXBlPFRWZWN0b3I+KSB7XG5cdHR5cGUgVE5ndFZlY3RvciA9IFRWZWN0b3IgZXh0ZW5kcyBWZWN0b3IyID8gTmd0VmVjdG9yMiA6IFRWZWN0b3IgZXh0ZW5kcyBWZWN0b3IzID8gTmd0VmVjdG9yMyA6IE5ndFZlY3RvcjQ7XG5cdHJldHVybiAoKFxuXHRcdGlucHV0T3JPcHRpb25zOiBTaWduYWw8Tmd0QW55UmVjb3JkPiB8IFNpZ25hbDxUTmd0VmVjdG9yPixcblx0XHRrZXlPcktlZXBVbmRlZmluZWQ/OiBzdHJpbmcgfCB0cnVlLFxuXHRcdGtlZXBVbmRlZmluZWQ/OiBib29sZWFuLFxuXHQpID0+IHtcblx0XHRpZiAodHlwZW9mIGtleU9yS2VlcFVuZGVmaW5lZCA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGtleU9yS2VlcFVuZGVmaW5lZCA9PT0gJ2Jvb2xlYW4nKSB7XG5cdFx0XHRrZWVwVW5kZWZpbmVkID0gISFrZXlPcktlZXBVbmRlZmluZWQ7XG5cdFx0XHRjb25zdCBpbnB1dCA9IGlucHV0T3JPcHRpb25zIGFzIFNpZ25hbDxUTmd0VmVjdG9yPjtcblx0XHRcdHJldHVybiBjb21wdXRlZChcblx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gaW5wdXQoKTtcblx0XHRcdFx0XHRpZiAoa2VlcFVuZGVmaW5lZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgdmVjdG9yQ3RvcigpLnNldFNjYWxhcih2YWx1ZSk7XG5cdFx0XHRcdFx0ZWxzZSBpZiAodmFsdWUpIHJldHVybiBuZXcgdmVjdG9yQ3RvciguLi4odmFsdWUgYXMgYW55KSk7XG5cdFx0XHRcdFx0ZWxzZSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0eyBlcXVhbDogKGEsIGIpID0+ICEhYSAmJiAhIWIgJiYgYS5lcXVhbHMoYiBhcyBhbnkpIH0sXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9wdGlvbnMgPSBpbnB1dE9yT3B0aW9ucyBhcyBTaWduYWw8Tmd0QW55UmVjb3JkPjtcblx0XHRjb25zdCBrZXkgPSBrZXlPcktlZXBVbmRlZmluZWQgYXMgc3RyaW5nO1xuXG5cdFx0cmV0dXJuIGNvbXB1dGVkKFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0XHRpZiAoa2VlcFVuZGVmaW5lZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKS5zZXRTY2FsYXIodmFsdWUpO1xuXHRcdFx0XHRlbHNlIGlmICh2YWx1ZSkgcmV0dXJuIG5ldyB2ZWN0b3JDdG9yKC4uLih2YWx1ZSBhcyBhbnkpKTtcblx0XHRcdFx0ZWxzZSByZXR1cm4gbmV3IHZlY3RvckN0b3IoKTtcblx0XHRcdH0sXG5cdFx0XHR7IGVxdWFsOiAoYSwgYikgPT4gISFhICYmICEhYiAmJiBhLmVxdWFscyhiIGFzIGFueSkgfSxcblx0XHQpO1xuXHR9KSBhcyBOZ3RWZWN0b3JDb21wdXRlZDxUVmVjdG9yLCBUTmd0VmVjdG9yPjtcbn1cblxuZXhwb3J0IGNvbnN0IHZlY3RvcjIgPSBjcmVhdGVWZWN0b3JDb21wdXRlZChWZWN0b3IyKTtcbmV4cG9ydCBjb25zdCB2ZWN0b3IzID0gY3JlYXRlVmVjdG9yQ29tcHV0ZWQoVmVjdG9yMyk7XG5leHBvcnQgY29uc3QgdmVjdG9yNCA9IGNyZWF0ZVZlY3RvckNvbXB1dGVkKFZlY3RvcjQpO1xuIl19
@@ -52,6 +52,19 @@ export class NgtTestBed {
52
52
  destroy: fixture.componentInstance.destroy.bind(fixture.componentInstance),
53
53
  fireEvent: this.createEventFirer(store, fixture),
54
54
  advance: this.createAdvance(store),
55
+ toGraph: this.createToGraph(store),
56
+ };
57
+ }
58
+ static createToGraph(store) {
59
+ function graphify(type, name, children) {
60
+ return { type, name, children };
61
+ }
62
+ function toGraph(node) {
63
+ return node.children.map((child) => graphify(child.type, child.name || '', toGraph(child)));
64
+ }
65
+ return () => {
66
+ const state = store.snapshot;
67
+ return toGraph(state.scene);
55
68
  };
56
69
  }
57
70
  static createAdvance(store) {
@@ -114,4 +127,4 @@ export class NgtTestBed {
114
127
  return fireEvent;
115
128
  }
116
129
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1iZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdGVzdGluZy9zcmMvbGliL3Rlc3QtYmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQW9CLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFDTixhQUFhLEVBQ2IsMkJBQTJCLEVBQzNCLFNBQVMsRUFPVCxZQUFZLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLE9BQU8sVUFBVTtJQUN0QixNQUFNLENBQUMsTUFBTSxDQUNaLFVBQWEsRUFDYixFQUNDLGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsbUJBQW1CLEdBQUcsRUFBRSxFQUN4QixzQkFBc0IsRUFDdEIsU0FBUyxFQUNULFlBQVksRUFDWixPQUFPLEVBQ1AsUUFBUSxFQUNSLGtCQUFrQixNQUlxRCxFQUFFO1FBRTFFLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1lBQzlDLFNBQVMsRUFBRTtnQkFDVixZQUFZLEVBQUU7Z0JBQ2Q7b0JBQ0MsT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsVUFBVSxFQUFFLEdBQUcsRUFBRTt3QkFDaEIsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQzt3QkFFL0MsT0FBTyxHQUFHLEVBQUU7NEJBQ1gsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDOzRCQUM1QyxZQUFZLENBQUMsU0FBUyxDQUFDO2dDQUN0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RUFBRSxDQUFDO2dCQUN2QixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQztRQUVELFNBQVMsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ2xELGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSwgVGVzdEJlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuXHRnZXRMb2NhbFN0YXRlLFxuXHRpbmplY3RDYW52YXNSb290SW5pdGlhbGl6ZXIsXG5cdE5HVF9TVE9SRSxcblx0Tmd0QW55UmVjb3JkLFxuXHROZ3RDYW52YXNPcHRpb25zLFxuXHROZ3RFdmVudEhhbmRsZXJzLFxuXHROZ3RJbnN0YW5jZU5vZGUsXG5cdE5ndFNpZ25hbFN0b3JlLFxuXHROZ3RTdGF0ZSxcblx0cHJvdmlkZVN0b3JlLFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndFRlc3RDYW52YXMgfSBmcm9tICcuL3Rlc3QtY2FudmFzJztcbmltcG9ydCB7IGNyZWF0ZU1vY2tDYW52YXMgfSBmcm9tICcuL3V0aWxzL21vY2stY2FudmFzJztcblxuZXhwb3J0IGNsYXNzIE5ndFRlc3RCZWQge1xuXHRzdGF0aWMgY3JlYXRlPFQgZXh0ZW5kcyBUeXBlPGFueT4+KFxuXHRcdHNjZW5lR3JhcGg6IFQsXG5cdFx0e1xuXHRcdFx0bW9ja0NhbnZhc09wdGlvbnMgPSB7fSxcblx0XHRcdGNhbnZhc0NvbmZpZ3VyYXRpb24gPSB7fSxcblx0XHRcdGVycm9yT25Vbmtub3duRWxlbWVudHMsXG5cdFx0XHRwcm92aWRlcnMsXG5cdFx0XHRkZWNsYXJhdGlvbnMsXG5cdFx0XHRpbXBvcnRzLFxuXHRcdFx0dGVhcmRvd24sXG5cdFx0XHRkZWZlckJsb2NrQmVoYXZpb3IsXG5cdFx0fToge1xuXHRcdFx0bW9ja0NhbnZhc09wdGlvbnM/OiB7IHdpZHRoPzogbnVtYmVyOyBoZWlnaHQ/OiBudW1iZXI7IGJlZm9yZVJldHVybj86IChjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSA9PiB2b2lkIH07XG5cdFx0XHRjYW52YXNDb25maWd1cmF0aW9uPzogUGFydGlhbDxPbWl0PE5ndENhbnZhc09wdGlvbnMsICdmcmFtZWxvb3AnIHwgJ3NpemUnIHwgJ2V2ZW50cyc+Pjtcblx0XHR9ICYgT21pdDxQYXJhbWV0ZXJzPFRlc3RCZWRbJ2NvbmZpZ3VyZVRlc3RpbmdNb2R1bGUnXT5bMF0sICdzY2hlbWFzJz4gPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgbW9ja2VkQ2FudmFzID0gY3JlYXRlTW9ja0NhbnZhcyhtb2NrQ2FudmFzT3B0aW9ucyk7XG5cblx0XHRjb25zdCBmaXh0dXJlID0gVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcblx0XHRcdHByb3ZpZGVyczogW1xuXHRcdFx0XHRwcm92aWRlU3RvcmUoKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuXHRcdFx0XHRcdHVzZUZhY3Rvcnk6ICgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGluaXRSb290ID0gaW5qZWN0Q2FudmFzUm9vdEluaXRpYWxpemVyKCk7XG5cblx0XHRcdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGNvbmZpZ3VyYXRvciA9IGluaXRSb290KG1vY2tlZENhbnZhcyk7XG5cdFx0XHRcdFx0XHRcdGNvbmZpZ3VyYXRvci5jb25maWd1cmUoe1xuXHRcdFx0XHRcdFx0XHRcdGZyYW1lbG9vcDogJ25ldmVyJyxcblx0XHRcdFx0XHRcdFx0XHRzaXplOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogbW9ja0NhbnZhc09wdGlvbnMud2lkdGggPz8gMTI4MCxcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogbW9ja0NhbnZhc09wdGlvbnMuaGVpZ2h0ID8/IDgwMCxcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMCxcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDAsXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHQuLi5jYW52YXNDb25maWd1cmF0aW9uLFxuXHRcdFx0XHRcdFx0XHRcdGV2ZW50czogdW5kZWZpbmVkLFxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0Li4uKHByb3ZpZGVycyA/PyBbXSksXG5cdFx0XHRdLFxuXHRcdFx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRcdFx0ZXJyb3JPblVua25vd25FbGVtZW50czogZXJyb3JPblVua25vd25FbGVtZW50cyA/PyBmYWxzZSxcblx0XHRcdGRlY2xhcmF0aW9ucyxcblx0XHRcdGltcG9ydHMsXG5cdFx0XHR0ZWFyZG93bixcblx0XHRcdGRlZmVyQmxvY2tCZWhhdmlvcixcblx0XHR9KS5jcmVhdGVDb21wb25lbnQoTmd0VGVzdENhbnZhcyk7XG5cblx0XHRmaXh0dXJlLmNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2NlbmVHcmFwaCcsIHNjZW5lR3JhcGgpO1xuXHRcdGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG5cdFx0Y29uc3Qgc3RvcmUgPSBUZXN0QmVkLmluamVjdChOR1RfU1RPUkUpO1xuXG5cdFx0VGVzdEJlZC5mbHVzaEVmZmVjdHMoKTtcblxuXHRcdHJldHVybiB7XG5cdFx0XHRzdG9yZSxcblx0XHRcdGZpeHR1cmUsXG5cdFx0XHRzY2VuZTogc3RvcmUuc25hcHNob3Quc2NlbmUsXG5cdFx0XHRzY2VuZUluc3RhbmNlTm9kZTogZ2V0TG9jYWxTdGF0ZShzdG9yZS5zbmFwc2hvdC5zY2VuZSkhLFxuXHRcdFx0Y2FudmFzOiBtb2NrZWRDYW52YXMsXG5cdFx0XHRkZXN0cm95OiBmaXh0dXJlLmNvbXBvbmVudEluc3RhbmNlLmRlc3Ryb3kuYmluZChmaXh0dXJlLmNvbXBvbmVudEluc3RhbmNlKSxcblx0XHRcdGZpcmVFdmVudDogdGhpcy5jcmVhdGVFdmVudEZpcmVyKHN0b3JlLCBmaXh0dXJlKSxcblx0XHRcdGFkdmFuY2U6IHRoaXMuY3JlYXRlQWR2YW5jZShzdG9yZSksXG5cdFx0fTtcblx0fVxuXG5cdHN0YXRpYyBjcmVhdGVBZHZhbmNlKHN0b3JlOiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4pIHtcblx0XHRyZXR1cm4gYXN5bmMgKGZyYW1lczogbnVtYmVyLCBkZWx0YTogbnVtYmVyIHwgbnVtYmVyW10gPSAxKSA9PiB7XG5cdFx0XHRjb25zdCBzdGF0ZSA9IHN0b3JlLnNuYXBzaG90O1xuXHRcdFx0Y29uc3Qgc3Vic2NyaWJlcnMgPSBzdGF0ZS5pbnRlcm5hbC5zdWJzY3JpYmVycztcblxuXHRcdFx0Y29uc3QgcHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuXG5cdFx0XHRmb3IgKGNvbnN0IHN1YnNjcmliZXIgb2Ygc3Vic2NyaWJlcnMpIHtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXM7IGkrKykge1xuXHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGRlbHRhKSkge1xuXHRcdFx0XHRcdFx0cHJvbWlzZXMucHVzaChcblx0XHRcdFx0XHRcdFx0bmV3IFByb21pc2UoKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHN1YnNjcmliZXIuY2FsbGJhY2soeyAuLi5zdGF0ZSwgZGVsdGE6IGRlbHRhW2ldIHx8IGRlbHRhWy0xXSB9KTtcblx0XHRcdFx0XHRcdFx0XHRyZXMoKTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRwcm9taXNlcy5wdXNoKFxuXHRcdFx0XHRcdFx0XHRuZXcgUHJvbWlzZSgocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0c3Vic2NyaWJlci5jYWxsYmFjayh7IC4uLnN0YXRlLCBkZWx0YSB9KTtcblx0XHRcdFx0XHRcdFx0XHRyZXMoKTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG5cdFx0fTtcblx0fVxuXG5cdHN0YXRpYyBjcmVhdGVFdmVudEZpcmVyKHN0b3JlOiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4sIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8Tmd0VGVzdENhbnZhcz4pIHtcblx0XHRsZXQgYXV0b0RldGVjdENoYW5nZXMgPSBmYWxzZTtcblxuXHRcdGFzeW5jIGZ1bmN0aW9uIGZpcmVFdmVudChlbDogTmd0SW5zdGFuY2VOb2RlLCBldmVudE5hbWU6IGtleW9mIE5ndEV2ZW50SGFuZGxlcnMsIGV2ZW50RGF0YTogTmd0QW55UmVjb3JkID0ge30pIHtcblx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGVsKTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkge1xuXHRcdFx0XHRjb25zb2xlLndhcm4oYFtOR1QgVGVzdF0gJHtlbH0gaGFzIG5vIGxvY2FsIHN0YXRlYCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgaGFuZGxlciA9IGxvY2FsU3RhdGUuaGFuZGxlcnNbZXZlbnROYW1lXTtcblx0XHRcdGlmICghaGFuZGxlcikge1xuXHRcdFx0XHRjb25zb2xlLndhcm4oYFtOR1QgVGVzdF0gJHtlbH0gaGFzIG5vICR7ZXZlbnROYW1lfSBoYW5kbGVyYCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcmF5Y2FzdEV2ZW50ID0ge1xuXHRcdFx0XHRjYW1lcmE6IHN0b3JlLnNuYXBzaG90LmNhbWVyYSxcblx0XHRcdFx0c3RvcFByb3BhZ2F0aW9uOiAoKSA9PiB7fSxcblx0XHRcdFx0dGFyZ2V0OiBlbCxcblx0XHRcdFx0Y3VycmVudFRhcmdldDogZWwsXG5cdFx0XHRcdHNvdXJjZUV2ZW50OiBldmVudERhdGEsXG5cdFx0XHRcdG5hdGl2ZUV2ZW50OiBldmVudERhdGEsXG5cdFx0XHRcdG9iamVjdDogZWwsXG5cdFx0XHRcdGV2ZW50T2JqZWN0OiBlbCxcblx0XHRcdFx0Li4uZXZlbnREYXRhLFxuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgaGFuZGxlcihyYXljYXN0RXZlbnQgYXMgYW55KTtcblxuXHRcdFx0aWYgKGF1dG9EZXRlY3RDaGFuZ2VzKSB7XG5cdFx0XHRcdGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblxuXHRcdGZpcmVFdmVudC5zZXRBdXRvRGV0ZWN0Q2hhbmdlcyA9IChhdXRvOiBib29sZWFuKSA9PiB7XG5cdFx0XHRhdXRvRGV0ZWN0Q2hhbmdlcyA9IGF1dG87XG5cdFx0fTtcblxuXHRcdHJldHVybiBmaXJlRXZlbnQ7XG5cdH1cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1iZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdGVzdGluZy9zcmMvbGliL3Rlc3QtYmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQW9CLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFDTixhQUFhLEVBQ2IsMkJBQTJCLEVBQzNCLFNBQVMsRUFPVCxZQUFZLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVF2RCxNQUFNLE9BQU8sVUFBVTtJQUN0QixNQUFNLENBQUMsTUFBTSxDQUNaLFVBQWEsRUFDYixFQUNDLGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsbUJBQW1CLEdBQUcsRUFBRSxFQUN4QixzQkFBc0IsRUFDdEIsU0FBUyxFQUNULFlBQVksRUFDWixPQUFPLEVBQ1AsUUFBUSxFQUNSLGtCQUFrQixNQUlxRCxFQUFFO1FBRTFFLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1lBQzlDLFNBQVMsRUFBRTtnQkFDVixZQUFZLEVBQUU7Z0JBQ2Q7b0JBQ0MsT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsVUFBVSxFQUFFLEdBQUcsRUFBRTt3QkFDaEIsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQzt3QkFFL0MsT0FBTyxHQUFHLEVBQUU7NEJBQ1gsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDOzRCQUM1QyxZQUFZLENBQUMsU0FBUyxDQUFDO2dDQUN0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Z0JBQ3BELE9BQU87WUFDUixDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxTQUFTLFVBQVUsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPO1lBQ1IsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHO2dCQUNwQixNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUM3QixlQUFlLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDekIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixXQUFXLEVBQUUsU0FBUztnQkFDdEIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsR0FBRyxTQUFTO2FBQ1osQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQW1CLENBQUMsQ0FBQztZQUVsRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO1FBRUQsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDbEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEVOVklST05NRU5UX0lOSVRJQUxJWkVSLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlLCBUZXN0QmVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7XG5cdGdldExvY2FsU3RhdGUsXG5cdGluamVjdENhbnZhc1Jvb3RJbml0aWFsaXplcixcblx0TkdUX1NUT1JFLFxuXHROZ3RBbnlSZWNvcmQsXG5cdE5ndENhbnZhc09wdGlvbnMsXG5cdE5ndEV2ZW50SGFuZGxlcnMsXG5cdE5ndEluc3RhbmNlTm9kZSxcblx0Tmd0U2lnbmFsU3RvcmUsXG5cdE5ndFN0YXRlLFxuXHRwcm92aWRlU3RvcmUsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgT2JqZWN0M0QgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RUZXN0Q2FudmFzIH0gZnJvbSAnLi90ZXN0LWNhbnZhcyc7XG5pbXBvcnQgeyBjcmVhdGVNb2NrQ2FudmFzIH0gZnJvbSAnLi91dGlscy9tb2NrLWNhbnZhcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0VGVzdEdyYXBoZWRPYmplY3Qge1xuXHR0eXBlOiBzdHJpbmc7XG5cdG5hbWU6IHN0cmluZztcblx0Y2hpbGRyZW46IE5ndFRlc3RHcmFwaGVkT2JqZWN0W107XG59XG5cbmV4cG9ydCBjbGFzcyBOZ3RUZXN0QmVkIHtcblx0c3RhdGljIGNyZWF0ZTxUIGV4dGVuZHMgVHlwZTxhbnk+Pihcblx0XHRzY2VuZUdyYXBoOiBULFxuXHRcdHtcblx0XHRcdG1vY2tDYW52YXNPcHRpb25zID0ge30sXG5cdFx0XHRjYW52YXNDb25maWd1cmF0aW9uID0ge30sXG5cdFx0XHRlcnJvck9uVW5rbm93bkVsZW1lbnRzLFxuXHRcdFx0cHJvdmlkZXJzLFxuXHRcdFx0ZGVjbGFyYXRpb25zLFxuXHRcdFx0aW1wb3J0cyxcblx0XHRcdHRlYXJkb3duLFxuXHRcdFx0ZGVmZXJCbG9ja0JlaGF2aW9yLFxuXHRcdH06IHtcblx0XHRcdG1vY2tDYW52YXNPcHRpb25zPzogeyB3aWR0aD86IG51bWJlcjsgaGVpZ2h0PzogbnVtYmVyOyBiZWZvcmVSZXR1cm4/OiAoY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCkgPT4gdm9pZCB9O1xuXHRcdFx0Y2FudmFzQ29uZmlndXJhdGlvbj86IFBhcnRpYWw8T21pdDxOZ3RDYW52YXNPcHRpb25zLCAnZnJhbWVsb29wJyB8ICdzaXplJyB8ICdldmVudHMnPj47XG5cdFx0fSAmIE9taXQ8UGFyYW1ldGVyczxUZXN0QmVkWydjb25maWd1cmVUZXN0aW5nTW9kdWxlJ10+WzBdLCAnc2NoZW1hcyc+ID0ge30sXG5cdCkge1xuXHRcdGNvbnN0IG1vY2tlZENhbnZhcyA9IGNyZWF0ZU1vY2tDYW52YXMobW9ja0NhbnZhc09wdGlvbnMpO1xuXG5cdFx0Y29uc3QgZml4dHVyZSA9IFRlc3RCZWQuY29uZmlndXJlVGVzdGluZ01vZHVsZSh7XG5cdFx0XHRwcm92aWRlcnM6IFtcblx0XHRcdFx0cHJvdmlkZVN0b3JlKCksXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcblx0XHRcdFx0XHR1c2VGYWN0b3J5OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBpbml0Um9vdCA9IGluamVjdENhbnZhc1Jvb3RJbml0aWFsaXplcigpO1xuXG5cdFx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBjb25maWd1cmF0b3IgPSBpbml0Um9vdChtb2NrZWRDYW52YXMpO1xuXHRcdFx0XHRcdFx0XHRjb25maWd1cmF0b3IuY29uZmlndXJlKHtcblx0XHRcdFx0XHRcdFx0XHRmcmFtZWxvb3A6ICduZXZlcicsXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZToge1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IG1vY2tDYW52YXNPcHRpb25zLndpZHRoID8/IDEyODAsXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IG1vY2tDYW52YXNPcHRpb25zLmhlaWdodCA/PyA4MDAsXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3A6IDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwLFxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0Li4uY2FudmFzQ29uZmlndXJhdGlvbixcblx0XHRcdFx0XHRcdFx0XHRldmVudHM6IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC4uLihwcm92aWRlcnMgPz8gW10pLFxuXHRcdFx0XSxcblx0XHRcdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0XHRcdGVycm9yT25Vbmtub3duRWxlbWVudHM6IGVycm9yT25Vbmtub3duRWxlbWVudHMgPz8gZmFsc2UsXG5cdFx0XHRkZWNsYXJhdGlvbnMsXG5cdFx0XHRpbXBvcnRzLFxuXHRcdFx0dGVhcmRvd24sXG5cdFx0XHRkZWZlckJsb2NrQmVoYXZpb3IsXG5cdFx0fSkuY3JlYXRlQ29tcG9uZW50KE5ndFRlc3RDYW52YXMpO1xuXG5cdFx0Zml4dHVyZS5jb21wb25lbnRSZWYuc2V0SW5wdXQoJ3NjZW5lR3JhcGgnLCBzY2VuZUdyYXBoKTtcblx0XHRmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuXHRcdGNvbnN0IHN0b3JlID0gVGVzdEJlZC5pbmplY3QoTkdUX1NUT1JFKTtcblxuXHRcdFRlc3RCZWQuZmx1c2hFZmZlY3RzKCk7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0c3RvcmUsXG5cdFx0XHRmaXh0dXJlLFxuXHRcdFx0c2NlbmU6IHN0b3JlLnNuYXBzaG90LnNjZW5lLFxuXHRcdFx0c2NlbmVJbnN0YW5jZU5vZGU6IGdldExvY2FsU3RhdGUoc3RvcmUuc25hcHNob3Quc2NlbmUpISxcblx0XHRcdGNhbnZhczogbW9ja2VkQ2FudmFzLFxuXHRcdFx0ZGVzdHJveTogZml4dHVyZS5jb21wb25lbnRJbnN0YW5jZS5kZXN0cm95LmJpbmQoZml4dHVyZS5jb21wb25lbnRJbnN0YW5jZSksXG5cdFx0XHRmaXJlRXZlbnQ6IHRoaXMuY3JlYXRlRXZlbnRGaXJlcihzdG9yZSwgZml4dHVyZSksXG5cdFx0XHRhZHZhbmNlOiB0aGlzLmNyZWF0ZUFkdmFuY2Uoc3RvcmUpLFxuXHRcdFx0dG9HcmFwaDogdGhpcy5jcmVhdGVUb0dyYXBoKHN0b3JlKSxcblx0XHR9O1xuXHR9XG5cblx0c3RhdGljIGNyZWF0ZVRvR3JhcGgoc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPikge1xuXHRcdGZ1bmN0aW9uIGdyYXBoaWZ5KHR5cGU6IHN0cmluZywgbmFtZTogc3RyaW5nLCBjaGlsZHJlbjogTmd0VGVzdEdyYXBoZWRPYmplY3RbXSk6IE5ndFRlc3RHcmFwaGVkT2JqZWN0IHtcblx0XHRcdHJldHVybiB7IHR5cGUsIG5hbWUsIGNoaWxkcmVuIH07XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gdG9HcmFwaChub2RlOiBPYmplY3QzRCk6IE5ndFRlc3RHcmFwaGVkT2JqZWN0W10ge1xuXHRcdFx0cmV0dXJuIG5vZGUuY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gZ3JhcGhpZnkoY2hpbGQudHlwZSwgY2hpbGQubmFtZSB8fCAnJywgdG9HcmFwaChjaGlsZCkpKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0Y29uc3Qgc3RhdGUgPSBzdG9yZS5zbmFwc2hvdDtcblx0XHRcdHJldHVybiB0b0dyYXBoKHN0YXRlLnNjZW5lKTtcblx0XHR9O1xuXHR9XG5cblx0c3RhdGljIGNyZWF0ZUFkdmFuY2Uoc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPikge1xuXHRcdHJldHVybiBhc3luYyAoZnJhbWVzOiBudW1iZXIsIGRlbHRhOiBudW1iZXIgfCBudW1iZXJbXSA9IDEpID0+IHtcblx0XHRcdGNvbnN0IHN0YXRlID0gc3RvcmUuc25hcHNob3Q7XG5cdFx0XHRjb25zdCBzdWJzY3JpYmVycyA9IHN0YXRlLmludGVybmFsLnN1YnNjcmliZXJzO1xuXG5cdFx0XHRjb25zdCBwcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW107XG5cblx0XHRcdGZvciAoY29uc3Qgc3Vic2NyaWJlciBvZiBzdWJzY3JpYmVycykge1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lczsgaSsrKSB7XG5cdFx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoZGVsdGEpKSB7XG5cdFx0XHRcdFx0XHRwcm9taXNlcy5wdXNoKFxuXHRcdFx0XHRcdFx0XHRuZXcgUHJvbWlzZSgocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0c3Vic2NyaWJlci5jYWxsYmFjayh7IC4uLnN0YXRlLCBkZWx0YTogZGVsdGFbaV0gfHwgZGVsdGFbLTFdIH0pO1xuXHRcdFx0XHRcdFx0XHRcdHJlcygpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHByb21pc2VzLnB1c2goXG5cdFx0XHRcdFx0XHRcdG5ldyBQcm9taXNlKChyZXMpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRzdWJzY3JpYmVyLmNhbGxiYWNrKHsgLi4uc3RhdGUsIGRlbHRhIH0pO1xuXHRcdFx0XHRcdFx0XHRcdHJlcygpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcblx0XHR9O1xuXHR9XG5cblx0c3RhdGljIGNyZWF0ZUV2ZW50RmlyZXIoc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiwgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxOZ3RUZXN0Q2FudmFzPikge1xuXHRcdGxldCBhdXRvRGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xuXG5cdFx0YXN5bmMgZnVuY3Rpb24gZmlyZUV2ZW50KGVsOiBOZ3RJbnN0YW5jZU5vZGUsIGV2ZW50TmFtZToga2V5b2YgTmd0RXZlbnRIYW5kbGVycywgZXZlbnREYXRhOiBOZ3RBbnlSZWNvcmQgPSB7fSkge1xuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoZWwpO1xuXHRcdFx0aWYgKCFsb2NhbFN0YXRlKSB7XG5cdFx0XHRcdGNvbnNvbGUud2FybihgW05HVCBUZXN0XSAke2VsfSBoYXMgbm8gbG9jYWwgc3RhdGVgKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBoYW5kbGVyID0gbG9jYWxTdGF0ZS5oYW5kbGVyc1tldmVudE5hbWVdO1xuXHRcdFx0aWYgKCFoYW5kbGVyKSB7XG5cdFx0XHRcdGNvbnNvbGUud2FybihgW05HVCBUZXN0XSAke2VsfSBoYXMgbm8gJHtldmVudE5hbWV9IGhhbmRsZXJgKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCByYXljYXN0RXZlbnQgPSB7XG5cdFx0XHRcdGNhbWVyYTogc3RvcmUuc25hcHNob3QuY2FtZXJhLFxuXHRcdFx0XHRzdG9wUHJvcGFnYXRpb246ICgpID0+IHt9LFxuXHRcdFx0XHR0YXJnZXQ6IGVsLFxuXHRcdFx0XHRjdXJyZW50VGFyZ2V0OiBlbCxcblx0XHRcdFx0c291cmNlRXZlbnQ6IGV2ZW50RGF0YSxcblx0XHRcdFx0bmF0aXZlRXZlbnQ6IGV2ZW50RGF0YSxcblx0XHRcdFx0b2JqZWN0OiBlbCxcblx0XHRcdFx0ZXZlbnRPYmplY3Q6IGVsLFxuXHRcdFx0XHQuLi5ldmVudERhdGEsXG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBoYW5kbGVyKHJheWNhc3RFdmVudCBhcyBhbnkpO1xuXG5cdFx0XHRpZiAoYXV0b0RldGVjdENoYW5nZXMpIHtcblx0XHRcdFx0Zml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXG5cdFx0ZmlyZUV2ZW50LnNldEF1dG9EZXRlY3RDaGFuZ2VzID0gKGF1dG86IGJvb2xlYW4pID0+IHtcblx0XHRcdGF1dG9EZXRlY3RDaGFuZ2VzID0gYXV0bztcblx0XHR9O1xuXG5cdFx0cmV0dXJuIGZpcmVFdmVudDtcblx0fVxufVxuIl19
@@ -881,6 +881,19 @@ class NgtTestBed {
881
881
  destroy: fixture.componentInstance.destroy.bind(fixture.componentInstance),
882
882
  fireEvent: this.createEventFirer(store, fixture),
883
883
  advance: this.createAdvance(store),
884
+ toGraph: this.createToGraph(store),
885
+ };
886
+ }
887
+ static createToGraph(store) {
888
+ function graphify(type, name, children) {
889
+ return { type, name, children };
890
+ }
891
+ function toGraph(node) {
892
+ return node.children.map((child) => graphify(child.type, child.name || '', toGraph(child)));
893
+ }
894
+ return () => {
895
+ const state = store.snapshot;
896
+ return toGraph(state.scene);
884
897
  };
885
898
  }
886
899
  static createAdvance(store) {