UNPKG

@finbourne/lusid-sdk-angular6

Version:

An angular (6+) SDK for secure access to the LUSID® by FINBOURNE web API

65 lines (64 loc) 29.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** * @record */ export function RealisedGainLoss() { } /** * Unique instrument identifier * @type {?|undefined} */ RealisedGainLoss.prototype.instrumentUid; /** * Quantity against which gain has been made in units of the instrument * @type {?|undefined} */ RealisedGainLoss.prototype.units; /** * Date the position was originally purchased * @type {?|undefined} */ RealisedGainLoss.prototype.purchaseTradeDate; /** * Date the position originally settled * @type {?|undefined} */ RealisedGainLoss.prototype.purchaseSettlementDate; /** * Price the instrument was purchased at * @type {?|undefined} */ RealisedGainLoss.prototype.purchasePrice; /** * Purchase cost in the trade currency * @type {?|undefined} */ RealisedGainLoss.prototype.costTradeCcy; /** * Purchase cost in the trade currency * @type {?|undefined} */ RealisedGainLoss.prototype.costPortfolioCcy; /** * Gains or losses in the trade currency * @type {?|undefined} */ RealisedGainLoss.prototype.realisedTradeCcy; /** * Total gains or losses in the portfolio currency * @type {?|undefined} */ RealisedGainLoss.prototype.realisedTotal; /** * Market gains or losses in the portfolio currency * @type {?|undefined} */ RealisedGainLoss.prototype.realisedMarket; /** * Currency gains or losses in the portfolio currency * @type {?|undefined} */ RealisedGainLoss.prototype.realisedCurrency; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbGlzZWRHYWluTG9zcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaW5ib3VybmUvbHVzaWQtc2RrLWFuZ3VsYXI2LyIsInNvdXJjZXMiOlsibGliL2dlbmVyYXRlZC9tb2RlbC9yZWFsaXNlZEdhaW5Mb3NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTFVTSUQgQVBJXHJcbiAqICMgSW50cm9kdWN0aW9uICBUaGlzIHBhZ2UgZG9jdW1lbnRzIHRoZSBbTFVTSUQgQVBJc10oaHR0cHM6Ly9hcGkuZmluYm91cm5lLmNvbS9zd2FnZ2VyKSwgd2hpY2ggYWxsb3dzIGF1dGhvcmlzZWQgY2xpZW50cyB0byBxdWVyeSBhbmQgdXBkYXRlIHRoZWlyIGRhdGEgd2l0aGluIHRoZSBMVVNJRCBwbGF0Zm9ybS4gIFNES3MgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgTFVTSUQgQVBJcyBhcmUgYXZhaWxhYmxlIGluIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2VzIDogICogW0MjXShodHRwczovL2dpdGh1Yi5jb20vZmluYm91cm5lL2x1c2lkLXNkay1jc2hhcnApICogW0phdmFdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWphdmEpICogW0phdmFTY3JpcHRdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWpzKSAqIFtQeXRob25dKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLXB5dGhvbikgICMgRGF0YSBNb2RlbCAgVGhlIExVU0lEIEFQSSBoYXMgYSByZWxhdGl2ZWx5IGxpZ2h0d2VpZ2h0IGJ1dCBleHRyZW1lbHkgcG93ZXJmdWwgZGF0YSBtb2RlbC4gICBPbmUgb2YgdGhlIGdvYWxzIG9mIExVU0lEIHdhcyBub3QgdG8gZW5mb3JjZSBvbiBjbGllbnRzIGEgc2luZ2xlIHJpZ2lkIGRhdGEgbW9kZWwgYnV0IHJhdGhlciB0byBwcm92aWRlIGEgZmxleGlibGUgZm91bmRhdGlvbiBvbnRvIHdoaWNoIGNsaWVudHMgY2FuIHN0cmVhbWxpbmUgdGhlaXIgZGF0YS4gICBPbmUgb2YgdGhlIHByaW1hcnkgdG9vbHMgdG8gZXh0ZW5kIHRoZSBkYXRhIG1vZGVsIGlzIHRocm91Z2ggdXNpbmcgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhbW9uZ3N0IG90aGVyczogLSAqIFRyYW5zYWN0aW9ucyAqIEluc3RydW1lbnRzICogUG9ydGZvbGlvcyAgIFRoZSBMVVNJRCBkYXRhIG1vZGVsIGlzIGV4cG9zZWQgdGhyb3VnaCB0aGUgTFVTSUQgQVBJcy4gIFRoZSBBUElzIHByb3ZpZGUgYWNjZXNzIHRvIGJvdGggYnVzaW5lc3Mgb2JqZWN0cyBhbmQgdGhlIG1ldGEgZGF0YSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtcyBiZWhhdmlvdXJzLiAgIFRoZSBrZXkgYnVzaW5lc3MgZW50aXRpZXMgYXJlOiAtICogKipQb3J0Zm9saW9zKiogQSBwb3J0Zm9saW8gaXMgdGhlIHByaW1hcnkgY29udGFpbmVyIGZvciB0cmFuc2FjdGlvbnMgYW5kIGhvbGRpbmdzLiAgKiAqKkRlcml2ZWQgUG9ydGZvbGlvcyoqIERlcml2ZWQgcG9ydGZvbGlvcyBhbGxvdyBwb3J0Zm9saW9zIHRvIGJlIGNyZWF0ZWQgYmFzZWQgb24gb3RoZXIgcG9ydGZvbGlvcywgYnkgb3ZlcnJpZGluZyBvciBvdmVybGF5aW5nIHNwZWNpZmljIGl0ZW1zICogKipIb2xkaW5ncyoqIEEgaG9sZGluZyBpcyBhIHBvc2l0aW9uIGFjY291bnQgZm9yIGEgaW5zdHJ1bWVudCB3aXRoaW4gYSBwb3J0Zm9saW8uICBIb2xkaW5ncyBjYW4gb25seSBiZSBhZGp1c3RlZCB2aWEgdHJhbnNhY3Rpb25zLiAqICoqVHJhbnNhY3Rpb25zKiogQSBUcmFuc2FjdGlvbiBpcyBhIHNvdXJjZSBvZiB0cmFuc2FjdGlvbnMgdXNlZCB0byBtYW5pcHVsYXRlIGhvbGRpbmdzLiAgKiAqKkNvcnBvcmF0ZSBBY3Rpb25zKiogQSBjb3Jwb3JhdGUgYWN0aW9uIGlzIGEgbWFya2V0IGV2ZW50IHdoaWNoIG9jY3VycyB0byBhIGluc3RydW1lbnQsIGZvciBleGFtcGxlIGEgc3RvY2sgc3BsaXQgKiAqKkluc3RydW1lbnRzKiogIEEgaW5zdHJ1bWVudCByZXByZXNlbnRzIGEgY3VycmVuY3ksIHRyYWRhYmxlIGluc3RydW1lbnQgb3IgT1RDIGNvbnRyYWN0IHRoYXQgaXMgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbiBhbmQgYSBob2xkaW5nLiAqICoqUHJvcGVydGllcyoqIFNldmVyYWwgZW50aXRpZXMgYWxsb3cgYWRkaXRpb25hbCB1c2VyIGRlZmluZWQgcHJvcGVydGllcyB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlbS4gICBGb3IgZXhhbXBsZSwgYSBQb3J0Zm9saW8gbWFuYWdlciBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgcG9ydGZvbGlvICBNZXRhIGRhdGEgaW5jbHVkZXM6IC0gKiAqKlRyYW5zYWN0aW9uIFR5cGVzKiogVHJhbnNhY3Rpb25zIGFyZSBib29rZWQgd2l0aCBhIHNwZWNpZmljIHRyYW5zYWN0aW9uIHR5cGUuICBUaGUgdHlwZXMgYXJlIGNsaWVudCBkZWZpbmVkIGFuZCBhcmUgdXNlZCB0byBtYXAgdGhlIFRyYW5zYWN0aW9uIHRvIGEgc2VyaWVzIG9mIG1vdmVtZW50cyB3aGljaCB1cGRhdGUgdGhlIHBvcnRmb2xpbyBob2xkaW5ncy4gICogKipQcm9wZXJ0aWVzIFR5cGVzKiogVHlwZXMgb2YgdXNlciBkZWZpbmVkIHByb3BlcnRpZXMgdXNlZCB3aXRoaW4gdGhlIHN5c3RlbS4gIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGRhdGEgbW9kZWwgdGhhdCBMVVNJRCBleHBvc2VzIHZpYSB0aGUgQVBJcy4gICMjIFNjb3BlICBBbGwgZGF0YSBpbiBMVVNJRCBpcyBzZWdyZWdhdGVkIGF0IHRoZSBjbGllbnQgbGV2ZWwuICBFbnRpdGllcyBpbiBMVVNJRCBhcmUgaWRlbnRpZmlhYmxlIGJ5IGEgdW5pcXVlIGNvZGUuICBFdmVyeSBlbnRpdHkgbGl2ZXMgd2l0aGluIGEgbG9naWNhbCBkYXRhIHBhcnRpdGlvbiBrbm93biBhcyBhIFNjb3BlLiAgU2NvcGUgaXMgYW4gaWRlbnRpdHkgbmFtZXNwYWNlIGFsbG93aW5nIHR3byBlbnRpdGllcyB3aXRoIHRoZSBzYW1lIHVuaXF1ZSBjb2RlIHRvIGNvLWV4aXN0IHdpdGhpbiBpbmRpdmlkdWFsIGFkZHJlc3Mgc3BhY2VzLiAgRm9yIGV4YW1wbGUsIHByaWNlcyBmb3IgZXF1aXRpZXMgZnJvbSBkaWZmZXJlbnQgdmVuZG9ycyBtYXkgYmUgdXBsb2FkZWQgaW50byBkaWZmZXJlbnQgc2NvcGVzIHN1Y2ggYXMgYGNsaWVudC92ZW5kb3IxYCBhbmQgYGNsaWVudC92ZW5kb3IyYC4gIEEgcG9ydGZvbGlvIG1heSB0aGVuIGJlIHZhbHVlZCB1c2luZyBlaXRoZXIgb2YgdGhlIHByaWNlIHNvdXJjZXMgYnkgcmVmZXJlbmNpbmcgdGhlIGFwcHJvcHJpYXRlIHNjb3BlLiAgTFVTSUQgQ2xpZW50cyBjYW5ub3QgYWNjZXNzIHNjb3BlcyBvZiBvdGhlciBjbGllbnRzLiAgIyMgU2NoZW1hICBBIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBlbnRpdGllcyB1c2VkIGJ5IHRoZSBBUEkgYW5kIHBhcmFtZXRlcnMgZm9yIGVuZHBvaW50cyB3aGljaCB0YWtlIGEgSlNPTiBkb2N1bWVudCBjYW4gYmUgcmV0cmlldmVkIHZpYSB0aGUgYHNjaGVtYWAgZW5kcG9pbnQuICAjIyBJbnN0cnVtZW50cyAgTFVTSUQgaGFzIGl0cyBvd24gYnVpbHQtaW4gaW5zdHJ1bWVudCBtYXN0ZXIgd2hpY2ggeW91IGNhbiB1c2UgdG8gbWFzdGVyIHlvdXIgb3duIGluc3RydW1lbnQgdW5pdmVyc2UuICBFdmVyeSBpbnN0cnVtZW50IG11c3QgYmUgY3JlYXRlZCB3aXRoIG9uZSBvciBtb3JlIHVuaXF1ZSBtYXJrZXQgaWRlbnRpZmllcnMsIHN1Y2ggYXMgW0ZJR0ldKGh0dHBzOi8vb3BlbmZpZ2kuY29tLykgb3IgUklDIGNvZGUuIEZvciBhbnkgbm9uLWxpc3RlZCBpbnN0cnVtZW50cyAoZWcgT1RDcyksIHlvdSBjYW4gdXBsb2FkIGFuIGluc3RydW1lbnQgYWdhaW5zdCBhIGN1c3RvbSBJRCBvZiB5b3VyIGNob29zaW5nLiAgSW4gYWRkaXRpb24sIExVU0lEIHdpbGwgYWxsb2NhdGUgZWFjaCBpbnN0cnVtZW50IGEgdW5pcXVlICdMVVNJRCBpbnN0cnVtZW50IGlkZW50aWZpZXInLiBUaGUgTFVTSUQgaW5zdHJ1bWVudCBpZGVudGlmaWVyIGlzIHdoYXQgaXMgdXNlZCB3aGVuIHVwbG9hZGluZyB0cmFuc2FjdGlvbnMsIGhvbGRpbmdzLCBwcmljZXMsIGV0Yy4gVGhlIEFQSSBleHBvc2VzIGFuIGBpbnN0cnVtZW50L2xvb2t1cGAgZW5kcG9pbnQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gbG9va3VwIHRoZXNlIExVU0lEIGlkZW50aWZpZXJzIHVzaW5nIHRoZWlyIG1hcmtldCBpZGVudGlmaWVycy4gIENhc2ggY2FuIGJlIHJlZmVyZW5jZWQgdXNpbmcgdGhlIElTTyBjdXJyZW5jeSBjb2RlIHByZWZpeGVkIHdpdGggXFxcImBDQ1lfYFxcXCIgZS5nLiBgQ0NZX0dCUGAgICMjIEluc3RydW1lbnQgUHJpY2VzIChBbmFseXRpY3MpICBJbnN0cnVtZW50IHByaWNlcyBhcmUgc3RvcmVkIGluIExVU0lEJ3MgQW5hbHl0aWNzIFN0b3JlICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgfCBWYWx1ZXxkZWNpbWFsfFZhbHVlIG9mIHRoZSBhbmFseXRpYywgZWcgcHJpY2UgfCB8IERlbm9taW5hdGlvbnxzdHJpbmd8VW5kZXJseWluZyB1bml0IG9mIHRoZSBhbmFseXRpYywgZWcgY3VycmVuY3ksIEVQUyBldGMuIHwgICAjIyBJbnN0cnVtZW50IERhdGEgIEluc3RydW1lbnQgZGF0YSBjYW4gYmUgdXBsb2FkZWQgdG8gdGhlIHN5c3RlbSB1c2luZyB0aGUgW0luc3RydW1lbnQgUHJvcGVydGllc10oI3RhZy9JbnN0cnVtZW50UHJvcGVydGllcykgZW5kcG9pbnQuICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgICAjIyBQb3J0Zm9saW9zICBQb3J0Zm9saW9zIGFyZSB0aGUgdG9wLWxldmVsIGVudGl0eSBjb250YWluZXJzIHdpdGhpbiBMVVNJRCwgY29udGFpbmluZyB0cmFuc2FjdGlvbnMsIGNvcnBvcmF0ZSBhY3Rpb25zIGFuZCBob2xkaW5ncy4gICAgVGhlIHRyYW5zYWN0aW9ucyBidWlsZCB1cCB0aGUgcG9ydGZvbGlvIGhvbGRpbmdzIG9uIHdoaWNoIHZhbHVhdGlvbnMsIGFuYWx5dGljcyBwcm9maXQgJiBsb3NzIGFuZCByaXNrIGNhbiBiZSBjYWxjdWxhdGVkLiAgICAgUHJvcGVydGllcyBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIFBvcnRmb2xpb3MgdG8gYWRkIGluIGFkZGl0aW9uYWwgbW9kZWwgZGF0YS4gIFBvcnRmb2xpbyBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkIG92ZXIgdGltZSBhcyB3ZWxsLiAgRm9yIGV4YW1wbGUsIHRvIGFsbG93IGEgUG9ydGZvbGlvIE1hbmFnZXIgdG8gYmUgbGlua2VkIHdpdGggYSBQb3J0Zm9saW8uICBBZGRpdGlvbmFsbHksIHBvcnRmb2xpb3MgY2FuIGJlIHNlY3VyaXRpc2VkIGFuZCBoZWxkIGJ5IG90aGVyIHBvcnRmb2xpb3MsIGFsbG93aW5nIExVU0lEIHRvIHBlcmZvcm0gXFxcImRyaWxsLXRocm91Z2hcXFwiIGludG8gdW5kZXJseWluZyBmdW5kIGhvbGRpbmdzICAjIyMgUmVmZXJlbmNlIFBvcnRmb2xpb3MgUmVmZXJlbmNlIHBvcnRmb2xpb3MgYXJlIHBvcnRmb2xpb3MgdGhhdCBjb250YWluIG9ubHkgd2VpZ2h0cywgYXMgb3Bwb3NlZCB0byB0cmFuc2FjdGlvbnMsIGFuZCBhcmUgZGVzaWduZWQgdG8gcmVwcmVzZW50IGVudGl0aWVzIHN1Y2ggYXMgaW5kaWNlcy4gICMjIyBEZXJpdmVkIFBvcnRmb2xpb3MgIExVU0lEIGFsc28gYWxsb3dzIGZvciBhIHBvcnRmb2xpbyB0byBiZSBjb21wb3NlZCBvZiBhbm90aGVyIHBvcnRmb2xpbyB2aWEgZGVyaXZlZCBwb3J0Zm9saW9zLiAgQSBkZXJpdmVkIHBvcnRmb2xpbyBjYW4gY29udGFpbiBpdHMgb3duIHRyYW5zYWN0aW9ucyBhbmQgYWxzbyBpbmhlcml0cyBhbnkgdHJhbnNhY3Rpb25zIGZyb20gaXRzIHBhcmVudCBwb3J0Zm9saW8uICBBbnkgY2hhbmdlcyBtYWRlIHRvIHRoZSBwYXJlbnQgcG9ydGZvbGlvIGFyZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiBkZXJpdmVkIHBvcnRmb2xpby4gIERlcml2ZWQgcG9ydGZvbGlvcyBpbiBjb25qdW5jdGlvbiB3aXRoIHNjb3BlcyBhcmUgYSBwb3dlcmZ1bCBjb25zdHJ1Y3QuICBGb3IgZXhhbXBsZSwgdG8gZG8gcHJlLXRyYWRlIHdoYXQtaWYgYW5hbHlzaXMsIGEgZGVyaXZlZCBwb3J0Zm9saW8gY291bGQgYmUgY3JlYXRlZCBhIG5ldyBuYW1lc3BhY2UgbGlua2VkIHRvIHRoZSB1bmRlcmx5aW5nIGxpdmUgKHBhcmVudCkgcG9ydGZvbGlvLiAgQW5hbHlzaXMgY2FuIHRoZW4gYmUgdW5kZXJ0YWtlbiBvbiB0aGUgZGVyaXZlZCBwb3J0Zm9saW8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGxpdmUgcG9ydGZvbGlvLiAgIyMjIFBvcnRmb2xpbyBHcm91cHMgUG9ydGZvbGlvIGdyb3VwcyBhbGxvdyB0aGUgY29uc3RydWN0aW9uIG9mIGEgaGllcmFyY2h5IGZyb20gcG9ydGZvbGlvcyBhbmQgZ3JvdXBzLiAgUG9ydGZvbGlvIG9wZXJhdGlvbnMgb24gdGhlIGdyb3VwIGFyZSBleGVjdXRlZCBvbiBhbiBhZ2dyZWdhdGVkIHNldCBvZiBwb3J0Zm9saW9zIGluIHRoZSBoaWVyYXJjaHkuICAgRm9yIGV4YW1wbGU6ICAgKiBHbG9iYWwgUG9ydGZvbGlvcyBfKGdyb3VwKV8gICAqIEFQQUMgXyhncm91cClfICAgICAqIEhvbmcgS29uZyBfKHBvcnRmb2xpbylfICAgICAqIEphcGFuIF8ocG9ydGZvbGlvKV8gICAqIEV1cm9wZSBfKGdyb3VwKV8gICAgICogRnJhbmNlIF8ocG9ydGZvbGlvKV8gICAgICogR2VybWFueSBfKHBvcnRmb2xpbylfICAgKiBVSyBfKHBvcnRmb2xpbylfICAgSW4gdGhpcyBleGFtcGxlICoqR2xvYmFsIFBvcnRmb2xpb3MqKiBpcyBhIGdyb3VwIHRoYXQgY29uc2lzdHMgb2YgYW4gYWdncmVnYXRlIG9mICoqSG9uZyBLb25nKiosICoqSmFwYW4qKiwgKipGcmFuY2UqKiwgKipHZXJtYW55KiogYW5kICoqVUsqKiBwb3J0Zm9saW9zLiAgIyMjIE1vdmVtZW50cyBFbmdpbmUgVGhlIE1vdmVtZW50cyBlbmdpbmUgc2l0cyBvbiB0b3Agb2YgdGhlIGltbXV0YWJsZSBldmVudCBzdG9yZSBhbmQgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGlucHV0IHRyYWRpbmcgYWN0aW9ucyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBwb3J0Zm9saW8gaG9sZGluZ3MuICAgICBUaGUgbW92ZW1lbnRzIGVuZ2luZSByZWFkcyBpbiB0aGUgZm9sbG93aW5nIGVudGl0eSB0eXBlczotICogUG9zdGluZyBUcmFuc2FjdGlvbnMgKiBBcHBseWluZyBDb3Jwb3JhdGUgQWN0aW9ucyAgKiBIb2xkaW5nIEFkanVzdG1lbnRzICBUaGVzZSBhcmUgY29udmVydGVkIHRvIG9uZSBvciBtb3JlIG1vdmVtZW50cyBhbmQgdXNlZCBieSB0aGUgbW92ZW1lbnRzIGVuZ2luZSB0byBjYWxjdWxhdGUgaG9sZGluZ3MuICBBdCB0aGUgc2FtZSB0aW1lIGl0IGFsc28gY2FsY3VsYXRlcyBydW5uaW5nIGJhbGFuY2VzLCBhbmQgcmVhbGlzZWQgUCZMLiAgVGhlIG91dHB1dHMgZnJvbSB0aGUgbW92ZW1lbnRzIGVuZ2luZSBhcmUgaG9sZGluZ3MgYW5kIHRyYW5zYWN0aW9ucy4gICMjIFRyYW5zYWN0aW9ucyAgQSB0cmFuc2FjdGlvbiByZXByZXNlbnRzIGFuIGVjb25vbWljIGFjdGl2aXR5IGFnYWluc3QgYSBQb3J0Zm9saW8uICBUcmFuc2FjdGlvbnMgYXJlIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gYSBjb25maWd1cmF0aW9uLiBUaGlzIHdpbGwgdGVsbCB0aGUgTFVTSUQgZW5naW5lIGhvdyB0byBpbnRlcnByZXQgdGhlIHRyYW5zYWN0aW9uIGFuZCBjb3JyZWN0bHkgdXBkYXRlIHRoZSBob2xkaW5ncy4gTFVTSUQgY29tZXMgd2l0aCBhIHNldCBvZiB0cmFuc2FjdGlvbiB0eXBlcyB5b3UgY2FuIHVzZSBvdXQgb2YgdGhlIGJveCwgb3IgeW91IGNhbiBjb25maWd1cmUgeW91ciBvd24gc2V0KHMpIG9mIHRyYW5zYWN0aW9ucy4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHRoZSBbTFVTSUQgR2V0dGluZyBTdGFydGVkIEd1aWRlIGZvciB0cmFuc2FjdGlvbiBjb25maWd1cmF0aW9uLl0oaHR0cHM6Ly9zdXBwb3J0LmZpbmJvdXJuZS5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMzYwMDE2NzM3NTExLUNvbmZpZ3VyaW5nLVRyYW5zYWN0aW9uLVR5cGVzKSAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgVHJhbnNhY3Rpb25JZHxzdHJpbmd8VW5pcXVlIHRyYW5zYWN0aW9uIGlkZW50aWZpZXIgfCB8IFR5cGV8c3RyaW5nfExVU0lEIHRyYW5zYWN0aW9uIHR5cGUgY29kZSAtIEJ1eSwgU2VsbCwgU3RvY2tJbiwgU3RvY2tPdXQsIGV0YyB8IHwgSW5zdHJ1bWVudFVpZHxzdHJpbmd8VW5pcXVlIGluc3RydW1lbnQgaWRlbnRpZmllciB8IHwgVHJhbnNhY3Rpb25EYXRlfGRhdGV0aW1lfFRyYW5zYWN0aW9uIGRhdGUgfCB8IFNldHRsZW1lbnREYXRlfGRhdGV0aW1lfFNldHRsZW1lbnQgZGF0ZSB8IHwgVW5pdHN8ZGVjaW1hbHxRdWFudGl0eSBvZiB0cmFuc2FjdGlvbiBpbiB1bml0cyBvZiB0aGUgaW5zdHJ1bWVudCB8IHwgVHJhbnNhY3Rpb25QcmljZXx0cmFkZXByaWNlfEV4ZWN1dGlvbiBwcmljZSBmb3IgdGhlIHRyYW5zYWN0aW9uIHwgfCBUb3RhbENvbnNpZGVyYXRpb258Y3VycmVuY3lhbmRhbW91bnR8VG90YWwgdmFsdWUgb2YgdGhlIHRyYW5zYWN0aW9uIHwgfCBFeGNoYW5nZVJhdGV8ZGVjaW1hbHxSYXRlIGJldHdlZW4gdHJhbnNhY3Rpb24gYW5kIHNldHRsZSBjdXJyZW5jeSB8IHwgVHJhbnNhY3Rpb25DdXJyZW5jeXxjdXJyZW5jeXxUcmFuc2FjdGlvbiBjdXJyZW5jeSB8IHwgQ291bnRlcnBhcnR5SWR8c3RyaW5nfENvdW50ZXJwYXJ0eSBpZGVudGlmaWVyIHwgfCBTb3VyY2V8c3RyaW5nfFdoZXJlIHRoaXMgdHJhbnNhY3Rpb24gY2FtZSBmcm9tIHwgfCBOZXR0aW5nU2V0fHN0cmluZ3wgIHwgICAjIyMgRXhhbXBsZSBUcmFuc2FjdGlvbnMgICMjIyMgQSBDb21tb24gUHVyY2hhc2UgRXhhbXBsZSBUaHJlZSBleGFtcGxlIHRyYW5zYWN0aW9ucyBhcmUgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LiAgIFRoZXkgcmVwcmVzZW50IGEgcHVyY2hhc2Ugb2YgVVNEIGRlbm9taW5hdGVkIElCTSBzaGFyZXMgd2l0aGluIGEgU3RlcmxpbmcgZGVub21pbmF0ZWQgcG9ydGZvbGlvLiAgICogVGhlIGZpcnN0IHR3byB0cmFuc2FjdGlvbnMgYXJlIGZvciBzZXBhcmF0ZSBidXkgYW5kIGZ4IHRyYWRlcyAgICAqIEJ1eWluZyA1MDAgSUJNIHNoYXJlcyBmb3IgJDcxLDQ4MC4wMCAgICAqIEEgZm9yZWlnbiBleGNoYW5nZSBjb252ZXJzaW9uIHRvIGZ1bmQgdGhlIElCTSBwdXJjaGFzZS4gKEJ1eSAkNzEsNDgwLjAwIGZvciAmIzE2Mzs1NCw4NDYuNjApICAqIFRoZSB0aGlyZCB0cmFuc2FjdGlvbiBpcyBhbiBhbHRlcm5hdGUgdmVyc2lvbiBvZiB0aGUgYWJvdmUgdHJhZGVzLiBCdXlpbmcgNTAwIElCTSBzaGFyZXMgYW5kIHNldHRsaW5nIGRpcmVjdGx5IGluIFN0ZXJsaW5nLiAgfCBDb2x1bW4gfCAgQnV5IFRyYWRlIHwgRnggVHJhZGUgfCBCdXkgVHJhZGUgd2l0aCBmb3JlaWduIFNldHRsZW1lbnQgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IC0tLS0tIHwgfCBUcmFuc2FjdGlvbklkIHwgRkJOMDAwMDEgfCBGQk4wMDAwMiB8IEZCTjAwMDAzIHwgfCBUeXBlIHwgQnV5IHwgRnhCdXkgfCBCdXkgfCB8IEluc3RydW1lbnRVaWQgfCBGSUdJX0JCRzAwMEJMTk5INiB8IENDWV9VU0QgfCBGSUdJX0JCRzAwMEJMTk5INiB8IHwgVHJhbnNhY3Rpb25EYXRlIHwgMjAxOC0wOC0wMiB8IDIwMTgtMDgtMDIgfCAyMDE4LTA4LTAyIHwgfCBTZXR0bGVtZW50RGF0ZSB8IDIwMTgtMDgtMDYgfCAyMDE4LTA4LTA2IHwgMjAxOC0wOC0wNiB8IHwgVW5pdHMgfCA1MDAgfCA3MTQ4MCB8IDUwMCB8IHwgVHJhbnNhY3Rpb25QcmljZSB8IDE0Mi45NiB8IDEgfCAxNDIuOTYgfCB8IFRyYWRlQ3VycmVuY3kgfCBVU0QgfCBVU0QgfCBVU0QgfCB8IEV4Y2hhbmdlUmF0ZSB8IDEgfCAwLjc2NzMgfCAwLjc2NzMgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5BbW91bnQgfCA3MTQ4MC4wMCB8IDU0ODQ2LjYwIHwgNTQ4NDYuNjAgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5DdXJyZW5jeSB8IFVTRCB8IEdCUCB8IEdCUCB8IHwgVHJhZGUvZGVmYXVsdC9UcmFkZVRvUG9ydGZvbGlvUmF0ZSZhc3Q7IHwgMC43NjczIHwgMC43NjczIHwgMC43NjczIHwgIFsmYXN0OyBUaGlzIGlzIGEgcHJvcGVydHkgZmllbGRdICAjIyMjIEEgRm9yd2FyZCBGWCBFeGFtcGxlICBMVVNJRCBoYXMgYSBmbGV4aWJsZSB0cmFuc2FjdGlvbiBtb2RlbGxpbmcgc3lzdGVtLCBhbmQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGRpZmZlcmVudCB3YXlzIG9mIG1vZGVsbGluZyBmb3J3YXJkIGZ4IHRyYWRlcy4gIFRoZSBkZWZhdWx0IExVU0lEIHRyYW5zYWN0aW9uIHR5cGVzIGFyZSBGd2RGeEJ1eSBhbmQgRndkRnhTZWxsLiBPdGhlciB0eXBlcyBhbmQgYmVoYXZpb3VycyBjYW4gYmUgY29uZmlndXJlZCBhcyByZXF1aXJlZC4gIFVzaW5nIHRoZXNlIHRyYW5zYWN0aW9uIHR5cGVzLCB0aGUgaG9sZGluZ3MgcXVlcnkgd2lsbCByZXBvcnQgdHdvIGZvcndhcmQgcG9zaXRpb25zLiBPbmUgaW4gZWFjaCBjdXJyZW5jeS4gICBTaW5jZSBhbiBGWCB0cmFkZSBpcyBhbiBleGNoYW5nZSBvZiBvbmUgY3VycmVuY3kgZm9yIGFub3RoZXIsIHRoZSBmb2xsb3dpbmcgdHdvIDYgbW9udGggZm9yd2FyZCB0cmFuc2FjdGlvbnMgYXJlIGVxdWl2YWxlbnQ6ICB8IENvbHVtbiB8ICBGb3J3YXJkICdTZWxsJyBUcmFkZSB8IEZvcndhcmQgJ0J1eScgVHJhZGUgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IHwgVHJhbnNhY3Rpb25JZCB8IEZCTjAwMDA0IHwgRkJOMDAwMDUgfCB8IFR5cGUgfCBGd2RGeFNlbGwgfCBGd2RGeEJ1eSB8IHwgSW5zdHJ1bWVudFVpZCB8IENDWV9HQlAgfCBDQ1lfVVNEIHwgfCBUcmFuc2FjdGlvbkRhdGUgfCAyMDE4LTA4LTAyIHwgMjAxOC0wOC0wMiB8IHwgU2V0dGxlbWVudERhdGUgfCAyMDE5LTAyLTA2IHwgMjAxOS0wMi0wNiB8IHwgVW5pdHMgfCAxMDAwMC4wMCB8IDEzMTQyLjAwIHwgfCBUcmFuc2FjdGlvblByaWNlIHwxIHwgMSB8IHwgVHJhZGVDdXJyZW5jeSB8IEdCUCB8IFVTRCB8IHwgRXhjaGFuZ2VSYXRlIHwgMS4zMTQyIHwgMC43NjA5MTkgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5BbW91bnQgfCAxMzE0Mi4wMCB8IDEwMDAwLjAwIHwgfCBUb3RhbENvbnNpZGVyYXRpb24uQ3VycmVuY3kgfCBVU0QgfCBHQlAgfCB8IFRyYWRlL2RlZmF1bHQvVHJhZGVUb1BvcnRmb2xpb1JhdGUgfCAxLjAgfCAwLjc2MDkxOSB8ICAjIyBIb2xkaW5ncyAgQSBob2xkaW5nIHJlcHJlc2VudHMgYSBwb3NpdGlvbiBpbiBhIGluc3RydW1lbnQgb3IgY2FzaCBvbiBhIGdpdmVuIGRhdGUuICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgfCBIb2xkaW5nVHlwZXxzdHJpbmd8VHlwZSBvZiBob2xkaW5nLCBlZyBQb3NpdGlvbiwgQmFsYW5jZSwgQ2FzaENvbW1pdG1lbnQsIFJlY2VpdmFibGUsIEZvcndhcmRGWCB8IHwgVW5pdHN8ZGVjaW1hbHxRdWFudGl0eSBvZiBob2xkaW5nIHwgfCBTZXR0bGVkVW5pdHN8ZGVjaW1hbHxTZXR0bGVkIHF1YW50aXR5IG9mIGhvbGRpbmcgfCB8IENvc3R8Y3VycmVuY3lhbmRhbW91bnR8Qm9vayBjb3N0IG9mIGhvbGRpbmcgaW4gdHJhbnNhY3Rpb24gY3VycmVuY3kgfCB8IENvc3RQb3J0Zm9saW9DY3l8Y3VycmVuY3lhbmRhbW91bnR8Qm9vayBjb3N0IG9mIGhvbGRpbmcgaW4gcG9ydGZvbGlvIGN1cnJlbmN5IHwgfCBUcmFuc2FjdGlvbnxUcmFuc2FjdGlvbkR0b3xJZiB0aGlzIGlzIGNvbW1pdG1lbnQtdHlwZSBob2xkaW5nLCB0aGUgdHJhbnNhY3Rpb24gYmVoaW5kIGl0IHwgICAjIyBDb3Jwb3JhdGUgQWN0aW9ucyAgQ29ycG9yYXRlIGFjdGlvbnMgYXJlIHJlcHJlc2VudGVkIHdpdGhpbiBMVVNJRCBpbiB0ZXJtcyBvZiBhIHNldCBvZiBpbnN0cnVtZW50LXNwZWNpZmljICd0cmFuc2l0aW9ucycuICBUaGVzZSB0cmFuc2l0aW9ucyBhcmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBwYXJ0aWNpcGFudHMgb2YgdGhlIGNvcnBvcmF0ZSBhY3Rpb24sIGFuZCB0aGUgZWZmZWN0IHRoYXQgdGhlIGNvcnBvcmF0ZSBhY3Rpb24gd2lsbCBoYXZlIG9uIGhvbGRpbmdzIGluIHRob3NlIHBhcnRpY2lwYW50cy4gICpDb3Jwb3JhdGUgYWN0aW9uKiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgU291cmNlSWR8aWR8ICB8IHwgQ29ycG9yYXRlQWN0aW9uQ29kZXxjb2RlfCAgfCB8IEFubm91bmNlbWVudERhdGV8ZGF0ZXRpbWV8ICB8IHwgRXhEYXRlfGRhdGV0aW1lfCAgfCB8IFJlY29yZERhdGV8ZGF0ZXRpbWV8ICB8IHwgUGF5bWVudERhdGV8ZGF0ZXRpbWV8ICB8ICAgICpUcmFuc2l0aW9uKiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8ICAgIyMgUHJvcGVydHkgIFByb3BlcnRpZXMgYXJlIGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGFueSBlbnRpdHkgd2l0aGluIGEgZG9tYWluICh3aGVyZSBhIGRvbWFpbiBpcyBgdHJhZGVgLCBgcG9ydGZvbGlvYCwgYHNlY3VyaXR5YCBldGMpLiAgUHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHVzZSB3aXRoIGEgYFByb3BlcnR5RGVmaW5pdGlvbmAgYW5kIGNhbiB0aGVuIHN1YnNlcXVlbnRseSBiZSBhZGRlZCB0byBlbnRpdGllcy4gICMgU2NoZW1hcyAgVGhlIGZvbGxvd2luZyBoZWFkZXJzIGFyZSByZXR1cm5lZCBvbiBhbGwgcmVzcG9uc2VzIGZyb20gTFVTSUQgIHwgTmFtZSB8IFB1cnBvc2UgfCB8IC0tLSB8IC0tLSB8IHwgbHVzaWQtbWV0YS1kdXJhdGlvbiB8IER1cmF0aW9uIG9mIHRoZSByZXF1ZXN0IHwgfCBsdXNpZC1tZXRhLXN1Y2Nlc3MgfCBXaGV0aGVyIG9yIG5vdCBMVVNJRCBjb25zaWRlcmVkIHRoZSByZXF1ZXN0IHRvIGJlIHN1Y2Nlc3NmdWwgfCB8IGx1c2lkLW1ldGEtcmVxdWVzdElkIHwgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcmVxdWVzdCB8IHwgbHVzaWQtc2NoZW1hLXVybCB8IFVybCBvZiB0aGUgc2NoZW1hIGZvciB0aGUgZGF0YSBiZWluZyByZXR1cm5lZCB8IHwgbHVzaWQtcHJvcGVydHktc2NoZW1hLXVybCB8IFVybCBvZiB0aGUgc2NoZW1hIGZvciBhbnkgcHJvcGVydGllcyB8ICAjIEVycm9yIENvZGVzICB8IENvZGV8TmFtZXxEZXNjcmlwdGlvbiB8IHwgLS0tfC0tLXwtLS0gfCB8IDxhIG5hbWU9XFxcIjEwMFxcXCI+MTAwPC9hPnxQZXJzb25hbGlzYXRpb25zIG5vdCBmb3VuZHxUaGUgcGVyc29uYWxpc2F0aW9uKHMpIGlkZW50aWZpZWQgYnkgdGhlIHBhdHRlcm4gcHJvdmlkZWQgY291bGQgbm90IGJlIGZvdW5kLCBlaXRoZXIgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdCBvciBpdCBoYXMgYmVlbiBkZWxldGVkLiBQbGVhc2UgY2hlY2sgdGhlIHBhdHRlcm4geW91ciBwcm92aWRlZC4gfCB8IDxhIG5hbWU9XFxcIjEwMVxcXCI+MTAxPC9hPnxOb25SZWN1cnNpdmVQZXJzb25hbGlzYXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMTAyXFxcIj4xMDI8L2E+fFZlcnNpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDRcXFwiPjEwNDwvYT58SW5zdHJ1bWVudE5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNVxcXCI+MTA1PC9hPnxQcm9wZXJ0eU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNlxcXCI+MTA2PC9hPnxQb3J0Zm9saW9SZWN1cnNpb25EZXB0aHwgIHwgfCA8YSBuYW1lPVxcXCIxMDhcXFwiPjEwODwvYT58R3JvdXBOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDlcXFwiPjEwOTwvYT58UG9ydGZvbGlvTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEwXFxcIj4xMTA8L2E+fFByb3BlcnR5U2NoZW1hTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTExXFxcIj4xMTE8L2E+fFBvcnRmb2xpb0FuY2VzdHJ5Tm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEyXFxcIj4xMTI8L2E+fFBvcnRmb2xpb1dpdGhJZEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTEzXFxcIj4xMTM8L2E+fE9ycGhhbmVkUG9ydGZvbGlvfCAgfCB8IDxhIG5hbWU9XFxcIjExOVxcXCI+MTE5PC9hPnxNaXNzaW5nQmFzZUNsYWltc3wgIHwgfCA8YSBuYW1lPVxcXCIxMjFcXFwiPjEyMTwvYT58UHJvcGVydHlOb3REZWZpbmVkfCAgfCB8IDxhIG5hbWU9XFxcIjEyMlxcXCI+MTIyPC9hPnxDYW5ub3REZWxldGVTeXN0ZW1Qcm9wZXJ0eXwgIHwgfCA8YSBuYW1lPVxcXCIxMjNcXFwiPjEyMzwvYT58Q2Fubm90TW9kaWZ5SW1tdXRhYmxlUHJvcGVydHlGaWVsZHwgIHwgfCA8YSBuYW1lPVxcXCIxMjRcXFwiPjEyNDwvYT58UHJvcGVydHlBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjEyNVxcXCI+MTI1PC9hPnxJbnZhbGlkUHJvcGVydHlMaWZlVGltZXwgIHwgfCA8YSBuYW1lPVxcXCIxMjdcXFwiPjEyNzwvYT58Q2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEyOFxcXCI+MTI4PC9hPnxHcm91cEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTI5XFxcIj4xMjk8L2E+fE5vU3VjaERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEzMlxcXCI+MTMyPC9hPnxWYWxpZGF0aW9uRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTMzXFxcIj4xMzM8L2E+fExvb3BEZXRlY3RlZEluR3JvdXBIaWVyYXJjaHl8ICB8IHwgPGEgbmFtZT1cXFwiMTM1XFxcIj4xMzU8L2E+fFN1Ykdyb3VwQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxMzhcXFwiPjEzODwvYT58UHJpY2VTb3VyY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMzlcXFwiPjEzOTwvYT58QW5hbHl0aWNTdG9yZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjE0MVxcXCI+MTQxPC9hPnxBbmFseXRpY1N0b3JlQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxNDNcXFwiPjE0MzwvYT58Q2xpZW50SW5zdHJ1bWVudEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTQ0XFxcIj4xNDQ8L2E+fER1cGxpY2F0ZUluUGFyYW1ldGVyU2V0fCAgfCB8IDxhIG5hbWU9XFxcIjE0N1xcXCI+MTQ3PC9hPnxSZXN1bHRzTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTQ4XFxcIj4xNDg8L2E+fE9yZGVyRmllbGROb3RJblJlc3VsdFNldHwgIHwgfCA8YSBuYW1lPVxcXCIxNDlcXFwiPjE0OTwvYT58T3BlcmF0aW9uRmFpbGVkfCAgfCB8IDxhIG5hbWU9XFxcIjE1MFxcXCI+MTUwPC9hPnxFbGFzdGljU2VhcmNoRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTUxXFxcIj4xNTE8L2E+fEludmFsaWRQYXJhbWV0ZXJWYWx1ZXwgIHwgfCA8YSBuYW1lPVxcXCIxNTNcXFwiPjE1MzwvYT58Q29tbWFuZFByb2Nlc3NpbmdGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1NFxcXCI+MTU0PC9hPnxFbnRpdHlTdGF0ZUNvbnN0cnVjdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU1XFxcIj4xNTU8L2E+fEVudGl0eVRpbWVsaW5lRG9lc05vdEV4aXN0fCAgfCB8IDxhIG5hbWU9XFxcIjE1NlxcXCI+MTU2PC9hPnxFdmVudFB1Ymxpc2hGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1N1xcXCI+MTU3PC9hPnxJbnZhbGlkUmVxdWVzdEZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU4XFxcIj4xNTg8L2E+fEV2ZW50UHVibGlzaFVua25vd258ICB8IHwgPGEgbmFtZT1cXFwiMTU5XFxcIj4xNTk8L2E+fEV2ZW50UXVlcnlGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MFxcXCI+MTYwPC9hPnxCbG9iRGlkTm90RXhpc3RGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MlxcXCI+MTYyPC9hPnxTdWJTeXN0ZW1SZXF1ZXN0RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjNcXFwiPjE2MzwvYT58U3ViU3lzdGVtQ29uZmlndXJhdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTY1XFxcIj4xNjU8L2E+fEZhaWxlZFRvRGVsZXRlfCAgfCB8IDxhIG5hbWU9XFxcIjE2NlxcXCI+MTY2PC9hPnxVcHNlcnRDbGllbnRJbnN0cnVtZW50RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjdcXFwiPjE2NzwvYT58SWxsZWdhbEFzQXRJbnRlcnZhbHwgIHwgfCA8YSBuYW1lPVxcXCIxNjhcXFwiPjE2ODwvYT58SWxsZWdhbEJpdGVtcG9yYWxRdWVyeXwgIHwgfCA8YSBuYW1lPVxcXCIxNjlcXFwiPjE2OTwvYT58SW52YWxpZEFsdGVybmF0ZUlkfCAgfCB8IDxhIG5hbWU9XFxcIjE3MFxcXCI+MTcwPC9hPnxDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHl8ICB8IHwgPGEgbmFtZT1cXFwiMTcxXFxcIj4xNzE8L2E+fEVudGl0eUFscmVhZHlFeGlzdHNJbkdyb3VwfCAgfCB8IDxhIG5hbWU9XFxcIjE3M1xcXCI+MTczPC9hPnxFbnRpdHlXaXRoSWRBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjE3NFxcXCI+MTc0PC9hPnxQb3J0Zm9saW9EZXRhaWxzRG9Ob3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCIxNzZcXFwiPjE3NjwvYT58UG9ydGZvbGlvV2l0aE5hbWVBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjE3N1xcXCI+MTc3PC9hPnxJbnZhbGlkVHJhbnNhY3Rpb25zfCAgfCB8IDxhIG5hbWU9XFxcIjE3OFxcXCI+MTc4PC9hPnxSZWZlcmVuY2VQb3J0Zm9saW9Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxNzlcXFwiPjE3OTwvYT58RHVwbGljYXRlSWRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE4MFxcXCI+MTgwPC9hPnxDb21tYW5kUmV0cmlldmFsRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODFcXFwiPjE4MTwvYT58RGF0YUZpbHRlckFwcGxpY2F0aW9uRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODJcXFwiPjE4MjwvYT58U2VhcmNoRmFpbGVkfCAgfCB8IDxhIG5hbWU9XFxcIjE4M1xcXCI+MTgzPC9hPnxNb3ZlbWVudHNFbmdpbmVDb25maWd1cmF0aW9uS2V5RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODRcXFwiPjE4NDwvYT58RnhSYXRlU291cmNlTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTg1XFxcIj4xODU8L2E+fEFjY3J1YWxTb3VyY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxODZcXFwiPjE4NjwvYT58RW50aXRsZW1lbnRzRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODdcXFwiPjE4NzwvYT58SW52YWxpZElkZW50aXR5VG9rZW58ICB8IHwgPGEgbmFtZT1cXFwiMTg4XFxcIj4xODg8L2E+fEludmFsaWRSZXF1ZXN0SGVhZGVyc3wgIHwgfCA8YSBuYW1lPVxcXCIxODlcXFwiPjE4OTwvYT58UHJpY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTBcXFwiPjE5MDwvYT58SW52YWxpZFN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkxXFxcIj4xOTE8L2E+fER1cGxpY2F0ZVN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkyXFxcIj4xOTI8L2E+fEN1dERlZmluaXRpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTNcXFwiPjE5MzwvYT58Q3V0RGVmaW5pdGlvbkludmFsaWR8ICB8IHwgPGEgbmFtZT1cXFwiMjAwXFxcIj4yMDA8L2E+fEludmFsaWRVbml0Rm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAxXFxcIj4yMDE8L2E+fEludmFsaWRUeXBlRm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAyXFxcIj4yMDI8L2E+fEludmFsaWRWYWx1ZUZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwM1xcXCI+MjAzPC9hPnxVbml0Tm90RGVmaW5lZEZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwNFxcXCI+MjA0PC9hPnxVbml0c05vdFN1cHBvcnRlZE9uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA1XFxcIj4yMDU8L2E+fENhbm5vdFNwZWNpZnlVbml0c09uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA2XFxcIj4yMDY8L2E+fFVuaXRTY2hlbWFJbmNvbnNpc3RlbnRXaXRoRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA3XFxcIj4yMDc8L2E+fFVuaXREZWZpbml0aW9uTm90U3BlY2lmaWVkfCAgfCB8IDxhIG5hbWU9XFxcIjIwOFxcXCI+MjA4PC9hPnxEdXBsaWNhdGVVbml0RGVmaW5pdGlvbnNTcGVjaWZpZWR8ICB8IHwgPGEgbmFtZT1cXFwiMjA5XFxcIj4yMDk8L2E+fEludmFsaWRVbml0c0RlZmluaXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMjEwXFxcIj4yMTA8L2E+fEludmFsaWRJbnN0cnVtZW50SWRlbnRpZmllclVuaXR8ICB8IHwgPGEgbmFtZT1cXFwiMjExXFxcIj4yMTE8L2E+fEhvbGRpbmdzQWRqdXN0bWVudERvZXNOb3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCIyMTJcXFwiPjIxMjwvYT58Q291bGROb3RCdWlsZEV4Y2VsVXJsfCAgfCB8IDxhIG5hbWU9XFxcIjIxM1xcXCI+MjEzPC9hPnxDb3VsZE5vdEdldEV4Y2VsVmVyc2lvbnwgIHwgfCA8YSBuYW1lPVxcXCIyMTRcXFwiPjIxNDwvYT58SW5zdHJ1bWVudEJ5Q29kZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjIxNVxcXCI+MjE1PC9hPnxFbnRpdHlTY2hlbWFEb2VzTm90RXhpc3R8ICB8IHwgPGEgbmFtZT1cXFwiMjE2XFxcIj4yMTY8L2E+fEZlYXR1cmVOb3RTdXBwb3J0ZWRPblBvcnRmb2xpb1R5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjE3XFxcIj4yMTc8L2E+fFF1b3RlTm90Rm91bmRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIxOVxcXCI+MjE5PC9hPnxJbnZhbGlkSW5zdHJ1bWVudERlZmluaXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMjIxXFxcIj4yMjE8L2E+fEluc3RydW1lbnRVcHNlcnRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIyMlxcXCI+MjIyPC9hPnxSZWZlcmVuY2VQb3J0Zm9saW9SZXF1ZXN0Tm90U3VwcG9ydGVkfCAgfCB8IDxhIG5hbWU9XFxcIjIyM1xcXCI+MjIzPC9hPnxUcmFuc2FjdGlvblBvcnRmb2xpb1JlcXVlc3ROb3RTdXBwb3J0ZWR8ICB8IHwgPGEgbmFtZT1cXFwiMjI0XFxcIj4yMjQ8L2E+fEludmFsaWRQcm9wZXJ0eVZhbHVlQXNzaWdubWVudHwgIHwgfCA8YSBuYW1lPVxcXCIyMzBcXFwiPjIzMDwvYT58VHJhbnNhY3Rpb25UeXBlTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMjMxXFxcIj4yMzE8L2E+fFRyYW5zYWN0aW9uVHlwZUR1cGxpY2F0aW9ufCAgfCB8IDxhIG5hbWU9XFxcIi0xMFxcXCI+LTEwPC9hPnxTZXJ2ZXJDb25maWd1cmF0aW9uRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiLTFcXFwiPi0xPC9hPnxVbmtub3duIGVycm9yfCAgfCBcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDAuNy4xMjRcclxuICogQ29udGFjdDogaW5mb0BmaW5ib3VybmUuY29tXHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgQ3VycmVuY3lBbmRBbW91bnQgfSBmcm9tICcuL2N1cnJlbmN5QW5kQW1vdW50JztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlYWxpc2VkR2Fpbkxvc3MgeyBcclxuICAgIC8qKlxyXG4gICAgICogVW5pcXVlIGluc3RydW1lbnQgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICByZWFkb25seSBpbnN0cnVtZW50VWlkPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBRdWFudGl0eSBhZ2FpbnN0IHdoaWNoIGdhaW4gaGFzIGJlZW4gbWFkZSBpbiB1bml0cyBvZiB0aGUgaW5zdHJ1bWVudFxyXG4gICAgICovXHJcbiAgICByZWFkb25seSB1bml0cz86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogRGF0ZSB0aGUgcG9zaXRpb24gd2FzIG9yaWdpbmFsbHkgcHVyY2hhc2VkXHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IHB1cmNoYXNlVHJhZGVEYXRlPzogRGF0ZTtcclxuICAgIC8qKlxyXG4gICAgICogRGF0ZSB0aGUgcG9zaXRpb24gb3JpZ2luYWxseSBzZXR0bGVkXHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IHB1cmNoYXNlU2V0dGxlbWVudERhdGU/OiBEYXRlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBQcmljZSB0aGUgaW5zdHJ1bWVudCB3YXMgcHVyY2hhc2VkIGF0XHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IHB1cmNoYXNlUHJpY2U/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIFB1cmNoYXNlIGNvc3QgaW4gdGhlIHRyYWRlIGN1cnJlbmN5XHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IGNvc3RUcmFkZUNjeT86IEN1cnJlbmN5QW5kQW1vdW50O1xyXG4gICAgLyoqXHJcbiAgICAgKiBQdXJjaGFzZSBjb3N0IGluIHRoZSB0cmFkZSBjdXJyZW5jeVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSBjb3N0UG9ydGZvbGlvQ2N5PzogQ3VycmVuY3lBbmRBbW91bnQ7XHJcbiAgICAvKipcclxuICAgICAqIEdhaW5zIG9yIGxvc3NlcyBpbiB0aGUgdHJhZGUgY3VycmVuY3lcclxuICAgICAqL1xyXG4gICAgcmVhZG9ubHkgcmVhbGlzZWRUcmFkZUNjeT86IEN1cnJlbmN5QW5kQW1vdW50O1xyXG4gICAgLyoqXHJcbiAgICAgKiBUb3RhbCBnYWlucyBvciBsb3NzZXMgaW4gdGhlIHBvcnRmb2xpbyBjdXJyZW5jeVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSByZWFsaXNlZFRvdGFsPzogQ3VycmVuY3lBbmRBbW91bnQ7XHJcbiAgICAvKipcclxuICAgICAqIE1hcmtldCBnYWlucyBvciBsb3NzZXMgaW4gdGhlIHBvcnRmb2xpbyBjdXJyZW5jeVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSByZWFsaXNlZE1hcmtldD86IEN1cnJlbmN5QW5kQW1vdW50O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDdXJyZW5jeSBnYWlucyBvciBsb3NzZXMgaW4gdGhlIHBvcnRmb2xpbyBjdXJyZW5jeVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSByZWFsaXNlZEN1cnJlbmN5PzogQ3VycmVuY3lBbmRBbW91bnQ7XHJcbn1cclxuIl19