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ZCAlZCBhcmdzIGluIGZhaWxlZCBsYXVuY2gKAApUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzCgAKVGhpcyBwcm9ncmFtIGJ1aWx0IGZvciAlcyAoJXMpCgAgIC0tZGVidWdbPUZMQUdTXSAgICAgICAgICAgICBQcmludCB2YXJpb3VzIHR5cGVzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4KACAgLS1uby1wcmludC1kaXJlY3RvcnkgICAgICAgIFR1cm4gb2ZmIC13LCBldmVuIGlmIGl0IHdhcyB0dXJuZWQgb24gaW1wbGljaXRseS4KACAgLS13YXJuLXVuZGVmaW5lZC12YXJpYWJsZXMgIFdhcm4gd2hlbiBhbiB1bmRlZmluZWQgdmFyaWFibGUgaXMgcmVmZXJlbmNlZC4KACAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIFVuY29uZGl0aW9uYWxseSBtYWtlIGFsbCB0YXJnZXRzLgoAICAtQyBESVJFQ1RPUlksIC0tZGlyZWN0b3J5PURJUkVDVE9SWQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgdG8gRElSRUNUT1JZIGJlZm9yZSBkb2luZyBhbnl0aGluZy4KACAgLUkgRElSRUNUT1JZLCAtLWluY2x1ZGUtZGlyPURJUkVDVE9SWQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggRElSRUNUT1JZIGZvciBpbmNsdWRlZCBtYWtlZmlsZXMuCgAgIC1SLCAtLW5vLWJ1aWx0aW4tdmFyaWFibGVzICBEaXNhYmxlIHRoZSBidWlsdC1pbiB2YXJpYWJsZSBzZXR0aW5ncy4KACAgLVMsIC0tbm8ta2VlcC1nb2luZywgLS1zdG9wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR1cm5zIG9mZiAtay4KACAgLVcgRklMRSwgLS13aGF0LWlmPUZJTEUsIC0tbmV3LWZpbGU9RklMRSwgLS1hc3N1bWUtbmV3PUZJTEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc2lkZXIgRklMRSB0byBiZSBpbmZpbml0ZWx5IG5ldy4KACAgLWIsIC1tICAgICAgICAgICAgICAgICAgICAgIElnbm9yZWQgZm9yIGNvbXBhdGliaWxpdHkuCgAgIC1kICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludCBsb3RzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4KACAgLWUsIC0tZW52aXJvbm1lbnQtb3ZlcnJpZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBtYWtlZmlsZXMuCgAgIC1mIEZJTEUsIC0tZmlsZT1GSUxFLCAtLW1ha2VmaWxlPUZJTEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZCBGSUxFIGFzIGEgbWFrZWZpbGUuCgAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBQcmludCB0aGlzIG1lc3NhZ2UgYW5kIGV4aXQuCgAgIC1qIFtOXSwgLS1qb2JzWz1OXSAgICAgICAgICBBbGxvdyBOIGpvYnMgYXQgb25jZTsgaW5maW5pdGUgam9icyB3aXRoIG5vIGFyZy4KACAgLWssIC0ta2VlcC1nb2luZyAgICAgICAgICAgIEtlZXAgZ29pbmcgd2hlbiBzb21lIHRhcmdldHMgY2FuJ3QgYmUgbWFkZS4KACAgLWwgW05dLCAtLWxvYWQtYXZlcmFnZVs9Tl0sIC0tbWF4LWxvYWRbPU5dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbid0IHN0YXJ0IG11bHRpcGxlIGpvYnMgdW5sZXNzIGxvYWQgaXMgYmVsb3cgTi4KACAgLW8gRklMRSwgLS1vbGQtZmlsZT1GSUxFLCAtLWFzc3VtZS1vbGQ9RklMRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zaWRlciBGSUxFIHRvIGJlIHZlcnkgb2xkIGFuZCBkb24ndCByZW1ha2UgaXQuCgAgIC1wLCAtLXByaW50LWRhdGEtYmFzZSAgICAgICBQcmludCBtYWtlJ3MgaW50ZXJuYWwgZGF0YWJhc2UuCgAgIC1yLCAtLW5vLWJ1aWx0aW4tcnVsZXMgICAgICBEaXNhYmxlIHRoZSBidWlsdC1pbiBpbXBsaWNpdCBydWxlcy4KACAgLXQsIC0tdG91Y2ggICAgICAgICAgICAgICAgIFRvdWNoIHRhcmdldHMgaW5zdGVhZCBvZiByZW1ha2luZyB0aGVtLgoAICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyIG9mIG1ha2UgYW5kIGV4aXQuCgAgIC13LCAtLXByaW50LWRpcmVjdG9yeSAgICAgICBQcmludCB0aGUgY3VycmVudCBkaXJlY3RvcnkuCgAgIERhdGUgJXMAICBJZ25vcmluZyBWUEFUSCBuYW1lIGAlcycuCgAgIHVpZCA9ICVkLCBnaWQgPSAlZCwgbW9kZSA9IDAlby4KACAoYnVpbHQtaW4pOgAgKGNvcmUgZHVtcGVkKQAgKGRpZCB5b3UgbWVhbiBUQUIgaW5zdGVhZCBvZiA4IHNwYWNlcz8pACAoZG9uJ3QgY2FyZSkAIChmcm9tIGAlcycsIGxpbmUgJWx1KQAgKGZyb20gYCVzJywgbGluZSAlbHUpOgoAIChuYW1lIG1pZ2h0IGJlIHRydW5jYXRlZCkAIChubyBkZWZhdWx0IGdvYWwpACAobm8gfiBleHBhbnNpb24pACAocmVtb3RlKQAgKHNlYXJjaCBwYXRoKQAgZmlsZXMsIAAgaW1wb3NzaWJpbGl0aWVzACBpbXBvc3NpYmlsaXRpZXMgaW4gJWx1IGRpcmVjdG9yaWVzLgoAIHNvIGZhci4AIHRlcm1pbmFsLgAjICBBbHNvIG1ha2VzOgAjICBGYWlsZWQgdG8gYmUgdXBkYXRlZC4AIyAgRmlsZSBkb2VzIG5vdCBleGlzdC4AIyAgRmlsZSBoYXMgYmVlbiB1cGRhdGVkLgAjICBGaWxlIGhhcyBub3QgYmVlbiB1cGRhdGVkLgAjICBGaWxlIGlzIGFuIGludGVybWVkaWF0ZSBwcmVyZXF1aXNpdGUuACMgIEZpbGUgaXMgdmVyeSBvbGQuACMgIEltcGxpY2l0IHJ1bGUgc2VhcmNoIGhhcyBiZWVuIGRvbmUuACMgIEltcGxpY2l0IHJ1bGUgc2VhcmNoIGhhcyBub3QgYmVlbiBkb25lLgAjICBJbXBsaWNpdC9zdGF0aWMgcGF0dGVybiBzdGVtOiBgJXMnCgAjICBJbnZhbGlkIHZhbHVlIGluIGBjb21tYW5kX3N0YXRlJyBtZW1iZXIhACMgIEludmFsaWQgdmFsdWUgaW4gYHVwZGF0ZV9zdGF0dXMnIG1lbWJlciEAIyAgTGFzdCBtb2RpZmllZCAlcwoAIyAgTW9kaWZpY2F0aW9uIHRpbWUgbmV2ZXIgY2hlY2tlZC4AIyAgTmVlZHMgdG8gYmUgdXBkYXRlZCAoLXEgaXMgc2V0KS4AIyAgUGhvbnkgdGFyZ2V0IChwcmVyZXF1aXNpdGUgb2YgLlBIT05ZKS4AIyAgUHJlY2lvdXMgZmlsZSAocHJlcmVxdWlzaXRlIG9mIC5QUkVDSU9VUykuACMgIFN1Y2Nlc3NmdWxseSB1cGRhdGVkLgAjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiAAIyAlcyAoZGV2aWNlICVkLCBpbm9kZSBbJWQsJWQsJWRdKTogY291bGQgbm90IGJlIG9wZW5lZC4KACMgJXMgKGRldmljZSAlbGQsIGlub2RlICVsZCk6IAAjICVzIChkZXZpY2UgJWxkLCBpbm9kZSAlbGQpOiBjb3VsZCBub3QgYmUgb3BlbmVkLgoAIyAlcyAoa2V5ICVzLCBtdGltZSAlZCk6IAAjICVzIChrZXkgJXMsIG10aW1lICVkKTogY291bGQgbm90IGJlIG9wZW5lZC4KACMgJXM6IGNvdWxkIG5vdCBiZSBzdGF0J2QuCgAjIE5vIGB2cGF0aCcgc2VhcmNoIHBhdGhzLgAjIE5vdCBhIHRhcmdldDoAIyB2YXJpYWJsZSBzZXQgaGFzaC10YWJsZSBzdGF0czoKACVzIChsaW5lICVkKSBCYWQgc2hlbGwgY29udGV4dCAoIXVuaXh5ICYmICFiYXRjaF9tb2RlX3NoZWxsKQoAJXMgaXMgc3VzcGVuZGluZyBmb3IgMzAgc2Vjb25kcy4uLgAlcyVzOiAlcwAlczogJXMAJXM6IENvbW1hbmQgbm90IGZvdW5kACVzOiBFbnRlcmluZyBkaXJlY3RvcnkgYCVzJwoAJXM6IExlYXZpbmcgZGlyZWN0b3J5IGAlcycKACVzOiBTaGVsbCBwcm9ncmFtIG5vdCBmb3VuZAAlczogVGltZXN0YW1wIG91dCBvZiByYW5nZTsgc3Vic3RpdHV0aW5nICVzACVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlYwoAJXM6IGludmFsaWQgb3B0aW9uIC0tICVjCgAlczogb3B0aW9uIGAlYyVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIGAlcycgaXMgYW1iaWd1b3VzCgAlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gYC0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gYC1XICVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIGAtVyAlcycgaXMgYW1iaWd1b3VzCgAlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjCgAlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgJWMlcycKACVzOiB1bnJlY29nbml6ZWQgb3B0aW9uIGAtLSVzJwoAJXM6IHVzZXIgJWx1IChyZWFsICVsdSksIGdyb3VwICVsdSAocmVhbCAlbHUpCgAlc05vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgYCVzJyVzACVzTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgJXMnLCBuZWVkZWQgYnkgYCVzJyVzACVzWyV1XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAlcycKACVzWyV1XTogTGVhdmluZyBkaXJlY3RvcnkgYCVzJwoAKioqIEFyY2hpdmUgbWVtYmVyIGAlcycgbWF5IGJlIGJvZ3VzOyBub3QgZGVsZXRlZAAqKiogQnJlYWsuCgAqKiogRGVsZXRpbmcgZmlsZSBgJXMnACoqKiBEZWxldGluZyBpbnRlcm1lZGlhdGUgZmlsZSBgJXMnACoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uACoqKiBXYXJuaW5nOiAuTE9XX1JFU09MVVRJT05fVElNRSBmaWxlIGAlcycgaGFzIGEgaGlnaCByZXNvbHV0aW9uIHRpbWUgc3RhbXAAKioqIFslc10gQXJjaGl2ZSBtZW1iZXIgYCVzJyBtYXkgYmUgYm9ndXM7IG5vdCBkZWxldGVkACoqKiBbJXNdIERlbGV0aW5nIGZpbGUgYCVzJwAqKiogWyVzXSBFcnJvciAlZAAqKiogWyVzXSBFcnJvciAweCV4ACoqKiBbJXNdIEVycm9yIDB4JXggKGlnbm9yZWQpAC13YXJuaW5nLCB5b3UgbWF5IGhhdmUgdG8gcmUtZW5hYmxlIENUUkwtWSBoYW5kbGluZyBmcm9tIERDTC4KAC4gIFN0b3AuCgAuTElCUEFUVEVSTlMgZWxlbWVudCBgJXMnIGlzIG5vdCBhIHBhdHRlcm4AOyB1c2luZyBWUEFUSCBuYW1lIGAlcycAQWJvcnRlZABBbGFybSBjbG9jawBBdm9pZGluZyBpbXBsaWNpdCBydWxlIHJlY3Vyc2lvbi4KAEJVSUxUSU4gQ0QgJXMKAEJVSUxUSU4gUk0gJXMKAEJVSUxUSU4gWyVzXVslc10KAEJhZCBzeXN0ZW0gY2FsbABCcm9rZW4gcGlwZQBCdXMgZXJyb3IAQ1BVIHRpbWUgbGltaXQgZXhjZWVkZWQAQ2hpbGQgYWNjZXNzAENoaWxkIGV4aXRlZABDaXJjdWxhciAlcyA8LSAlcyBkZXBlbmRlbmN5IGRyb3BwZWQuAENsZWFuaW5nIHVwIHRlbXAgYmF0Y2ggZmlsZSAlcwoAQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGJhdGNoIGZpbGUgJXMKAENvbGxpc2lvbnM9JWxkLyVsZD0lLjBmJSUAQ29uc2lkZXJpbmcgdGFyZ2V0IGZpbGUgYCVzJy4KAENvbnRpbnVlZABDb3VsZG4ndCBjaGFuZ2UgYmFjayB0byBvcmlnaW5hbCBkaXJlY3RvcnkuAENyZWF0aW5nIHRlbXBvcmFyeSBiYXRjaCBmaWxlICVzCgBDdXJyZW50IHRpbWUAQ3VzdG9tcyB3b24ndCBleHBvcnQ6ICVzCgBEYW5nZXIgc2lnbmFsAEVNVCB0cmFwAEVycm9yIHNwYXduaW5nLCAlZAoARXJyb3IsIGVtcHR5IGNvbW1hbmQKAEV4ZWN1dGluZyAlcyBpbnN0ZWFkCgBFeHRyYW5lb3VzIHRleHQgYWZ0ZXIgYCVzJyBkaXJlY3RpdmUARmFpbGVkIHRvIHJlbWFrZSBtYWtlZmlsZSBgJXMnLgBGYWlsZWQgdG8gcmVtYWtlIHRhcmdldCBmaWxlIGAlcycuCgBGaWxlIGAlcycgZG9lcyBub3QgZXhpc3QuCgBGaWxlIGAlcycgd2FzIGNvbnNpZGVyZWQgYWxyZWFkeS4KAEZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZABGaW5pc2hlZCBwcmVyZXF1aXNpdGVzIG9mIHRhcmdldCBmaWxlIGAlcycuCgBGaW5pc2hlZCB1cGRhdGluZyBmaWxlIGAlcycuCgBGbG9hdGluZyBwb2ludCBjby1wcm9jZXNzb3Igbm90IGF2YWlsYWJsZQBGbG9hdGluZyBwb2ludCBleGNlcHRpb24ARm91bmQgYW4gaW1wbGljaXQgcnVsZSBmb3IgYCVzJy4KAEZvdW5kIHByZXJlcXVpc2l0ZSBgJXMnIGFzIFZQQVRIIGAlcycKAEdpdmluZyB1cCBvbiB0YXJnZXQgZmlsZSBgJXMnLgoASGFuZ3VwAEkvTyBwb3NzaWJsZQBJT1QgdHJhcABJbGxlZ2FsIEluc3RydWN0aW9uAEluY2x1ZGVkIG1ha2VmaWxlIGAlcycgd2FzIG5vdCBmb3VuZC4ASW5mb3JtYXRpb24gcmVxdWVzdABJbml0aWFsaXplZCBhY2Nlc3MASW50ZXJydXB0AEtpbGxlZABMb2FkPSVsZC8lbGQ9JS4wZiUlLCAATG9va2luZyBmb3IgYSBydWxlIHdpdGggaW50ZXJtZWRpYXRlIGZpbGUgYCVzJy4KAExvb2tpbmcgZm9yIGFuIGltcGxpY2l0IHJ1bGUgZm9yIGAlcycuCgBMb29raW5nIGZvciBhcmNoaXZlLW1lbWJlciBpbXBsaWNpdCBydWxlIGZvciBgJXMnLgoATWFrZSBhY2Nlc3MATWFrZWZpbGUgYCVzJyBtaWdodCBsb29wOyBub3QgcmVtYWtpbmcgaXQuCgBNYWtlZmlsZSBgJXMnIHdhcyBub3QgZm91bmQATWFrZWZpbGUgZnJvbSBzdGFuZGFyZCBpbnB1dCBzcGVjaWZpZWQgdHdpY2UuAE1ha2luZyBgJXMnIGR1ZSB0byBhbHdheXMtbWFrZSBmbGFnLgoATWVtYmVyIGAlcyclczogJWxkIGJ5dGVzIGF0ICVsZCAoJWxkKS4KAE11c3QgcmVtYWtlIHRhcmdldCBgJXMnLgoATm8ATm8gaW1wbGljaXQgcnVsZSBmb3VuZCBmb3IgYCVzJy4KAE5vIG5lZWQgdG8gcmVtYWtlIHRhcmdldCBgJXMnAE5vIHRhcmdldHMATm8gdGFyZ2V0cyBzcGVjaWZpZWQgYW5kIG5vIG1ha2VmaWxlIGZvdW5kAE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYCVzJy4AT3B0aW9uczoKAFBhcmFsbGVsIGpvYnMgKC1qKSBhcmUgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLgBQb3dlciBmYWlsdXJlAFByZXJlcXVpc2l0ZSBgJXMnIGlzIG5ld2VyIHRoYW4gdGFyZ2V0IGAlcycuCgBQcmVyZXF1aXNpdGUgYCVzJyBpcyBvbGRlciB0aGFuIHRhcmdldCBgJXMnLgoAUHJlcmVxdWlzaXRlIGAlcycgaXMgb3JkZXItb25seSBmb3IgdGFyZ2V0IGAlcycuCgBQcmVyZXF1aXNpdGUgYCVzJyBvZiB0YXJnZXQgYCVzJyBkb2VzIG5vdCBleGlzdC4KAFByb2ZpbGluZyB0aW1lciBleHBpcmVkAFBydW5pbmcgZmlsZSBgJXMnLgoAUXVpdABSZWFkaW5nIG1ha2VmaWxlIGAlcycAUmVhZGluZyBtYWtlZmlsZXMuLi4KAFJlY2VudGx5IHRyaWVkIGFuZCBmYWlsZWQgdG8gdXBkYXRlIGZpbGUgYCVzJy4KAFJlY3Vyc2l2ZSB2YXJpYWJsZSBgJXMnIHJlZmVyZW5jZXMgaXRzZWxmIChldmVudHVhbGx5KQBSZWRpcmVjdGVkIGVycm9yIHRvICVzCgBSZWRpcmVjdGVkIGlucHV0IGZyb20gJXMKAFJlZGlyZWN0ZWQgb3V0cHV0IHRvICVzCgBSZWhhc2g9JWQsIABSZWplY3RpbmcgaW1wb3NzaWJsZSBpbXBsaWNpdCBwcmVyZXF1aXNpdGUgYCVzJy4KAFJlamVjdGluZyBpbXBvc3NpYmxlIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuCgBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi4KAFJlcG9ydCBidWdzIHRvIDxidWctbWFrZUBnbnUub3JnPgoAUmVzZXR0aW5nIHRvIHNpbmdsZSBqb2IgKC1qMSkgbW9kZS4AUmVzb3VyY2UgbG9zdABTSUdQSE9ORQBTSUdXSU5EAFNlZ21lbnRhdGlvbiBmYXVsdABTdGlsbCB1cGRhdGluZyBmaWxlIGAlcycuCgBTdG9wcGVkAFN0b3BwZWQgKHNpZ25hbCkAU3RvcHBlZCAodHR5IGlucHV0KQBTdG9wcGVkICh0dHkgb3V0cHV0KQBTdWNjZXNzZnVsbHkgcmVtYWRlIHRhcmdldCBmaWxlIGAlcycuCgBUYXJnZXQgYCVzJyBpcyBkb3VibGUtY29sb24gYW5kIGhhcyBubyBwcmVyZXF1aXNpdGVzLgoAVGFyZ2V0IGAlcycgbm90IHJlbWFkZSBiZWNhdXNlIG9mIGVycm9ycy4AVGFyZ2V0IGZpbGUgYCVzJyBuZWVkcyByZW1hZGUgdW5kZXIgLXEuCgBUZXJtaW5hdGVkAFRoZSBwcmVyZXF1aXNpdGVzIG9mIGAlcycgYXJlIGJlaW5nIG1hZGUuCgBUcmFjZS9icmVha3BvaW50IHRyYXAAVHJ5aW5nIGltcGxpY2l0IHByZXJlcXVpc2l0ZSBgJXMnLgoAVHJ5aW5nIHBhdHRlcm4gcnVsZSB3aXRoIHN0ZW0gYCUuKnMnLgoAVHJ5aW5nIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuCgBVbmtub3duIGJ1aWx0aW4gY29tbWFuZCAnJXMnCgBVbmtub3duIGVycm9yICVkAFVwZGF0aW5nIGdvYWwgdGFyZ2V0cy4uLi4KAFVwZGF0aW5nIG1ha2VmaWxlcy4uLi4KAFVyZ2VudCBJL08gY29uZGl0aW9uAFVzYWdlOiAlcyBbb3B0aW9uc10gW3RhcmdldF0gLi4uCgBVc2VyIGFjY2VzcwBVc2VyIGRlZmluZWQgc2lnbmFsIDEAVXNlciBkZWZpbmVkIHNpZ25hbCAyAFVzaW5nIGRlZmF1bHQgY29tbWFuZHMgZm9yIGAlcycuCgBWaXJ0dWFsIHRpbWVyIGV4cGlyZWQAV2FybmluZzogRW1wdHkgcmVkaXJlY3Rpb24KAFdhcm5pbmc6IEZpbGUgYCVzJyBoYXMgbW9kaWZpY2F0aW9uIHRpbWUgaW4gdGhlIGZ1dHVyZQBXaW5kb3cgY2hhbmdlZABbJXNdIEVycm9yICVkIChpZ25vcmVkKQBgJXMnIGlzIHVwIHRvIGRhdGUuAGBvdmVycmlkZScgZGlyZWN0aXZlAGF0dGVtcHQgdG8gdXNlIHVuc3VwcG9ydGVkIGZlYXR1cmU6IGAlcycAYXV0b21hdGljAGJ1dCBgJXMnIGlzIG5vdyBjb25zaWRlcmVkIHRoZSBzYW1lIGZpbGUgYXMgYCVzJy4AY2FuJ3QgcmVuYW1lIGRvdWJsZS1jb2xvbiBgJXMnIHRvIHNpbmdsZS1jb2xvbiBgJXMnAGNhbid0IHJlbmFtZSBzaW5nbGUtY29sb24gYCVzJyB0byBkb3VibGUtY29sb24gYCVzJwBjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0OiAAY2Fubm90IGVuZm9yY2UgbG9hZCBsaW1pdHMgb24gdGhpcyBvcGVyYXRpbmcgc3lzdGVtAGNvbW1hbmQgbGluZQBjcmVhdGluZyBqb2JzIHBpcGUAZGVmYXVsdABkb25lIHNsZWVwKDMwKS4gQ29udGludWluZy4KAGR1cCBqb2JzZXJ2ZXIAZW1wdHkgc3RyaW5nIGludmFsaWQgYXMgZmlsZSBuYW1lAGVtcHR5IHZhcmlhYmxlIG5hbWUAZW52aXJvbm1lbnQAZW52aXJvbm1lbnQgdW5kZXIgLWUAZXh0cmFuZW91cyBgJXMnAGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkJyBmdW5jdGlvbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwAGZvcGVuICh0ZW1wb3JhcnkgZmlsZSkAZndyaXRlICh0ZW1wb3JhcnkgZmlsZSkAaW5pdCBqb2JzZXJ2ZXIgcGlwZQBpbnRlcm5hbCBlcnJvcjogYCVzJyBjb21tYW5kX3N0YXRlAGludGVybmFsIGVycm9yOiBpbnZhbGlkIC0tam9ic2VydmVyLWZkcyBzdHJpbmcgYCVzJwBpbnRlcm5hbCBlcnJvcjogbXVsdGlwbGUgLS1qb2JzZXJ2ZXItZmRzIG9wdGlvbnMAaW52YWxpZCBzeW50YXggaW4gY29uZGl0aW9uYWwAbWFrZWZpbGUAbWlzc2luZyBgZW5kZWYnLCB1bnRlcm1pbmF0ZWQgYGRlZmluZScAbWlzc2luZyBgZW5kaWYnAG1pc3Npbmcgc2VwYXJhdG9yJXMAbWlzc2luZyB0YXJnZXQgcGF0dGVybgBtaXhlZCBpbXBsaWNpdCBhbmQgbm9ybWFsIHJ1bGVzAG1peGVkIGltcGxpY2l0IGFuZCBzdGF0aWMgcGF0dGVybiBydWxlcwBtdWx0aXBsZSB0YXJnZXQgcGF0dGVybnMAbm8Abm9uLW51bWVyaWMgZmlyc3QgYXJndW1lbnQgdG8gYHdvcmQnIGZ1bmN0aW9uAG5vbi1udW1lcmljIGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24Abm9uLW51bWVyaWMgc2Vjb25kIGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24Ab25seSBvbmUgYGVsc2UnIHBlciBjb25kaXRpb25hbAByZWFkIGpvYnMgcGlwZQB0YXJnZXQgYCVzJyBkb2Vzbid0IG1hdGNoIHRoZSB0YXJnZXQgcGF0dGVybgB0YXJnZXQgYCVzJyBnaXZlbiBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBydWxlLgB0YXJnZXQgZmlsZSBgJXMnIGhhcyBib3RoIDogYW5kIDo6IGVudHJpZXMAdGFyZ2V0IHBhdHRlcm4gY29udGFpbnMgbm8gYCUlJwB0aGUgYC0lYycgb3B0aW9uIHJlcXVpcmVzIGEgcG9zaXRpdmUgaW50ZWdyYWwgYXJndW1lbnQAdG91Y2ggYXJjaGl2ZSBtZW1iZXIgaXMgbm90IGF2YWlsYWJsZSBvbiBWTVMAdG91Y2g6IEFyY2hpdmUgYCVzJyBkb2VzIG5vdCBleGlzdAB0b3VjaDogQmFkIHJldHVybiBjb2RlIGZyb20gYXJfbWVtYmVyX3RvdWNoIG9uIGAlcycAdG91Y2g6IE1lbWJlciBgJXMnIGRvZXMgbm90IGV4aXN0IGluIGAlcycAdG91Y2g6IGAlcycgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZQB1bmFibGUgdG8gb3BlbiBsaWJyYXJ5IGAlcycgdG8gbG9va3VwIG1lbWJlciBgJXMnAHVua25vd24gZGVidWcgbGV2ZWwgc3BlY2lmaWNhdGlvbiBgJXMnAHVua25vd24gc2lnbmFsAHVubGluayAodGVtcG9yYXJ5IGZpbGUpOiAAdW50ZXJtaW5hdGVkIGNhbGwgdG8gZnVuY3Rpb24gYCVzJzogbWlzc2luZyBgJWMnAHVudGVybWluYXRlZCB2YXJpYWJsZSByZWZlcmVuY2UAdmlydHVhbCBtZW1vcnkgZXhoYXVzdGVkAHdhcm5pbmc6ICBDbG9jayBza2V3IGRldGVjdGVkLiAgWW91ciBidWlsZCBtYXkgYmUgaW5jb21wbGV0ZS4Ad2FybmluZzogLWpOIGZvcmNlZCBpbiBzdWJtYWtlOiBkaXNhYmxpbmcgam9ic2VydmVyIG1vZGUuAHdhcm5pbmc6IE5VTCBjaGFyYWN0ZXIgc2VlbjsgcmVzdCBvZiBsaW5lIGlnbm9yZWQAd2FybmluZzogam9ic2VydmVyIHVuYXZhaWxhYmxlOiB1c2luZyAtajEuICBBZGQgYCsnIHRvIHBhcmVudCBtYWtlIHJ1bGUuAHdhcm5pbmc6IHVuZGVmaW5lZCB2YXJpYWJsZSBgJS4qcycAd3JpdGUgam9ic2VydmVyAFByb2plY3QtSWQtVmVyc2lvbjogbWFrZSAzLjgwClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctbWFrZUBnbnUub3JnClBPVC1DcmVhdGlvbi1EYXRlOiAyMDEwLTA3LTI4IDAxOjQyLTA0MDAKUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0xMC0xMiAxODowMSswMjAwCkxhc3QtVHJhbnNsYXRvcjogSHJ2b2plIE5pa3NpYyA8aG5pa3NpY0B4ZW1hY3Mub3JnPgpMYW5ndWFnZS1UZWFtOiBDcm9hdGlhbiA8bG9rYWxpemFjaWphQGxpbnV4LmhyPgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgAKIyAldSBgdnBhdGgnIHN0YXphIHphIHByZXRyYb5pdmFuamUuCgAKIyAldSBpbXBsaWNpdG5paCBwcm9waXNhLCAldQAKIyAldSB1em9yY2ltYSBzdm9qc3R2ZW5paCB2cmlqZWRub3N0aSB2YXJpamFibGkACiMgRGlyZWt0b3JpamkKAAojIFNwaXNpAAojIEtyYWogTWFrZW92ZSBiYXplIG5hICVzCgAKIyBPcOZhIChpeiB2YXJpamFibGUgYFZQQVRIJykgc3RhemEgemEgcHJldHJhvml2YW5qZToKIyAACiMgSW1wbGljaXRuaSBQcm9waXNpAAojIE1ha2VvdmEgYmF6YSwgaXNwaXNhbmEgbmEgJXMACiMgTmVtYSBvcOZlIChpeiB2YXJpamFibGUgYFZQQVRIJykgc3RhemUgemEgcHJldHJhvml2YW5qZS4ACiMgTmVtYSBpbXBsaWNpdG5paCBwcm9waXNhLgAKIyBOZW1hIHV6b3JjaW1hIHN2b2pzdHZlbmloIHZyaWplZG5vc3RpIHZhcmlqYWJsaS4ACiMgVlBBVEggc3RhemUgemEgcHJldHJhvml2YW5qZQoACiMgVmFyaWphYmxlCgAKIyBzdGF0aXN0aWtlIGhhc2ggdGFibGljZSBzcGlzYQojIAAKUHJlYnJvamFvICVkIGFyZ3VtZW5hdGEgdSBuZXVzcGplbG9tIHBva3JldGFuanUKAApQcm9ncmFtIHNhc3RhdmxqZW4gemEgJXMKAApQcm9ncmFtIHNhc3RhdmxqZW4gemEgJXMgKCVzKQoAICAtLWRlYnVnWz1GTEFHT1ZJXSAgICAgICAgICAgICBJc3BpuWkgcmF6bmUgdnJzdGUgaW5mb3JtYWNpamEgemEgZGVidWdpcmFuamUuCgAgIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICAgICAgICBJc2tsanXoaSAtdywg6GFrIGkgYWtvIGplIGltcGxpY2l0bm8gdWtsanXoZW4uCgAgIC0td2Fybi11bmRlZmluZWQtdmFyaWFibGVzICBVcG96b3JpIGthZCBzZSByZWZlcmVuY2lyYSBuZWRlZmluaXJhbmEgdmFyaWphYmxhLgoAICAtQiwgLS1hbHdheXMtbWFrZSAgICAgICAgICAgQmV6dXZqZXRubyBwcm9penZlZGkgc3ZlIG1ldGUuCgAgIC1DIERJUkVDVE9SWSwgLS1kaXJlY3Rvcnk9RElSRUNUT1JZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaWpl8GkgdSBESVJFS1RPUklKIHByaWplIG5vILl0byBpuXRhIG9iYXZpuS4KACAgLUkgRElSRUtUT1JJSiwgLS1pbmNsdWRlLWRpcj1ESVJFS1RPUklKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvdHJhvmkgdSBESVJFS1RPUklKVSB1a2xqdehlbmUgbWFrZWZpbGVvdmUuCgAgIC1SLCAtLW5vLWJ1aWx0aW4tdmFyaWFibGVzICBPbmVtb2d15mkgdWdyYfBlbmUgdnJpamVkbm9zdGkgdmFyaWphYmxpLgoAICAtUywgLS1uby1rZWVwLWdvaW5nLCAtLXN0b3AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXNrbGp16HVqZSAtay4KACAgLVcgU1BJUywgLS13aGF0LWlmPVNQSVMsIC0tbmV3LWZpbGU9U1BJUywgLS1hc3N1bWUtbmV3PVNQSVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hdHJhaiBTUElTIGJlc2tvbmHobm8gbm92aW0uCgAgIC1iLCAtbSAgICAgICAgICAgICAgICAgICAgICBJZ25vcmlyYSBzZSB6Ym9nIGtvbXBhdGliaWxub3N0aQoAICAtZCAgICAgICAgICAgICAgICAgICAgICAgICAgSXNwablpIHB1bm8gcG9kYXRha2EgemEgZGVidWdpcmFuamUuCgAgIC1lLCAtLWVudmlyb25tZW50LW92ZXJyaWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpamFibGUgaXogb2tvbGluZSBpbWFqdSB2ZeZ1IHZhvm5vc3Qgb2QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZWZpbGVvdmEuCgAgIC1mIFNQSVMsIC0tZmlsZT1TUElTLCAtLW1ha2VmaWxlPVNQSVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJv6Gl0YWogU1BJUyBrYW8gbWFrZWZpbGUuCgAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBJc3BpuWkgb3Z1IHBvcnVrdSBpIGl6YfBpLgoAICAtaiBbTl0sIC0tam9ic1s9Tl0gICAgICAgICAgRG9wdXN0aSBOIGlzdG92cmVtZW5paCBwb3Nsb3ZhOyBiZXogYXJndW1lbnRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGloIGRvcHVzdGkgYmVza29uYehuby4KACAgLWssIC0ta2VlcC1nb2luZyAgICAgICAgICAgIE5hc3RhdmkgcyByYWRvbSBha28gc2UgbmVrZSBtZXRlIG5lIG1vZ3UgaXpyYWRpdGkuCgAgIC1sIFtOXSwgLS1sb2FkLWF2ZXJhZ2VbPU5dLCAtLW1heC1sb2FkWz1OXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZSBwb2tyZeZpIHZpuWVzdHJ1a2UgcG9zbG92ZSwgb3NpbSBha28gcHJpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGVyZeZlbmp1IGlzcG9kIE4uCgAgIC1vIFNQSVMsIC0tb2xkLWZpbGU9U1BJUywgLS1hc3N1bWUtb2xkPVNQSVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hdHJhaiBkYSBqZSBTUElTIHZybG8gc3RhciBpIG5lbW9qIGdhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbm92byBuYXByYXZpdGkuCgAgIC1wLCAtLXByaW50LWRhdGEtYmFzZSAgICAgICBJc3BpuWkgbWFrZW92dSBpbnRlcm51IGJhenUuCgAgIC1yLCAtLW5vLWJ1aWx0aW4tcnVsZXMgICAgICBPbmVtb2d15mkgdWdyYfBlbmUgaW1wbGljaXRuZSBwcm9waXNlLgoAICAtdCwgLS10b3VjaCAgICAgICAgICAgICAgICAgRG9kaXJuaSBtZXRlIHVtamVzdG8gZGEgaWggcG9ub3ZvIGl6cmHwdWpluS4KACAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIElzcGm5aSB2ZXJ6aWp1IG1ha2VhIGkgaXph8GkuCgAgIC13LCAtLXByaW50LWRpcmVjdG9yeSAgICAgICBJc3BpuWkgdHJlbnV0bmkgZGlyZWt0b3Jpai4KACAgRGF0dW0gJXMAICBJZ25vcmlyYW0gVlBBVEggaW1lbmEgYCVzJy4KACAgdWlkID0gJWQsIGdpZCA9ICVkLCBtb2RlID0gMCVvLgoAICh1Z3Jh8GVubyk6ACAoaXpiYehlbiBjb3JlKQAgKGplc3RlIGxpIG1pc2xpbGkgbmEgVEFCIHVtamVzdG8gOCByYXptYWthPykAIChuaWplIHZhvm5vKQAgKGl6IGAlcycsIHJlZGFrICVsdSk6ACAoaXogYCVzJywgcmVkYWsgJWx1KToKACAoaW1lIGplIG1vvmRhIG9kcmV6YW5vKQAgKG5lbWEgcG9kcmF6dW1pamV2YW5vZyBjaWxqYSkAIChiZXogZWtzcGFuemlqZSB+KQAgKHVkYWxqZW4pACAoc3RhemEgemEgcHJldHJhvml2YW5qZSkAIHNwaXMsIAAgbmVtb2d15m5vc3QAIG5lbW9ndeZub3N0aSB1ICVsdSBkaXJla3RvcmlqYS4KACBkbyBzYWQuACB6YXZyuW5pLgAjICBUYWtv8GVyIHByb2l6dm9kaToAIyAgTmlqZSBnYSBzZSBhvnVyaXJhbG8uACMgIFNwaXMgbmUgcG9zdG9qaS4AIyAgU3BpcyBqZSBhvnVyaXJhbi4AIyAgU3BpcyBuaWplIGG+dXJpcmFuLgAjICBTcGlzIGplIHBvc3JlZG5pIHByZXJla3Zpeml0LgAjICBTcGlzIGplIHZybG8gc3Rhci4AIyAgIEltcGxpY2l0bmEgcHJldHJhZ2EgcHJvcGlzYSBqZSBpenZyuWVuYS4AIyAgSW1wbGljaXRuYSBwcmV0cmFnYSBwcm9waXNhIG5pamUgaXp2crllbmEuACMgIEtvcmlqZW4gaW1wbGljaXRub2cvc3RhdGnoa29nIHV6b3JrYTogYCVzJwoAIyAgTmVpc3ByYXZuYSB2cmlqZWRub3N0IHUgZWxlbWVudHUgYGNvbW1hbmRfc3RhdGUnIQAjICBOZWlzcHJhdm5hIHZyaWplZG5vc3QgdSBlbGVtZW50dSBgdXBkYXRlX3N0YXR1cychACMgIFphZG5qYSBwcm9tamVuYSAlcwoAIyAgVnJpamVtZSBwcm9tamVuZSBuaWthZGEgbmlqZSBwcm92amVyZW5vLgAjICBUcmViYSBnYSBhvnVyaXJhdGkgKC1xIGplIHBvc3RhdmxqZW4pLgAjICBMYb5uYSBtZXRhIChwcmVyZWt2aXppdCBtZXRlIC5QSE9OWSkuACMgIFZyaWplZGFuIHNwaXMgKHByZXJla3Zpeml0IG1ldGUgLlBSRUNJT1VTKS4AIyAgVXNwamW5bm8gYb51cmlyYW4uACMgJXMgKGRldmljZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSk6IAAjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiBuaWplIGdhIHNlIG1vZ2xvIG90dm9yaXRpLgoAIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogACMgJXMgKGRldmljZSAlbGQsIGlub2RlICVsZCk6IG5pamUgZ2Egc2UgbW9nbG8gb3R2b3JpdGkuCgAjICVzICh0aXBrYSAlcywgbXRpbWUgJWQpOiAAIyAlcyAodGlwa2EgJXMsIG10aW1lICVkKTogbmlqZSBnYSBzZSBtb2dsbyBvdHZvcml0aS4KACMgJXM6IG5lIG1vvmUgc2Ugc3RhdGF0aS4KACMgTmVtYSBgdnBhdGgnIHN0YXphIHphIHByZXRyYb5pdmFuamUuACMgTmlqZSBtZXRhOgAjIGhhc2ggdGFibGUgc3RhdGlzdGlrZSB2YXJpamFibGk6CgAlcyAocmVkYWsgJWQpIExvuSBrb250ZWtzdCBsanVza2UgKCF1bml4eSAmJiAhYmF0Y2hfbW9kZV9zaGVsbCkKACVzIHNlIHphdXN0YXZsamEgbmEgMzAgc2VrdW5kaS4uLgAlcyVzOiAlcwAlczogJXMAJXM6IE5hcmVkYmEgbmlqZSBuYfBlbmEAJXM6IFVsYXppbSB1IGRpcmVrdG9yaWogYCVzJwoAJXM6IEl6bGF6aW0gaXogZGlyZWt0b3JpamEgYCVzJwoAJXM6IExqdXNraW4gcHJvZ3JhbSBuaWplIG5h8GVuACVzOiBWcmVtZW5za2Egb3puYWthIHZhbiBncmFuaWNhOyB6YW1qZW5qdWplbSBzICVzACVzOiBuZWRvcHW5dGVuYSBvcGNpamEgLS0gJWMKACVzOiBuZWlzcHJhdm5hIG9wY2lqYSAtLSAlYwoAJXM6IG9wY2lqYSBgJWMlcycgbmUgZG9wdbl0YSBhcmd1bWVudAoAJXM6IG9wY2lqYSBgJXMnIGplIHZpuWV6bmHobmEKACVzOiBvcGNpamEgYCVzJyB6YWh0aWpldmEgYXJndW1lbnQKACVzOiB1eiBvcGNpanUgYC0tJXMnIG5lIGlkZSBhcmd1bWVudAoAJXM6IG9wY2lqYSBgLVcgJXMnIG5lIGRvcHW5dGEgYXJndW1lbnQKACVzOiBvcGNpamEgYC1XICVzJyBqZSB2abllem5h6G5hCgAlczogb3BjaWphIHRyYb5pIGFyZ3VtZW50IC0tICVjCgAlczogbmVwb3puYXRhIG9wY2lqYSBgJWMlcycKACVzOiBuZXBvem5hdGEgb3BjaWphIGAtLSVzJwoAJXM6IHVzZXIgJWx1IChyZWFsICVsdSksIGdyb3VwICVsdSAocmVhbCAlbHUpCgAlc05lbWEgcHJvcGlzYSB6YSBpenJhZHUgbWV0ZSBgJXMnJXMAJXNOZW1hIHByb3Bpc2EgemEgaXpyYWR1IG1ldGUgYCVzJywga29qZWcgdHJhvmkgYCVzJyVzACVzWyV1XTogVWxhemltIHUgZGlyZWt0b3JpaiBgJXMnCgAlc1sldV06IEl6bGF6aW0gaXogZGlyZWt0b3JpamEgYCVzJwoAKioqIMhsYW4gYXJoaXZlICclcycgbW9nYW8gYmkgYml0aSBiZXp2ZXphbjsgbmlqZSBvYnJpc2FuACoqKiBQcmVraWQuCgAqKiogQnJpuWVtIHNwaXMgYCVzJwAqKiogQnJpuWVtIHBvc3JlZG5pIHNwaXMgYCVzJwAqKiog6GVrYW0gbmEgbmVkb3ZyuWVuZSBwb3Nsb3ZlLi4uLgAqKiogVXBvem9yZW5qZTogLkxPV19SRVNPTFVUSU9OX1RJTUUgc3BpcyBgJXMnIGltYSB2cmVtZW5za3Ugb3puYWt1IHZpc29rZSByZXpvbHVjaWplACoqKiBbJXNdIMhsYW4gYXJoaXZlICclcycgbW9nYW8gYmkgYml0aSBiZXp2ZXphbjsgbmlqZSBvYnJpc2FuACoqKiBbJXNdIEJyabllbSBzcGlzIGAlcycAKioqIFslc10gR3JluWthICVkACoqKiBbJXNdIEdyZblrYSAweCV4ACoqKiBbJXNdIEdyZblrYSAweCV4IChpZ25vcmlyYW5hKQAtdXBvem9yZW5qZSwgbW++ZGEg5mV0ZSBtb3JhdGkgcG9ub3ZvIG9tb2d15ml0aSBvYnJhZHUgQ1RSTC1ZIGl6IERDTC1hLgoALiAgWmF1c3RhdmkuCgBFbGVtZW50IC5MSUJQQVRURVJOUyBgJXMnIG5pamUgdXpvcmFrADsga29yaXN0aW0gVlBBVEggaW1lbmEgYCVzJwBPdGthemFuAEJ1ZGlsaWNhAEl6YmplZ2F2YW0gcmVrdXJ6aWp1IGltcGxpY2l0bm9nIHByb3Bpc2EuCgBVR1JB0EVOIENEICVzCgBVR1JB0EVOIFJNICVzCgBVR1JB0EVOIFslc11bJXNdCgBOZXZhbGphbiBzaXN0ZW1za2kgcG96aXYAUHJla2ludXQga2FuYWwAU2FiaXJuaehrYSBncmW5a2EAcHJla29yYehlbm8gb2dyYW5p6GVuamUgQ1BVIHZyZW1lbmEAUHJpc3R1cCBkamV0ZXRhAERpamV0ZSBpemG5bG8AS3J1vm5hIG92aXNub3N0ICVzIDwtICVzIGlzcHW5dGVuYS4AyGlzdGltIHByaXZyZW1lbmkgYmF0Y2ggc3BpcyAlcwoAyGlzdGltIHByaXZyZW1lbmkgYmF0Y2ggc3BpcyAlcy4KAEtvbGl6aWplPSVsZC8lbGQ9JS4wZiUlAFV6aW1hbSB1IHJhem1hdHJhbmplIHNwaXMgbWV0dSBgJXMnLgoATmFzdGF2bGplbgBOaXNhbSBzZSBtb2dhbyB2cmF0aXRpIHUgcHJ2b3RuaSBkaXJla3RvcmlqLgBTdHZhcmFtIHByaXZyZW1lbmkgYmF0Y2ggc3BpcyAlcwoAVHJlbnV0bm8gdnJpamVtZQBDdXN0b21zIG5l5mUgZWtzcG9ydGlyYXRpOiAlcwoAU2lnbmFsIHphIG9wYXNub3N0AEVNVCB6YW1qYQBHcmW5a2EgcHJpIHBva3JldGFuanUsICVkCgBHcmW5a2EsIHByYXpuYSBuYXJlZGJhCgBVbWplc3RvIHRvZ2EsIGl6dnK5YXZhbSAlcwoAU3V2ablhbiB0ZWtzdCBuYWtvbiBkaXJla3RpdmUgYCVzJwBOaXNhbSB1c3BpbyBwb25vdm8gaXpncmFkaXRpIG1ha2VmaWxlIGAlcycuAE5pamUgdXNwamVsYSBwb25vdm5hIGl6cmFkYSBzcGlzYSBtZXRlIGAlcycuCgBTcGlzIGAlcycgbmUgcG9zdG9qaS4KAFNwaXMgYCVzJyB2ZeYgamUgYmlvIHV6ZXQgdSByYXptYXRyYW5qZS4KAFByZWtvcmHoZW5vIG9ncmFuaehlbmplIHZlbGnoaW5lIHNwaXNhAFphdnK5ZW5pIHByZXJla3Zpeml0aSBzcGlzYSBtZXRlIGAlcycuCgBaYXZyuWlvIHMgYb51cmlyYW5qZW0gc3Bpc2EgYCVzJy4KAEFyaXRtZXRp6GtpIGtvcHJvY2Vzb3IgbmlqZSBkb3N0dXBhbi4ASXpuaW1rYSBmbG9hdGluZyBwb2ludGEATmG5YW8gaW1wbGljaXRuaSBwcm9waXMgemEgYCVzJy4KAE5huWFvIHByZXJla3Zpeml0IGAlcycga2FvIFZQQVRIIGAlcycKAE9kdXN0YWplbSBvZCBzcGlzYSBtZXRlIGAlcycuCgBJemd1YmxqZW5hIHZlemEASS9PIG1vZ3XmAElPVCB6YW1rYQBOZWRvcHW5dGVuYSBpbnN0cnVrY2lqYQBVa2xqdehlbmkgbWFrZWZpbGUgYCVzJyBuZSBtb75lIHNlIG5h5mkuAFphaHRqZXYgemEgaW5mb3JtYWNpam9tAEluaWNpamFsaXppcmFuIHByaXN0dXAAUHJla2lkAFViaWplbgBPcHRlcmXmZW5qZT0lbGQvJWxkPSUuMGYlJSwgAFRyYb5pbSBwcm9waXMgcyBwb3NyZWRuaW0gc3Bpc29tIGAlcycuCgBUcmG+aW0gaW1wbGljaXRuaSBwcm9waXMgemEgYCVzJy4KAFRyYb5pbSBpbXBsaWNpdG5pIHByb3BpcyB6YSBgJXMnIGtvamkgcHJpcGFkYSBlbGVtZW50dSBhcmhpdmUuCgBNYWtlb3YgcHJpc3R1cABNYWtlZmlsZSBgJXMnIGJpIG1vZ2FvIHVwYXN0aSB1IHBldGxqdTsgbmUgaXpncmHwdWplbSBnYSBwb25vdm8uCgBNYWtlZmlsZSBgJXMnIG5lIG1vvmUgc2UgbmHmaQBNYWtlZmlsZSBzYSBzdGFuZGFyZG5vZyB1bGF6YSBuYXZlZGVuIGR2YXB1dC4AUHJvaXp2b2RpbSBgJXMnIHpib2cgb3BjaWplIGFsd2F5cy1tYWtlLgoA6GxhbiBgJXMnJXM6ICVsZCBiYWp0b3ZhIG5hICVsZCAoJWxkKS4KAE1vcmFtIHBvbm92byBpemdyYWRpdGkgbWV0dSBgJXMnLgoATmlqZWRhbgBOaWplZGFuIGltcGxpY2l0bmkgcHJvcGlzIG5pc2FtIG5huWFvIHphIGAlcycuCgBOZW1hIHBvdHJlYmUgcG9ub3ZvIGl6cmFkaXRpIG1ldHUgYCVzJwBOZW1hIG1ldGEATmlqZWRuYSBtZXRhIG5pamUgbmF2ZWRlbmEsIG5pdGkgamUgaWplZGFuIG1ha2VmaWxlIHByb25h8GVuAE5puXRhIHphIG5hcHJhdml0aSB6YSBgJXMnLgBPcGNpamU6CgBQYXJhbGVsbmkgcG9zbG92aSAoLWopIG5pc3UgcG9kcr5hbmkgbmEgb3ZvaiBwbGF0Zm9ybWkuAE5lc3RhbG8gc3RydWplAFByZXJla3Zpeml0IGAlcycgbm92aWppIGplIG9kIG1ldGUgYCVzJzoKAFByZXJla3Zpeml0IGAlcycgc3RhcmlqaSBqZSBvZCBtZXRlIGAlcycuCgBQcmVyZWt2aXppdCBgJXMnIHNsdb5pIHNhbW8gemEgcmVkb3NsamVkIHByaSBtZXRpIGAlcycuCgBQcmVyZWt2aXppdCBgJXMnIG1ldGUgYCVzJyBuZSBwb3N0b2ppLgoAUHJvZmFqbGVyc2thILl0b3BlcmljYSBpc3Rla2xhAMhpc3RpbSBzcGlzIGAlcycuCgBQcmVzdGFuYWsAyGl0YW0gbWFrZWZpbGUgYCVzJwDIaXRhbSBtYWtlZmlsZW92ZS4uLgoATmVkYXZubyBiZXp1c3BqZblubyBwb2t1uWFvIGG+dXJpcmF0aSBzcGlzIGAlcycKAFJla3Vyeml2bmEgdmFyaWphYmxhIGAlcycgcG9rYXp1amUgKG5hIGtyYWp1KSBuYSBzZWJlAFByZXVzbWplcmlvIGdyZblrZSB1ICVzCgBQcmV1c21qZXJpbyB1bGF6IGl6ICVzCgBQcmV1c21qZXJpbyBpemxheiB1ICVzCgBQcmVyYXNwb2RqZWxhPSVkLCAAT2RiYWN1amVtIG5lbW9ndeYgcHJlcmVrdml6aXQgYCVzJy4KAE9kYmFjdWplbSBuZW1vZ3XmZSBwcmF2aWxvIHByZXJla3Zpeml0YSBgJXMnLgoAQnJpuWVtIHBvc3JlZG5lIHNwaXNlLi4uCgBVb+hlbmUgZ3JluWtlIHByaWphdml0ZSBuYSBhZHJlc3UgPGJ1Zy1tYWtlQGdudS5vcmc+LgoAUmVzZXRpcmFtIG5hIG1vZCBqZWRub2cgcG9zbGEgKC1qMSkuAEl6Z3VibGplbiByZXN1cnMAU0lHUEhPTkUAU0lHV0lORABTZWdtZW50YWNpanNrYSBncmW5a2EASm+5IHV2aWplayBhvnVyaXJhbSBzcGlzIGAlcycuCgBaYXVzdGF2bGplbgBaYXVzdGF2bGplbiAoc2lnbmFsb20pAFphdXN0YXZsamVuICh1bm9zb20gcyBUVFktamEpAFphdXN0YXZsamVuIChvdXRwdXRvbSBzIFRUWS1qYSkAVXNwamW5bm8gcG9ub3ZubyBpenJhZGlvIHNwaXMgbWV0dSBgJXMnLgoATWV0YSBgJXMnIGplIGR2b3Rv6GthLCBhIG5lbWEgcHJlcmVrdml6aXRhLgoATWV0YSBgJXMnIG5pamUgcG9ub3ZvIGl6cmHwZW4gemJvZyBncmW5YWthLgBTcGlzIG1ldGEgYCVzJyB0cmViYSBwb25vdm51IGl6cmFkdSB6Ym9nIC1xLgoAVGVybWluaXJhbgBQcmVyZWt2aXppdGkgYCVzJyBzdSB1IGl6cmFkaS4KAFphbWthIHphIHNsaWplZC9wcmVraWRudSB0b+hrdQBQb2t1uWF2YW0gcyBpbXBsaWNpdG5pbSBwcmVyZWt2aXppdG9tIGAlcycuCgBQb2t1uWF2YW0gcHJvcGlzIHV6b3JrYSBzIGtvcmlqZW5vbSBgJS4qcycuCgBQb2t1uWF2YW0gcyBwcm9waXNvbSBwcmVyZWt2aXppdGEgYCVzJy4KAE5lcG96bmF0YSB1Z3Jh8GVuYSBuYXJlZGJhIGAlcycKAE5lcG96bmF0YSBncmW5a2EgJWQAQb51cmlyYW0gY2lsam5lIG1ldGUuLi4uCgBBvnVyaXJhbSBtYWtlZmlsZW92ZS4uLi4KAEhpdG5vIHN0YW5qZSBJL08tYQBVcG9yYWJhOiAlcyBbb3BjaWplXSBbbWV0YV0gLi4uCgBLb3Jpc25p6GtpIHByaXN0dXAAS29yaXNuaehraSBkZWZpbmlyYW4gc2lnbmFsIDEAS29yaXNuaehraSBkZWZpbmlyYW4gc2lnbmFsIDIAS29yaXN0aW0gcG9kcmF6dW1pamV2YW5lIG5hcmVkYmUgemEgYCVzJy4KAFZpcnR1YWxuYSC5dG9wZXJpY2EgaXN0ZWtsYQBVcG96b3JlbmplOiBQcmF6bm8gcHJldXNtamVyYXZhbmplCgBVcG96b3JlbmplOiBTcGlzIGAlcycgaW1hIHZyaWplbWUgcHJvbWplbmUgdSBidWR15m5vc3RpAFByb21pamVuamVuIHByb3pvcgBbJXNdIEdyZblrYSAlZCAoaWdub3JpcmFuYSkAYCVzJyBqZSBhvnVyaXJhbi4AZGlyZWt0aXZhIGBvdmVycmlkZScAcG9rdblhaiBrb3JpuXRlbmphIG5lcG9kcr5hbmUgbW9ndeZub3N0aTogYCVzJwBhdXRvbWF0c2tvAGFsaSBgJXMnIHNlIHNhZGEgc21hdHJhIGlzdGltIHNwaXNvbSBrYW8gaSBgJXMnLgBuZSBtb2d1IHByZWltZW5vdmF0aSBgJXMnIHMgZHZpamUgZHZvdG/oa2UgdSBgJXMnIHMgamVkbm9tIGR2b3Rv6GtvbQBuZSBtb2d1IHByZWltZW5vdmF0aSBgJXMnIHMgamVkbm9tIGR2b3Rv6GtvbSB1IGAlcycgcyBkdmlqZSBkdm90b+hrZQBuZSBtb2d1IHNpbG9tIHByaW1pamVuaXRpIG9ncmFuaehlbmplIGxvYWRhOiAAbmUgbW9ndSBzaWxvbSBwcmltaWplbml0aSBvZ3JhbmnoZW5qZSBsb2FkYSBuYSBvdm9tIG9wZXJhdGl2bm9tIHN1c3RhdnUAa29tYW5kbmEgbGluaWphAGtyZWlyYW0gcGlwZSB6YSBwb3NhbwBwb2RyYXp1bWlqZXZhbm8AZ290b3Ygc2Egc2xlZXAoMzApLiAgTmFzdGF2bGphbS4KAGR1cCBqb2JzZXJ2ZXIAcHJhemFuIHN0cmluZyBuaWplIHZhbGphbiBuYXppdiBzcGlzYQBwcmF6bm8gaW1lIHZhcmlqYWJsZQBva29sabkAb2tvbGm5IHBvZCAtZQBzdXZpuWFuIGAlcycAcHJ2aSBhcmd1bWVudCBmdW5rY2lqZSBgd29yZCcgbW9yYSBiaXRpIHZl5mkgb2QgMABmb3BlbiAocHJpdnJlbWVuaSBzcGlzKQBmd3JpdGUocHJpdnJlbWVuaSBzcGlzKQBwcmV2ZXN0aT8AdW51dHJhuW5qYSBncmW5a2E6IGAlcycgY29tbWFuZF9zdGF0ZQBpbnRlcm5hIGdyZblrYTogbmVpc3ByYXZhbiAtLWpvYnNlcnZlci1mZHMgc3RyaW5nIGAlcycAaW50ZXJuYSBncmW5amE6IHZpuWVzdHJ1a28gcG9qYXZsaml2YW5qZSBvcGNpamUgLS1qb2JzZXJ2ZXItZmRzAG5laXNwcmF2bmEgc2ludGFrc2EgdXZqZXRhAG1ha2VmaWxlAG5lZG9zdGFqZSBgZW5kZWYnLCBuZWRvdnK5ZW4gYGRlZmluZScAbmVkb3N0YWplIGBlbmRpZicAbmVkb3N0YWp1IHNlcGFyYXRvcmktJXMAbmVkb3N0YWplIHV6b3JhayBtZXRlAHBvbWlqZblhbmkgaW1wbGljaXRuaSBpIG5vcm1hbG5pIHByb3Bpc2kAcG9taWpluWFuaSBpbXBsaWNpdG5pIGkgc3RhdGnoa2kgcHJvcGlzaSB1em9ya2EAdmm5ZXN0cnVraSB1em9yY2kgbWV0YQBuaWplZG5hAHBydmkgYXJndW1lbnQgZnVua2NpamUgYHdvcmQnIG5pamUgYnJvagBkcnVnaSBhcmd1bWVudCBmdW5rY2lqZSBgd29yZGxsaXN0JyBuaWplIGJyb2oAZHJ1Z2kgYXJ1bWVudCBmdW5rY2lqZSBgd29yZGxpc3QnIG5pamUgYnJvagBzYW1vIGplZGFuIGBlbHNlJyBwbyB1dmpldHUAcmVhZCBqb2JzIHBpcGUAbWV0YSBgJXMnIG5lIG9kZ292YXJhIHV6b3JrdSBtZXRlAG1ldGEgYCVzJyB6YWRhbiB2abllIG5lZ28gamVkbm9tIHUgaXN0b20gcHJvcGlzdS4Ac3BpcyBtZXRhIGAlcycgaW1hIHVub3NlIGkga29kIDogaSBrb2QgOjoAdXpvcmFrIG1ldGUgbmUgc2Fkcr5pIGAlJScAb3BjaWphIGAtJWMnIHRyYb5pIHBveml0aXZhbiBjamVsb2Jyb2puaSBhcmd1bWVudAB0b3VjaCBkaWplbGEgYXJoaXZlIG5pamUgcmFwb2xvvml2IG5hIFZNUy11AHRvdWNoOiBBcmhpdmEgYCVzJyBuZSBwb3N0b2ppAHRvdWNoOiBOZWlzcHJhdmFuIHBvdnJhdG5pIGtvZCBpeiBhcl9tZW1iZXJfdG91Y2ggbmEgYCVzJwB0b3VjaDog6GxhbiBgJXMnIG5lIHBvc3RvamkgdSBgJXMnAHRvdWNoOiBgJXMnIG5pamUgdmFsamFuYSBhcmhpdmEAbmUgbW9ndSBvdHZvcml0aSBiaWJsaW90ZWt1IGAlcycgZGEgbmHwZW0g6GxhbiBgJXMnAG5lcG96bmF0YSBuYXpuYWthIG5pdm9hIGRlYnVnYSBgJXMnAG5lcG96bmF0IHNpZ25hbAB1bmxpbmsgKHByaXZyZW1lbmkgc3Bpcyk6IABuZWRvdnK5ZW4gcG96aXYgZnVua2NpamkgYCVzJzogbmVkb3N0YWplIGAlYycAbmVkb3ZyuWVuYSByZWZlcmVuY2EgbmEgdmFyaWphYmx1AHByaXZpZG5hIG1lbW9yaWphIHBvdHJvuWVuYQB1cG96b3JlbmplOiB1b+hlbmEgamUgbmVwcmF2aWxub3N0IHNhdGEuICBJemdyYWRuamEgYmkgbW9nbGEgYml0aSBuZWRvdnK5ZW5hLgB1cG96b3JlbmplOiAtak4gc2UgZm9yc2lyYSB1IHBvZC1tYWtldTogb25lbW9ndeZ1amVtIGpvYnNlcnZlciBtb2QuAHVwb3pvcmVuamU6IE5VTCB6bmFrIHVv6GVuOyBvc3RhdGFrIHJldGthIHNlIHphbmVtYXJ1amUAdXBvem9yZW5qZTogam9ic2VydmVyIG5lZG9zdHVwYW46IGtvcmlzdGltIC1qMS4gIERvZGFqIGArJyBuYSByb2RpdGVsamV2IG1ha2UgcHJvcGlzLgB1cG96b3JlbmplOiBuZWRlZmluaXJhbmEgdmFyaWphYmxhIGAlLipzJwB3cml0ZSBqb2JzZXJ2ZXIA