PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+UEhBUkFPSCDigJQgQ29kZWJhc2UgSW50ZWxsaWdlbmNlIGZvciBBSSBBZ2VudHM8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IllvdXIgY29kZWJhc2UgYXMgYSBrbm93bGVkZ2UgZ3JhcGguIDJLIHRva2VucyBpbnN0ZWFkIG9mIDQwSy4gV29ya3Mgd2l0aCBDbGF1ZGUsIEN1cnNvciwgV2luZHN1cmYsIGFueSBNQ1AgY2xpZW50LiI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9VlQzMjMmZmFtaWx5PUlCTStQbGV4K01vbm86d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PVByZXNzK1N0YXJ0KzJQJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tZ29sZDogI2Q0YTg0MzsKICAgICAgICAgICAgLS1nb2xkLWJyaWdodDogI2YwYzg1NTsKICAgICAgICAgICAgLS1nb2xkLWRpbTogIzhhNmQyYjsKICAgICAgICAgICAgLS1zYW5kOiAjYzRhMjY1OwogICAgICAgICAgICAtLXN0b25lOiAjMmEyNTIwOwogICAgICAgICAgICAtLXN0b25lLWxpZ2h0OiAjM2EzNTJlOwogICAgICAgICAgICAtLXN0b25lLWxpZ2h0ZXI6ICM0YTQ0Mzg7CiAgICAgICAgICAgIC0tcGFweXJ1czogI2U4ZGNjODsKICAgICAgICAgICAgLS1nbG93OiByZ2JhKDIxMiwgMTY4LCA2NywgMC4xNSk7CiAgICAgICAgICAgIC0tZ2xvdy1zdHJvbmc6IHJnYmEoMjEyLCAxNjgsIDY3LCAwLjMpOwogICAgICAgICAgICAtLWdyZWVuOiAjNGFkZTgwOwogICAgICAgICAgICAtLWdyZWVuLWRpbTogIzIyYzU1ZTsKICAgICAgICAgICAgLS1yZWQ6ICNlZjQ0NDQ7CiAgICAgICAgICAgIC0tY3lhbjogIzIyZDNlZTsKICAgICAgICAgICAgLS1iZzogIzFhMTcxNDsKICAgICAgICAgICAgLS10ZXh0OiAjYzRiOTlhOwogICAgICAgICAgICAtLXRleHQtYnJpZ2h0OiAjZThkY2M4OwogICAgICAgIH0KCiAgICAgICAgKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQoKICAgICAgICBib2R5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmcpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dCk7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAvKiBTY2FubGluZSBvdmVybGF5ICovCiAgICAgICAgYm9keTo6YWZ0ZXIgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgICAgICAwZGVnLAogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsCiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAycHgsCiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMDMpIDJweCwKICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC4wMykgNHB4CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgIG1heC13aWR0aDogODIwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICAgICAgfQoKICAgICAgICAvKiDilIDilIDilIAgSEVBREVSIOKUgOKUgOKUgCAqLwogICAgICAgIC5oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMCAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1ydWxlIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQtZGltKTsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4OwogICAgICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgfQoKICAgICAgICAucHlyYW1pZC1hc2NpaSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CgogICAgICAgIC5sb2dvLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1ByZXNzIFN0YXJ0IDJQJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDM2cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkLWJyaWdodCk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxMnB4OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDQwcHggcmdiYSgyMTIsIDE2OCwgNjcsIDAuNCksIDAgMnB4IDAgdmFyKC0tZ29sZC1kaW0pOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIH0KCiAgICAgICAgLnRhZ2xpbmUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zYW5kKTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICB9CgogICAgICAgIC8qIOKUgOKUgOKUgCBNQ1AgSEVSTyBTRUNUSU9OIOKUgOKUgOKUgCAqLwogICAgICAgIC5tY3AtaGVybyB7CiAgICAgICAgICAgIG1hcmdpbjogNDhweCAwOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMTIsIDE2OCwgNjcsIDAuMDgpIDAlLCByZ2JhKDIxMiwgMTY4LCA2NywgMC4wMikgMTAwJSk7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5tY3AtaGVybzo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJ+KYhSBDT05ORUNUIE5PVyDimIUnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLTEycHg7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQcmVzcyBTdGFydCAyUCcsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1icmlnaHQpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KCiAgICAgICAgLm1jcC1oZXJvLWlubmVyIHsKICAgICAgICAgICAgcGFkZGluZzogNDBweCAzMnB4IDM2cHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5tY3AtaGVyby1kZXNjIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1icmlnaHQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIH0KCiAgICAgICAgLm1jcC11cmwtYm94IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3RvbmUpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkLWRpbSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycywgYm94LXNoYWRvdyAwLjJzOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAubWNwLXVybC1ib3g6aG92ZXIgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQtYnJpZ2h0KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgyMTIsIDE2OCwgNjcsIDAuMTUpOwogICAgICAgIH0KCiAgICAgICAgLm1jcC11cmwtYm94IGNvZGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQtYnJpZ2h0KTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsOwogICAgICAgIH0KCiAgICAgICAgLmNvcHktYnRuIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ29sZC1kaW0pOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgfQoKICAgICAgICAuY29weS1idG46aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWJnKTsKICAgICAgICB9CgogICAgICAgIC5jb3B5LWJ0bi5jb3BpZWQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1kaW0pOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLWRpbSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1iZyk7CiAgICAgICAgfQoKICAgICAgICAubWNwLXN0ZXBzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAwOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KCiAgICAgICAgLm1jcC1zdGVwIHsKICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4OwogICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1zdG9uZS1saWdodGVyKTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLm1jcC1zdGVwOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH0KCiAgICAgICAgLm1jcC1zdGVwLW51bSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUHJlc3MgU3RhcnQgMlAnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgICB9CgogICAgICAgIC5tY3Atc3RlcC10ZXh0IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgICAgfQoKICAgICAgICAubWNwLW9yIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1kaW0pOwogICAgICAgICAgICBtYXJnaW46IDE0cHggMDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICB9CgogICAgICAgIC5jbGF1ZGUtY29kZS1ib3ggY29kZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLmNjLXByb21wdCB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7CiAgICAgICAgfQoKICAgICAgICAubWNwLWNsaWVudHMgewogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgICAgICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkLWRpbSk7CiAgICAgICAgfQoKICAgICAgICAubWNwLWNsaWVudHMgc3BhbiB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0KTsKICAgICAgICB9CgogICAgICAgIC8qIOKUgOKUgOKUgCBCRVRBIEJBREdFIOKUgOKUgOKUgCAqLwogICAgICAgIC5iZXRhLW1hcnF1ZWUgewogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zdG9uZS1saWdodGVyKTsKICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDhweDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICB9CgogICAgICAgIC5iZXRhLW1hcnF1ZWUtaW5uZXIgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIGFuaW1hdGlvbjogbWFycXVlZSAzMHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBtYXJxdWVlIHsKICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KCiAgICAgICAgLyog4pSA4pSA4pSAIENPTVBBUklTT04gVEFCTEUg4pSA4pSA4pSAICovCiAgICAgICAgLmNvbXBhcmlzb24gewogICAgICAgICAgICBtYXJnaW46IDQ4cHggMDsKICAgICAgICB9CgogICAgICAgIC5jb21wYXJpc29uLWdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7CiAgICAgICAgfQoKICAgICAgICAuY29tcGFyaXNvbi1jb2wgewogICAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgLmNvbXBhcmlzb24tY29sOmZpcnN0LWNoaWxkIHsKICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICB9CgogICAgICAgIC5jb21wYXJpc29uLWhlYWRlciB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUHJlc3MgU3RhcnQgMlAnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zdG9uZS1saWdodGVyKTsKICAgICAgICB9CgogICAgICAgIC5jb21wYXJpc29uLWNvbDpmaXJzdC1jaGlsZCAuY29tcGFyaXNvbi1oZWFkZXIgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tcmVkKTsKICAgICAgICB9CgogICAgICAgIC5jb21wYXJpc29uLWNvbDpsYXN0LWNoaWxkIC5jb21wYXJpc29uLWhlYWRlciB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7CiAgICAgICAgfQoKICAgICAgICAuY29tcGFyaXNvbi1pdGVtIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICAgICAgICBwYWRkaW5nOiA2cHggMDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CgogICAgICAgIC5jb21wYXJpc29uLWl0ZW06OmJlZm9yZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuY29tcGFyaXNvbi1jb2w6Zmlyc3QtY2hpbGQgLmNvbXBhcmlzb24taXRlbTo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJ+Kclyc7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yZWQpOwogICAgICAgIH0KCiAgICAgICAgLmNvbXBhcmlzb24tY29sOmxhc3QtY2hpbGQgLmNvbXBhcmlzb24taXRlbTo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJ+KXhic7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICB9CgogICAgICAgIC8qIOKUgOKUgOKUgCBIT1cgSVQgV09SS1Mg4pSA4pSA4pSAICovCiAgICAgICAgLmhvdy1zZWN0aW9uIHsKICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7CiAgICAgICAgfQoKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUHJlc3MgU3RhcnQgMlAnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQtYnJpZ2h0KTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvdy1zdGVwcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMDsKICAgICAgICB9CgogICAgICAgIC5ob3ctc3RlcCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDhweCAxZnI7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHQpOwogICAgICAgIH0KCiAgICAgICAgLmhvdy1zdGVwOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9CgogICAgICAgIC5ob3ctc3RlcC1udW0gewogICAgICAgICAgICBmb250LWZhbWlseTogJ1ByZXNzIFN0YXJ0IDJQJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvdy1zdGVwLXRleHQgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1icmlnaHQpOwogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgICAgfQoKICAgICAgICAuaG93LXN0ZXAtdGV4dCBzdHJvbmcgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1icmlnaHQpOwogICAgICAgIH0KCiAgICAgICAgLyog4pSA4pSA4pSAIFRFUk1JTkFMIERFTU8g4pSA4pSA4pSAICovCiAgICAgICAgLnRlcm1pbmFsIHsKICAgICAgICAgICAgbWFyZ2luOiA0OHB4IDA7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0b25lLWxpZ2h0ZXIpOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdG9uZSk7CiAgICAgICAgfQoKICAgICAgICAudGVybWluYWwtYmFyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXN0b25lLWxpZ2h0ZXIpOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7CiAgICAgICAgfQoKICAgICAgICAudGVybWluYWwtZG90IHsKICAgICAgICAgICAgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdG9uZS1saWdodGVyKTsKICAgICAgICB9CgogICAgICAgIC50ZXJtaW5hbC1kb3Q6bnRoLWNoaWxkKDEpIHsgYmFja2dyb3VuZDogI2VmNDQ0NDsgfQogICAgICAgIC50ZXJtaW5hbC1kb3Q6bnRoLWNoaWxkKDIpIHsgYmFja2dyb3VuZDogI2Y1OWUwYjsgfQogICAgICAgIC50ZXJtaW5hbC1kb3Q6bnRoLWNoaWxkKDMpIHsgYmFja2dyb3VuZDogIzIyYzU1ZTsgfQoKICAgICAgICAudGVybWluYWwtdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQpOwogICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgfQoKICAgICAgICAudGVybWluYWwtYm9keSB7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAudC1wcm9tcHQgeyBjb2xvcjogdmFyKC0tZ3JlZW4pOyB9CiAgICAgICAgLnQtdG9vbCB7IGNvbG9yOiB2YXIoLS1jeWFuKTsgfQogICAgICAgIC50LWxhYmVsIHsgY29sb3I6IHZhcigtLWdvbGQpOyB9CiAgICAgICAgLnQtdmFsdWUgeyBjb2xvcjogdmFyKC0tdGV4dC1icmlnaHQpOyB9CiAgICAgICAgLnQtd2FybiB7IGNvbG9yOiB2YXIoLS1yZWQpOyB9CiAgICAgICAgLnQtZGltIHsgY29sb3I6IHZhcigtLXRleHQpOyBvcGFjaXR5OiAwLjU7IH0KICAgICAgICAudC1jb21tZW50IHsgY29sb3I6IHZhcigtLWdvbGQtZGltKTsgZm9udC1zdHlsZTogaXRhbGljOyB9CgogICAgICAgIC8qIOKUgOKUgOKUgCBUT09MUyBHUklEIOKUgOKUgOKUgCAqLwogICAgICAgIC50b29scy1zZWN0aW9uIHsKICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7CiAgICAgICAgfQoKICAgICAgICAudG9vbHMtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN0b25lLWxpZ2h0KTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7CiAgICAgICAgfQoKICAgICAgICAudG9vbC1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmcpOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2wtbmFtZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1icmlnaHQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbC1kZXNjIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dCk7CiAgICAgICAgfQoKICAgICAgICAvKiDilIDilIDilIAgQVVESUVOQ0Ug4pSA4pSA4pSAICovCiAgICAgICAgLmF1ZGllbmNlLXNlY3Rpb24gewogICAgICAgICAgICBtYXJnaW46IDYwcHggMDsKICAgICAgICB9CgogICAgICAgIC5hdWRpZW5jZS1pdGVtIHsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHQpOwogICAgICAgIH0KCiAgICAgICAgLmF1ZGllbmNlLWl0ZW06bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH0KCiAgICAgICAgLmF1ZGllbmNlLXdobyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1icmlnaHQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgICAgfQoKICAgICAgICAuYXVkaWVuY2Utd2h5IHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQpOwogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQoKICAgICAgICAvKiDilIDilIDilIAgQk9UVE9NIENUQSDilIDilIDilIAgKi8KICAgICAgICAuYm90dG9tLWN0YSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWdvbGQtZGltKTsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWdvbGQtZGltKTsKICAgICAgICB9CgogICAgICAgIC5ib3R0b20tY3RhLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJyaWdodCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CgogICAgICAgIC5ib3R0b20tY3RhLXN1YiB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgLmJvdHRvbS1tY3AtdXJsIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3RvbmUpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgcGFkZGluZzogMTRweCAyNHB4OwogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmJvdHRvbS1tY3AtdXJsOmhvdmVyIHsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDI0cHggcmdiYSgyMTIsIDE2OCwgNjcsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAuYm90dG9tLW1jcC11cmwgY29kZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1icmlnaHQpOwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmctbm90ZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQtZGltKTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICB9CgogICAgICAgIC8qIOKUgOKUgOKUgCBGT09URVIg4pSA4pSA4pSAICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDYwcHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0b25lLWxpZ2h0ZXIpOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1saW5rcyB7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWxpbmtzIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZC1kaW0pOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIG1hcmdpbjogMCA4cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWxpbmtzIGE6aG92ZXIgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgfQoKICAgICAgICAvKiDilIDilIDilIAgUkVTUE9OU0lWRSDilIDilIDilIAgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgICAgICAgICAgLmxvZ28tdGV4dCB7IGZvbnQtc2l6ZTogMjRweDsgbGV0dGVyLXNwYWNpbmc6IDZweDsgfQogICAgICAgICAgICAudGFnbGluZSB7IGZvbnQtc2l6ZTogMTZweDsgfQogICAgICAgICAgICAubWNwLWhlcm8taW5uZXIgeyBwYWRkaW5nOiAzMnB4IDIwcHggMjhweDsgfQogICAgICAgICAgICAubWNwLXVybC1ib3ggeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfQogICAgICAgICAgICAubWNwLXVybC1ib3ggY29kZSB7IGZvbnQtc2l6ZTogMTJweDsgd29yZC1icmVhazogYnJlYWstYWxsOyB9CiAgICAgICAgICAgIC5jbGF1ZGUtY29kZS1ib3ggY29kZSB7IGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAgIC5tY3Atc3RlcHMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH0KICAgICAgICAgICAgLm1jcC1zdGVwIHsgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7IHBhZGRpbmc6IDAgMCAxMnB4OyB9CiAgICAgICAgICAgIC5tY3Atc3RlcDpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAgICAgICAuY29tcGFyaXNvbi1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgICAgICAgICAgLmNvbXBhcmlzb24tY29sOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc3RvbmUtbGlnaHRlcik7IH0KICAgICAgICAgICAgLnRvb2xzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgICAgICAgICAucHlyYW1pZC1hc2NpaSB7IGZvbnQtc2l6ZTogOHB4OyB9CiAgICAgICAgICAgIC50ZXJtaW5hbC1ib2R5IHsgZm9udC1zaXplOiAxMXB4OyB9CiAgICAgICAgfQoKICAgICAgICAvKiBGbGlja2VyIGFuaW1hdGlvbiBmb3IgcHlyYW1pZCAqLwogICAgICAgIEBrZXlmcmFtZXMgZmxpY2tlciB7CiAgICAgICAgICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC43OyB9CiAgICAgICAgICAgIDUwJSB7IG9wYWNpdHk6IDAuODU7IH0KICAgICAgICAgICAgOTIlIHsgb3BhY2l0eTogMC43OyB9CiAgICAgICAgICAgIDk0JSB7IG9wYWNpdHk6IDAuNDsgfQogICAgICAgICAgICA5NiUgeyBvcGFjaXR5OiAwLjg7IH0KICAgICAgICB9CgogICAgICAgIC5weXJhbWlkLWFzY2lpIHsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbGlja2VyIDhzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoKICAgIDwhLS0gSEVBREVSIC0tPgogICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItcnVsZSI+4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHlyYW1pZC1hc2NpaSI+ICAgICAgICAgICAgICAgIC4sYWFkZCInICAgIGAiYmJhYSwuCiAgICAgICAgICAgICxhZDg4ODhQJyAgICAgICAgICBgWTg4ODhiYSwKICAgICAgICAgLGE4ODg4ODg4OCAgICAgICAgICAgICAgODg4ODg4ODhhLAogICAgICAgYTg4ODg4ODg4ODg4ICAgICAgICAgICAgICA4ODg4ODg4ODg4OGEKICAgICBhODg4ODg4ODg4ODg4OGIsICAgICAgICAgICxkODg4ODg4ODg4ODg4OGEKICAgIGQ4ODg4ODg4ODg4ODg4ODg4YixfICAgIF8sZDg4ODg4ODg4ODg4ODg4ODhiCiAgIGQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OGIKICBkODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OGIKIEk4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODhJCiw4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OCwKSTg4ODg4ODg4ODg4ODg4ODhQWTg4ODg4ODhQWTg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4SQo4ODg4ODg4ODg4ODg4ODg4IiAgIjg4ODg4IiAgIjg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4Cjg6Ojo6Ojo6Ojo6Ojo6OicgICAgYDo6OicgICAgYDo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6OjgKSWI6Ojo6Ojo6Ojo6OiIgICAgICAgICIgICAgICAgIGA6Ojo6OjonIGA6Ojo6Ojo6OjpkSQpgODg4ODg4ODg4OFAgICAgICAgICAgICBZODg4ODg4ODg4ODhQICAgICBZODg4ODg4ODgnCiBJYjo6Ojo6OjonICAgICAgICAgICAgICBgOjo6Ojo6Ojo6JyAgICAgICBgOjo6OjpkSQogIFliOjo6OiIgICAgICAgICAgICAgICAgICAiOjo6OjoiICAgICAgICAgICAiOjpkUAogICBZODhQICAgICAgICAgICAgICAgICAgICAgIFk4UCAgICAgICAgICAgICAgIGBQCiAgICBZJyAgICAgICAgICAgICAgICAgICAgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOjo6Ojo6Ojo6Ojo7OCIKICAgICAgICI4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgiCiAgICAgICAgIGAiODs6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojs4IicKICAgICAgICAgICAgYCJZYTs6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo7YVAiJwogICAgICAgICAgICAgICAgYGAiIllZYmJhYWFhZGRQUCIiJyc8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLXRleHQiPlBIQVJBT0g8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWdsaW5lIj5Db2RlYmFzZSBJbnRlbGxpZ2VuY2UgZm9yIEFJIEFnZW50czwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBNQ1AgSEVSTyAtLT4KICAgIDxkaXYgY2xhc3M9Im1jcC1oZXJvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtY3AtaGVyby1pbm5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jcC1oZXJvLWRlc2MiPgogICAgICAgICAgICAgICAgQWRkIHRoaXMgTUNQIHNlcnZlciB0byB5b3VyIEFJIGFnZW50Ljxicj4KICAgICAgICAgICAgICAgIEF1dGggZmxvdyBzdGFydHMuIEdpdEh1YiBhcHAgaW5zdGFsbHMuIFlvdSdyZSBpbi4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jcC11cmwtYm94IiBvbmNsaWNrPSJjb3B5TUNQKHRoaXMsICdodHRwczovL3BoYXJhb2gtbWNwLm9ucmVuZGVyLmNvbScpIiB0aXRsZT0iQ2xpY2sgdG8gY29weSI+CiAgICAgICAgICAgICAgICA8Y29kZT5odHRwczovL3BoYXJhb2gtbWNwLm9ucmVuZGVyLmNvbTwvY29kZT4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnRuIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY29weU1DUCh0aGlzLnBhcmVudEVsZW1lbnQsICdodHRwczovL3BoYXJhb2gtbWNwLm9ucmVuZGVyLmNvbScpIj5DT1BZPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtY3Atb3IiPuKAlCBvciBpbnN0YWxsIHZpYSBDbGF1ZGUgQ29kZSDigJQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWNwLXVybC1ib3ggY2xhdWRlLWNvZGUtYm94IiBvbmNsaWNrPSJjb3B5TUNQKHRoaXMsICdjbGF1ZGUgbWNwIGFkZCBwaGFyYW9oIC0tdHJhbnNwb3J0IHNzZSBodHRwczovL3BoYXJhb2gtbWNwLm9ucmVuZGVyLmNvbS9zc2UnKSIgdGl0bGU9IkNsaWNrIHRvIGNvcHkiPgogICAgICAgICAgICAgICAgPGNvZGU+PHNwYW4gY2xhc3M9ImNjLXByb21wdCI+JDwvc3Bhbj4gY2xhdWRlIG1jcCBhZGQgcGhhcmFvaCAtLXRyYW5zcG9ydCBzc2UgaHR0cHM6Ly9waGFyYW9oLW1jcC5vbnJlbmRlci5jb20vc3NlPC9jb2RlPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idG4iIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjb3B5TUNQKHRoaXMucGFyZW50RWxlbWVudCwgJ2NsYXVkZSBtY3AgYWRkIHBoYXJhb2ggLS10cmFuc3BvcnQgc3NlIGh0dHBzOi8vcGhhcmFvaC1tY3Aub25yZW5kZXIuY29tL3NzZScpIj5DT1BZPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtY3Atc3RlcHMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWNwLXN0ZXAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jcC1zdGVwLW51bSI+MDE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtY3Atc3RlcC10ZXh0Ij5BZGQgTUNQIHNlcnZlciBVUkw8YnI+dG8geW91ciBBSSBjbGllbnQ8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWNwLXN0ZXAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jcC1zdGVwLW51bSI+MDI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtY3Atc3RlcC10ZXh0Ij5BdXRob3JpemUgdmlhIE9BdXRoPGJyPiYgaW5zdGFsbCBHaXRIdWIgYXBwPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jcC1zdGVwIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtY3Atc3RlcC1udW0iPjAzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWNwLXN0ZXAtdGV4dCI+WW91ciByZXBvcyBhcmUgbWFwcGVkLjxicj5TdGFydCBxdWVyeWluZy48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWNwLWNsaWVudHMiPldvcmtzIHdpdGggPHNwYW4+Q2xhdWRlPC9zcGFuPiDCtyA8c3Bhbj5DdXJzb3I8L3NwYW4+IMK3IDxzcGFuPldpbmRzdXJmPC9zcGFuPiDCtyBhbnkgTUNQIGNsaWVudDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBNQVJRVUVFIC0tPgogICAgPGRpdiBjbGFzcz0iYmV0YS1tYXJxdWVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZXRhLW1hcnF1ZWUtaW5uZXIiPuKYhSBOT1cgSU4gQkVUQSDimIUg4oCUIFlvdXIgY29kZWJhc2Ug4oaSIE5lbzRqIGtub3dsZWRnZSBncmFwaCDihpIgTUNQIHRvb2xzIHlvdXIgQUkgYWdlbnQgY2FuIHF1ZXJ5IOKAlCAySyB0b2tlbnMgaW5zdGVhZCBvZiA0MEsg4oCUIE5vIG1vcmUgYmxpbmQgY29kaW5nIOKAlCBObyBtb3JlIGR1cGxpY2F0ZSBmdW5jdGlvbnMg4oCUIOKYhSBQSEFSQU9IIFNFRVMgQUxMIOKYhSDigJQgTWFwcyBtb2R1bGVzLCBkZXBzLCBlbmRwb2ludHMsIGNyb25zLCBlbnYgdmFycywgYmxhc3QgcmFkaXVzIOKAlCDimIUgJDQ5L21vIEJFVEEg4piFIOKAlCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvimIUgTk9XIElOIEJFVEEg4piFIOKAlCBZb3VyIGNvZGViYXNlIOKGkiBOZW80aiBrbm93bGVkZ2UgZ3JhcGgg4oaSIE1DUCB0b29scyB5b3VyIEFJIGFnZW50IGNhbiBxdWVyeSDigJQgMksgdG9rZW5zIGluc3RlYWQgb2YgNDBLIOKAlCBObyBtb3JlIGJsaW5kIGNvZGluZyDigJQgTm8gbW9yZSBkdXBsaWNhdGUgZnVuY3Rpb25zIOKAlCDimIUgUEhBUkFPSCBTRUVTIEFMTCDimIUg4oCUIE1hcHMgbW9kdWxlcywgZGVwcywgZW5kcG9pbnRzLCBjcm9ucywgZW52IHZhcnMsIGJsYXN0IHJhZGl1cyDigJQg4piFICQ0OS9tbyBCRVRBIOKYhSDigJQ8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gQ09NUEFSSVNPTiAtLT4KICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24tZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24tY29sIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24taGVhZGVyIj5XSVRIT1VUIFBIQVJBT0g8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24taXRlbSI+UmVhZHMgZmlsZXMgb25lIGF0IGEgdGltZTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5CdXJucyA0MEsgdG9rZW5zIGV4cGxvcmluZzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5NaXNzZXMgY3Jvc3MtbW9kdWxlIGRlcHM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24taXRlbSI+V3JpdGVzIGR1cGxpY2F0ZSBmdW5jdGlvbnM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24taXRlbSI+UFJEcyBiYXNlZCBvbiB2aWJlczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5SZWZhY3RvcnMgYnJlYWsgY2FsbGVyczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5ObyBpZGVhIHdoYXQgaGl0cyBwcm9kPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLWNvbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLWhlYWRlciI+V0lUSCBQSEFSQU9IPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLWl0ZW0iPkZ1bGwgYXJjaGl0ZWN0dXJlIGluIDJLIHRva2VuczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5Lbm93cyBiZWZvcmUgaXQgdG91Y2hlczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5UcmFjZXMgNS1ob3AgZGVwIGNoYWluczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1pdGVtIj5GaW5kcyBleGlzdGluZyBjb2RlIGZpcnN0PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLWl0ZW0iPlBSRHMgZnJvbSBncm91bmQgdHJ1dGg8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24taXRlbSI+Qmxhc3QgcmFkaXVzIGJlZm9yZSBjaGFuZ2VzPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLWl0ZW0iPkV2ZXJ5IGVuZHBvaW50IG1hcHBlZDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gSE9XIElUIFdPUktTIC0tPgogICAgPGRpdiBjbGFzcz0iaG93LXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPuKWsiBIT1cgVEhFIFBZUkFNSUQgSVMgQlVJTFQg4payPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXBzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAtbnVtIj4xLjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAtdGV4dCI+PHN0cm9uZz5Qb2ludCBQaGFyYW9oIGF0IHlvdXIgcmVwby48L3N0cm9uZz4gVHJlZS1zaXR0ZXIgcGFyc2VzIGV2ZXJ5IGZpbGUg4oCUIGxhbmd1YWdlIGFnbm9zdGljLjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAtbnVtIj4yLjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG93LXN0ZXAtdGV4dCI+PHN0cm9uZz5Nb2R1bGVzLCBmdW5jdGlvbnMsIGRlcGVuZGVuY2llcywgZW5kcG9pbnRzLCBjcm9uIGpvYnMsIERCIHRhYmxlcywgZW52IHZhcnM8L3N0cm9uZz4g4oCUIGFsbCBleHRyYWN0ZWQgaW50byBhIE5lbzRqIGtub3dsZWRnZSBncmFwaC48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imhvdy1zdGVwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imhvdy1zdGVwLW51bSI+My48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imhvdy1zdGVwLXRleHQiPjxzdHJvbmc+WW91ciBBSSBhZ2VudCBjb25uZWN0cyB2aWEgTUNQLjwvc3Ryb25nPiBTZXZlbiB0b29scy4gRnVsbCBhcmNoaXRlY3R1cmFsIGF3YXJlbmVzcy4gU3RydWN0dXJlZCBpbnRlbGxpZ2VuY2UsIG5vdCByYXcgZmlsZSBkdW1wcy48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFRFUk1JTkFMIERFTU8gLS0+CiAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtZG90Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtZG90Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtZG90Ij48L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLXRpdGxlIj5waGFyYW9oLW1jcC1zZXNzaW9uIOKAlCBjbGF1ZGUgY29kZT