Naar
Noté 4,7/5
d'après 199 avis clients
Badkamer Loper
$19.90
Klarna
Seulement $6.63 aujourd'hui
3 paiements sans frais avec Klarna
Premium quality materials
Designed for long-lasting durability
Meticulous finishing details
Badkamer Loperx1
$19.90
Opslaan
Pakket DUOOpslaan $3.98
$39.80$35.82
In stock
Beschrijving
Badkamer Loper
De Badkamer Loper combineert dagelijkse functionaliteit met blijvend comfort — ontworpen voor drukke badkamers en het echte leven.
- Loper formaat — lang, smal design ideaal voor gangen en wastafelgebieden
- Natuurlijk diatomiet steen — ultra-snelle absorptie, altijd droog in minuten
- Antislip onderkant — blijft stevig op natte vloeren liggen
- Antibacterieel — remt van nature schimmel- en meeldauwgroei
- Duurzaam — krasbestendig oppervlak gebouwd om lang mee te gaan
Waarom kiezen voor deze badkamer loper?
Smal loper formaat past perfect langs wastafels, badkuipen en smalle halgrenzende badkamers. Diatomiet oppervlak absorbeert water direct en droogt in minuten zonder onderhoud.
Specificaties
Geweldig
eyUgY29tbWVudCAlfQogIER5bmFtaWMgRkFROiBpbmplY3RzIHNpemUgZ3VpZGUgKyBtYXRlcmlhbC1zcGVjaWZpYyBxdWVzdGlvbnMgKyBnZW5lcmFsIHF1ZXN0aW9ucy4KeyUgZW5kY29tbWVudCAlfQoKeyUtIGFzc2lnbiB0aXRsZV9sb3dlciA9IHByb2R1Y3QudGl0bGUgfCBkb3duY2FzZSAtJX0KeyUtIGFzc2lnbiBpc19kaWF0b21pdGUgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBpc19jaGVuaWxsZSAgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBpc19iYW1ib28gICAgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBpc19mbHVmZnkgICAgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBpc19sdXh1cnkgICAgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBoYXNfc2l6ZXMgICAgPSBmYWxzZSAtJX0KeyUtIGFzc2lnbiBpc19ubCAgICAgICAgPSBmYWxzZSAtJX0KCnslLSBpZiByZXF1ZXN0LmxvY2FsZS5pc29fY29kZSA9PSAnbmwnIC0lfXslLSBhc3NpZ24gaXNfbmwgPSB0cnVlIC0lfXslLSBlbmRpZiAtJX0KCnslLSBpZiB0aXRsZV9sb3dlciBjb250YWlucyAnZGlhdG9taXRlJyAtJX17JS0gYXNzaWduIGlzX2RpYXRvbWl0ZSA9IHRydWUgLSV9eyUtIGVuZGlmIC0lfQp7JS0gaWYgdGl0bGVfbG93ZXIgY29udGFpbnMgJ2NoZW5pbGxlJyAgLSV9eyUtIGFzc2lnbiBpc19jaGVuaWxsZSAgPSB0cnVlIC0lfXslLSBlbmRpZiAtJX0KeyUtIGlmIHRpdGxlX2xvd2VyIGNvbnRhaW5zICdiYW1ib28nICAgIC0lfXslLSBhc3NpZ24gaXNfYmFtYm9vICAgID0gdHJ1ZSAtJX17JS0gZW5kaWYgLSV9CnslLSBpZiB0aXRsZV9sb3dlciBjb250YWlucyAnZmx1ZmZ5JyBvciB0aXRsZV9sb3dlciBjb250YWlucyAncGx1c2gnIC0lfXslLSBhc3NpZ24gaXNfZmx1ZmZ5ID0gdHJ1ZSAtJX17JS0gZW5kaWYgLSV9CnslLSBpZiB0aXRsZV9sb3dlciBjb250YWlucyAnbHV4dXJ5JyBvciB0aXRsZV9sb3dlciBjb250YWlucyAnbHV4ZScgLSV9eyUtIGFzc2lnbiBpc19sdXh1cnkgPSB0cnVlIC0lfXslLSBlbmRpZiAtJX0KCnslLSBmb3IgdGFnIGluIHByb2R1Y3QudGFncyAtJX0KICB7JS0gYXNzaWduIHQgPSB0YWcgfCBkb3duY2FzZSAtJX0KICB7JS0gaWYgdCBjb250YWlucyAnZGlhdG9taXRlJyAtJX17JS0gYXNzaWduIGlzX2RpYXRvbWl0ZSA9IHRydWUgLSV9eyUtIGVuZGlmIC0lfQogIHslLSBpZiB0IGNvbnRhaW5zICdjaGVuaWxsZScgIC0lfXslLSBhc3NpZ24gaXNfY2hlbmlsbGUgID0gdHJ1ZSAtJX17JS0gZW5kaWYgLSV9CiAgeyUtIGlmIHQgY29udGFpbnMgJ2JhbWJvbycgICAgLSV9eyUtIGFzc2lnbiBpc19iYW1ib28gICAgPSB0cnVlIC0lfXslLSBlbmRpZiAtJX0KeyUtIGVuZGZvciAtJX0KCnslLSBmb3Igb3B0aW9uIGluIHByb2R1Y3Qub3B0aW9ucyAtJX0KICB7JS0gYXNzaWduIG9wdF9sb3dlciA9IG9wdGlvbiB8IGRvd25jYXNlIC0lfQogIHslLSBpZiBvcHRfbG93ZXIgPT0gJ3NpemUnIC0lfXslLSBhc3NpZ24gaGFzX3NpemVzID0gdHJ1ZSAtJX17JS0gZW5kaWYgLSV9CnslLSBlbmRmb3IgLSV9Cgo8ZGl2CiAgY2xhc3M9ImN1c3RvbS1mYXEgY29sb3Ite3sgc2VjdGlvbi5zZXR0aW5ncy5jb2xvcl9zY2hlbWUgfX0gc2VjdGlvbiIKICBzdHlsZT0iCiAgICAtLXNlY3Rpb24tcGFkZGluZy10b3A6IHt7IHNlY3Rpb24uc2V0dGluZ3MucGFkZGluZ190b3AgfX1weDsKICAgIC0tc2VjdGlvbi1wYWRkaW5nLWJvdHRvbToge3sgc2VjdGlvbi5zZXR0aW5ncy5wYWRkaW5nX2JvdHRvbSB9fXB4OwogICIKPgogIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXFfX2NvbnRhaW5lciBwYWdlLXdpZHRoIj4KICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXFfX2hlYWRlciI+CiAgICAgIDxwIGNsYXNzPSJjdXN0b20tZmFxX19leWVicm93Ij57JS0gaWYgaXNfbmwgLSV9VmVlbGdlc3RlbGRlIHZyYWdlbnslLSBlbHNlIC0lfUNvbW1vbiBxdWVzdGlvbnN7JS0gZW5kaWYgLSV9PC9wPgogICAgICA8aDIgY2xhc3M9ImN1c3RvbS1mYXFfX2hlYWRpbmciPnslLSBpZiBpc19ubCAtJX1BbGxlcyB3YXQgamUgbW9ldCB3ZXRlbiB2b29yZGF0IGplIGJlc3RlbHQueyUtIGVsc2UgLSV9RXZlcnl0aGluZyB5b3UgbmVlZCB0byBrbm93IGJlZm9yZSB5b3Ugb3JkZXIueyUtIGVuZGlmIC0lfTwvaDI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJjdXN0b20tZmFxX19saXN0Ij4KCiAgICAgIHslLSBjb21tZW50IC0lfSBTaXplIGd1aWRlIOKAlCBkeW5hbWljIGZvciBwcm9kdWN0cyB3aXRoIHNpemUgb3B0aW9ucyB7JS0gZW5kY29tbWVudCAtJX0KICAgICAgeyUtIGlmIGhhc19zaXplcyAtJX0KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfUhvZSBraWVzIGlrIGRlIGp1aXN0ZSBtYWF0P3slLSBlbHNlIC0lfUhvdyBkbyBJIGNob29zZSB0aGUgcmlnaHQgc2l6ZT97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPk1lZXQgZGUgdmxvZXJydWltdGUgdm9vciBqZSBkb3VjaGUgb2YgYmFkIHZvb3JkYXQgamUgYmVzdGVsdC4gQWxzIHNuZWxsZSByZWZlcmVudGllOiA8c3Ryb25nPjQww5c2MGNtPC9zdHJvbmc+IGlzIGNvbXBhY3QgZW4gcGFzdCBiaWogZWVuIHZvZXRzdHVrd2FzdGFmZWwsIDxzdHJvbmc+NTDDlzgwY208L3N0cm9uZz4gaXMgZ2VzY2hpa3Qgdm9vciBlZW4gc3RhbmRhYXJkIGRvdWNoZS11aXRnYW5nLCBlbiA8c3Ryb25nPjYww5cxMjBjbTwvc3Ryb25nPiBkZWt0IGVlbiB2b2xsZWRpZyBiYWRrdWlwZ2ViaWVkIG9mIGR1YmJlbGUgd2FzdGFmZWwuIEJpaiB0d2lqZmVsLCBraWVzIGdyb3RlciDigJQgZWVuIGdyb3RlcmUgbWF0IGlzIGFsdGlqZCBjb21mb3J0YWJlbGVyIGVuIG9vZ3QgYmV3dXN0ZXIuPC9wPgogICAgICAgICAgICAgIDxwPkRlemUgbWF0IGlzIGJlc2NoaWtiYWFyIGluOiB7eyBwcm9kdWN0Lm9wdGlvbnNfYnlfbmFtZVsnU2l6ZSddLnZhbHVlcyB8IGpvaW46ICcsICcgfX0uPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5NZWFzdXJlIHRoZSBmbG9vciBzcGFjZSBpbiBmcm9udCBvZiB5b3VyIHNob3dlciBvciB0dWIgYmVmb3JlIG9yZGVyaW5nLiBBcyBhIHF1aWNrIHJlZmVyZW5jZTogPHN0cm9uZz4xNsOXMjRpbjwvc3Ryb25nPiBpcyBjb21wYWN0IGFuZCBmaXRzIGEgcGVkZXN0YWwgc2luaywgPHN0cm9uZz4yMMOXMzFpbjwvc3Ryb25nPiBzdWl0cyBhIHN0YW5kYXJkIHNob3dlciBleGl0LCBhbmQgPHN0cm9uZz4yNMOXNDdpbjwvc3Ryb25nPiBjb3ZlcnMgYSBmdWxsIGJhdGh0dWIgYXJlYSBvciBkb3VibGUgdmFuaXR5LiBXaGVuIGluIGRvdWJ0LCBzaXplIHVwIOKAlCBhIGxhcmdlciBtYXQgaXMgYWx3YXlzIG1vcmUgY29tZm9ydGFibGUgYW5kIGxvb2tzIG1vcmUgaW50ZW50aW9uYWwuPC9wPgogICAgICAgICAgICAgIDxwPlRoaXMgbWF0IGlzIGF2YWlsYWJsZSBpbjoge3sgcHJvZHVjdC5vcHRpb25zX2J5X25hbWVbJ1NpemUnXS52YWx1ZXMgfCBqb2luOiAnLCAnIH19LjwvcD4KICAgICAgICAgICAgeyUtIGVuZGlmIC0lfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZXRhaWxzPgogICAgICB7JS0gZW5kaWYgLSV9CgogICAgICB7JS0gY29tbWVudCAtJX0gTWF0ZXJpYWwtc3BlY2lmaWMgY2FyZSBhbmQgcHJvZHVjdCBxdWVzdGlvbnMgeyUtIGVuZGNvbW1lbnQgLSV9CiAgICAgIHslLSBpZiBpc19kaWF0b21pdGUgLSV9CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1Ib2Ugc25lbCBkcm9vZ3QgZWVuIGRpYXRvbWlldCBtYXQgZWlnZW5saWprP3slLSBlbHNlIC0lfUhvdyBmYXN0IGRvZXMgYSBkaWF0b21pdGUgbWF0IGFjdHVhbGx5IGRyeT97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPkRpcmVjdCDigJQgZGlhdG9taWV0cG9yacOrbiB0cmVra2VuIHdhdGVyIHZhbiBqZSB2b2V0ZW4gaW4gbWluZGVyIGRhbiAyIHNlY29uZGVuLiBEZSBzdGVlbiB6ZWxmIGxhYXQgZGF0IHZvY2h0IGJpbm5lbiAxNSB0b3QgMzAgbWludXRlbiB0ZXJ1ZyBsb3MgaW4gZGUgbHVjaHQsIGFmaGFua2VsaWprIHZhbiBkZSBiYWRrYW1lcnZlbnRpbGF0aWUuIEplIGtvbXQgbm9vaXQgbWVlciB0ZXJ1ZyBvcCBlZW4gbmF0dGUgbWF0LjwvcD4KICAgICAgICAgICAgeyUtIGVsc2UgLSV9CiAgICAgICAgICAgICAgPHA+SW5zdGFudGx5IOKAlCBkaWF0b21pdGUgcG9yZXMgcHVsbCB3YXRlciBvZmYgeW91ciBmZWV0IGluIHVuZGVyIDIgc2Vjb25kcy4gVGhlIHN0b25lIGl0c2VsZiByZWxlYXNlcyB0aGF0IG1vaXN0dXJlIGJhY2sgaW50byB0aGUgYWlyIHdpdGhpbiAxNSB0byAzMCBtaW51dGVzLCBkZXBlbmRpbmcgb24gYmF0aHJvb20gdmVudGlsYXRpb24uIFlvdSdsbCBuZXZlciBjb21lIGJhY2sgdG8gYSB3ZXQgbWF0LjwvcD4KICAgICAgICAgICAgeyUtIGVuZGlmIC0lfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZXRhaWxzPgogICAgICAgIDxkZXRhaWxzIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW0iPgogICAgICAgICAgPHN1bW1hcnkgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fc3VtbWFyeSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3F1ZXN0aW9uIj57JS0gaWYgaXNfbmwgLSV9SG9lIHJlaW5pZyBlbiBvbmRlcmhvdWQgaWsgZWVuIGRpYXRvbWlldCBtYXQ/eyUtIGVsc2UgLSV9SG93IGRvIEkgY2xlYW4gYW5kIG1haW50YWluIGEgZGlhdG9taXRlIG1hdD97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPlZlZWcgYWYgbWV0IGVlbiB2b2NodGlnZSBkb2VrIHZvb3IgZGFnZWxpamtzIG9uZGVyaG91ZC4gVmVybWlqZCB6ZWVwIG9mIGNoZW1pc2NoZSByZWluaWdpbmdzbWlkZGVsZW4g4oCUIHplIGt1bm5lbiBkZSBwb3Jpw6tuIHZlcnN0b3BwZW4uIEFscyBkZSBhYnNvcnB0aWUgbmEgdmVybG9vcCB2YW4gdGlqZCBhZm5lZW10IChkb29yZ2FhbnMgbmEgZW5rZWxlIG1hYW5kZW4pLCBzY2h1dXIgaGV0IG9wcGVydmxhayBsaWNodCBtZXQgZmlqbmtvcnJlbGlnIHNjaHV1cnBhcGllcjogZGl0IG9wZW50IGRlIHBvcmnDq24gb3BuaWV1dyBlbiBoZXJzdGVsdCBkaXJlY3QgZGUgcHJlc3RhdGllcy48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPldpcGUgZG93biB3aXRoIGEgZGFtcCBjbG90aCBmb3IgZXZlcnlkYXkgbWFpbnRlbmFuY2UuIEF2b2lkIHNvYXAgb3IgY2hlbWljYWwgY2xlYW5lcnMg4oCUIHRoZXkgY2FuIGNsb2cgdGhlIHBvcmVzLiBJZiBhYnNvcmJlbmN5IHNsb3dzIG92ZXIgdGltZSAodHlwaWNhbGx5IGFmdGVyIHNldmVyYWwgbW9udGhzKSwgbGlnaHRseSBzYW5kIHRoZSBzdXJmYWNlIHdpdGggZmluZS1ncml0IHNhbmRwYXBlcjogdGhpcyByZW9wZW5zIHRoZSBwb3JlcyBhbmQgcmVzdG9yZXMgcGVyZm9ybWFuY2UgaW1tZWRpYXRlbHkuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1LYW4gZWVuIGRpYXRvbWlldCBtYXQgYmFyc3Rlbj97JS0gZWxzZSAtJX1DYW4gYSBkaWF0b21pdGUgbWF0IGNyYWNrP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+RGlhdG9taWV0IGthbiBiYXJzdGVuIGFscyBoZXQgdmFuIGhvb2d0ZSBvcCBlZW4gaGFyZGUgdmxvZXIgdmFsdCDigJQgYmVoYW5kZWwgaGV0IHpvYWxzIGVsayBzdGVlbm9wcGVydmxhay4gQmlqIG5vcm1hYWwgZGFnZWxpamtzIGdlYnJ1aWsgaXMgaGV0IHZvbGxlZGlnIHN0ZXZpZy4gV2lqIHJhZGVuIGFhbiBoZXQgYWxsZWVuIHZsYWsgb3AgZWVuIHN0YWJpZWwgdmxvZXJvcHBlcnZsYWsgdGUgcGxhYXRzZW4uPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5EaWF0b21pdGUgY2FuIGNyYWNrIGlmIGRyb3BwZWQgb24gYSBoYXJkIGZsb29yIGZyb20gaGVpZ2h0IOKAlCB0cmVhdCBpdCBhcyB5b3Ugd291bGQgYW55IHN0b25lIHN1cmZhY2UuIFVuZGVyIG5vcm1hbCBkYWlseSB1c2UgaXQgaXMgY29tcGxldGVseSBzb2xpZC4gV2UgcmVjb21tZW5kIHBsYWNpbmcgaXQgZmxhdCBvbiBhIHN0YWJsZSBmbG9vciBzdXJmYWNlIG9ubHkuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CgogICAgICB7JS0gZWxzaWYgaXNfY2hlbmlsbGUgLSV9CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1Ib2Ugd2FzIGlrIGRlemUgbWF0IHpvbmRlciB6YWNodGhlaWQgdGUgdmVybGllemVuP3slLSBlbHNlIC0lfUhvdyBkbyBJIHdhc2ggdGhpcyBtYXQgd2l0aG91dCBsb3NpbmcgdGhlIHNvZnRuZXNzP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+TWFjaGluZXdhcyBrb3VkIG9wIGVlbiBmaWpud2FzcHJvZ3JhbW1hLiBHZWVuIGJsZWVrbWlkZGVsLCBnZWVuIHdhc3ZlcnphY2h0ZXIuIFR1aW1lbGRyb2dlbiBvcCBsYWdlIHRlbXBlcmF0dXVyIGdlZHVyZW5kZSAxMOKAkzE1IG1pbnV0ZW4gb2YgdmxhayBsdWNodGRyb2dlbi4gVmVybWlqZCBob2dlIHRlbXBlcmF0dXJlbiDigJQgZGl0IGthbiBkZSBjaGVuaWxsZWx1c3N0cnVjdHV1ciBiZXNjaGFkaWdlbi4gTmEgaGV0IGRyb2dlbiBrZWVydCBkZSBwb29sIHRlcnVnIG5hYXIgemlqbiB2b2xsZWRpZ2Ugdm9sdW1lLiBEZSBtYXQgaXMgb250d29ycGVuIG9tIDMwKyB3YXNjeWNsaSB0ZSBkb29yc3RhYW4gem9uZGVyIHphY2h0aGVpZCB0ZSB2ZXJsaWV6ZW4uPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5NYWNoaW5lIHdhc2ggY29sZCBvbiBhIGdlbnRsZSBjeWNsZS4gTm8gYmxlYWNoLCBubyBmYWJyaWMgc29mdGVuZXIuIFR1bWJsZSBkcnkgb24gbG93IGhlYXQgZm9yIDEw4oCTMTUgbWludXRlcyBvciBhaXIgZHJ5IGZsYXQuIEF2b2lkIGhpZ2ggaGVhdCDigJQgaXQgY2FuIGRhbWFnZSB0aGUgY2hlbmlsbGUgbG9vcCBzdHJ1Y3R1cmUuIEFmdGVyIGRyeWluZywgdGhlIHBpbGUgd2lsbCByZXR1cm4gdG8gaXRzIGZ1bGwgbG9mdC4gVGhlIG1hdCBpcyBkZXNpZ25lZCB0byB3aXRoc3RhbmQgMzArIHdhc2ggY3ljbGVzIHdpdGhvdXQgbG9zcyBvZiBzb2Z0bmVzcy48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfVdvcmR0IGRlIHBvb2wgbmEgdmVybG9vcCB2YW4gdGlqZCBwbGF0P3slLSBlbHNlIC0lfVdpbGwgdGhlIHBpbGUgZmxhdHRlbiBvdmVyIHRpbWU/eyUtIGVuZGlmIC0lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9faWNvbiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L3N1bW1hcnk+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2Fuc3dlciI+CiAgICAgICAgICAgIHslLSBpZiBpc19ubCAtJX0KICAgICAgICAgICAgICA8cD5OZWUg4oCUIGRlemUgbWF0IGlzIGdld2V2ZW4gbWV0IGVlbiBob2dlIEdTTS1kaWNodGhlaWQsIG9uZ2V2ZWVyIGhldCBkdWJiZWxlIHZhbiBkZSBpbmR1c3RyaWVzdGFuZGFhcmQuIERlIHN0cmFrIGdlcGFrdGUgbHVzc2VuIGJlaG91ZGVuIGh1biBzdHJ1Y3R1dXIgd2FzIG5hIHdhcy4gQWxzIGRlIHBvb2wgbmEgaGV0IHdhc3NlbiBvb2l0IGluZ2VkcnVrdCBsaWprdCwgaGVyc3RlbHQgZWVuIGtvcnRlIHR1aW1lbGRyb2dpbmcgdmFuIDEwIG1pbnV0ZW4gb3AgbGFhZyBoZW0gdm9sbGVkaWcuPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5ObyDigJQgdGhpcyBtYXQgaXMgd292ZW4gYXQgYSBoaWdoIEdTTSBkZW5zaXR5LCByb3VnaGx5IGRvdWJsZSB0aGUgaW5kdXN0cnkgc3RhbmRhcmQuIFRoZSB0aWdodGx5IHBhY2tlZCBsb29wcyBtYWludGFpbiB0aGVpciBzdHJ1Y3R1cmUgd2FzaCBhZnRlciB3YXNoLiBJZiB0aGUgcGlsZSBldmVyIGxvb2tzIGNvbXByZXNzZWQgYWZ0ZXIgd2FzaGluZywgYSBxdWljayAxMC1taW51dGUgdHVtYmxlIGRyeSBvbiBsb3cgd2lsbCByZXN0b3JlIGl0IGNvbXBsZXRlbHkuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1JcyBkZXplIG1hdCB2ZWlsaWcgb3AgdmxvZXJ2ZXJ3YXJtaW5nP3slLSBlbHNlIC0lfUlzIHRoaXMgbWF0IHNhZmUgb24gcmFkaWFudCBmbG9vciBoZWF0aW5nP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+SmEuIERlIGNoZW5pbGxldmV6ZWxzIGVuIFRQRS1ydWd6aWpkZSB6aWpuIGhpdHRlY29tcGF0aWJlbCBtZXQgdmxvZXJ2ZXJ3YXJtaW5nc3N5c3RlbWVuLiBXZSByYWRlbiBhYW4gZGUgdmxvZXJ2ZXJ3YXJtaW5nIG9uZGVyIGRlIDM1wrBDIHRlIGhvdWRlbiB2b29yIGRlIGJlc3RlIGxldmVuc2R1dXIgdmFuIGRlIG1hdCBlbiBydWd6aWpkZS48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPlllcy4gVGhlIGNoZW5pbGxlIGZpYmVycyBhbmQgVFBFIGJhY2tpbmcgYXJlIGhlYXQtY29tcGF0aWJsZSB3aXRoIHJhZGlhbnQgZmxvb3Igc3lzdGVtcy4gV2UgcmVjb21tZW5kIGtlZXBpbmcgeW91ciBmbG9vciBoZWF0aW5nIGJlbG93IDM1wrBDICg5NcKwRikgZm9yIGJlc3QgbG9uZ2V2aXR5IG9mIHRoZSBtYXQgYW5kIGJhY2tpbmcuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CgogICAgICB7JS0gZWxzaWYgaXNfYmFtYm9vIC0lfQogICAgICAgIDxkZXRhaWxzIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW0iPgogICAgICAgICAgPHN1bW1hcnkgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fc3VtbWFyeSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3F1ZXN0aW9uIj57JS0gaWYgaXNfbmwgLSV9SXMgYmFtYm9lIGVjaHQgYW50aWJhY3RlcmllZWwsIG9mIGlzIGRhdCBnZXdvb24gbWFya2V0aW5nP3slLSBlbHNlIC0lfUlzIGJhbWJvbyByZWFsbHkgYW50aWJhY3RlcmlhbCwgb3IgaXMgdGhhdCBqdXN0IG1hcmtldGluZz97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPkhldCBpcyBlY2h0IOKAlCBlbiBoZXQgaXMgcGVybWFuZW50LiBCYW1ib2UgYmV2YXQgZWVuIG5hdHV1cmxpamsgYmlvLWFnZW5zIGdlbmFhbWQgYmFtYm9lIGt1biBkYXQgYmFjdGVyaWVncm9laSByZW10LiBJbiB0ZWdlbnN0ZWxsaW5nIHRvdCB6aWx2ZXJpb24tIG9mIGNoZW1pc2NoZSBhbnRpYmFjdGVyacOrbGUgYmVoYW5kZWxpbmdlbiBkaWUgbmEgMTDigJMxNSB3YXNjeWNsaSB2ZXJkd2lqbmVuLCBpcyBkZXplIGVpZ2Vuc2NoYXAgaW50cmluc2llayBhYW4gZGUgdmV6ZWwgZW4gZGVncmFkZWVydCBuaWV0IGJpaiB3YXNzZW4uPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5JdCdzIHJlYWwg4oCUIGFuZCBpdCdzIHBlcm1hbmVudC4gQmFtYm9vIGNvbnRhaW5zIGEgbmF0dXJhbCBiaW8tYWdlbnQgY2FsbGVkIGJhbWJvbyBrdW4gdGhhdCBpbmhpYml0cyBiYWN0ZXJpYWwgZ3Jvd3RoLiBVbmxpa2Ugc2lsdmVyLWlvbiBvciBjaGVtaWNhbCBhbnRpYmFjdGVyaWFsIHRyZWF0bWVudHMgdGhhdCB3YXNoIG91dCBhZnRlciAxMOKAkzE1IGN5Y2xlcywgdGhpcyBwcm9wZXJ0eSBpcyBpbnRyaW5zaWMgdG8gdGhlIGZpYmVyIGFuZCBkb2VzIG5vdCBkZWdyYWRlIHdpdGggd2FzaGluZy48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfUhvZSB3YXMgZW4gb25kZXJob3VkIGlrIGVlbiBiYW1ib2UgbWF0P3slLSBlbHNlIC0lfUhvdyBkbyBJIHdhc2ggYW5kIGNhcmUgZm9yIGEgYmFtYm9vIG1hdD97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPk1hY2hpbmV3YXMga291ZCBvcCBlZW4gZmlqbndhc3Byb2dyYW1tYS4gVHVpbWVsZHJvZ2VuIG9wIGxhYWcgb2YgdmxhayBsdWNodGRyb2dlbi4gVmVybWlqZCB3YXN2ZXJ6YWNodGVycyBlbiBibGVla21pZGRlbCDigJQgYmVpZGUgYnJla2VuIGRlIGJhbWJvZXZlemVsc3N0cnVjdHV1ciBuYSB2ZXJsb29wIHZhbiB0aWpkIGFmLiBEZSBtYXQgd29yZHQgdmFuIG5hdHVyZSB6YWNodGVyIGJpaiBlbGtlIHdhcywgZHVzIGhlcmhhYWxkZWxpamsgd2Fzc2VuIGlzIGVpZ2VubGlqayBndW5zdGlnIHZvb3IgZGUgdGV4dHV1ci48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPk1hY2hpbmUgd2FzaCBjb2xkIG9uIGEgZ2VudGxlIGN5Y2xlLiBUdW1ibGUgZHJ5IG9uIGxvdyBvciBhaXIgZHJ5IGZsYXQuIEF2b2lkIGZhYnJpYyBzb2Z0ZW5lcnMgYW5kIGJsZWFjaCDigJQgYm90aCBicmVhayBkb3duIHRoZSBiYW1ib28gZmliZXIgc3RydWN0dXJlIG92ZXIgdGltZS4gVGhlIG1hdCBuYXR1cmFsbHkgZ2V0cyBzb2Z0ZXIgd2l0aCBlYWNoIHdhc2gsIHNvIHJlcGVhdGVkIHdhc2hpbmcgaXMgYWN0dWFsbHkgYmVuZWZpY2lhbCB0byB0aGUgdGV4dHVyZS48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfUlzIGRlemUgbWF0IGdlY2VydGlmaWNlZXJkIGR1dXJ6YWFtP3slLSBlbHNlIC0lfUlzIHRoaXMgbWF0IGNlcnRpZmllZCBzdXN0YWluYWJsZT97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPk9ucyBiYW1ib2UgaXMgYWZrb21zdGlnIHVpdCB2ZXJhbnR3b29yZCBiZWhlZXJkZSBib3NzZW4gZW4gbWVjaGFuaXNjaCB2ZXJ3ZXJrdCwgem9uZGVyIGNoZW1pc2NoZSBibGVla21pZGRlbGVuIG9mIHBlc3RpY2lkZW4uIEJhbWJvZSByZWdlbmVyZWVydCB2YW4gbmF0dXJlIHZhbnVpdCB6aWpuIGVpZ2VuIHdvcnRlbHN0ZWxzZWwg4oCUIGdlZW4gaGVycGxhbnQgdmVyZWlzdCDigJQgZW4gZ3JvZWl0IHRlcnVnIG5hYXIgb29nc3Rncm9vdHRlIGluIDTigJM1IGphYXIsIHRlZ2Vub3ZlciAyMOKAkzUwIGphYXIgdm9vciBoYXJkaG91dGJvbWVuLjwvcD4KICAgICAgICAgICAgeyUtIGVsc2UgLSV9CiAgICAgICAgICAgICAgPHA+T3VyIGJhbWJvbyBpcyBzb3VyY2VkIGZyb20gcmVzcG9uc2libHkgbWFuYWdlZCBmb3Jlc3RzIGFuZCBwcm9jZXNzZWQgbWVjaGFuaWNhbGx5LCB3aXRob3V0IGNoZW1pY2FsIGJsZWFjaGluZyBvciBwZXN0aWNpZGUgdXNlLiBCYW1ib28gbmF0dXJhbGx5IHJlZ2VuZXJhdGVzIGZyb20gaXRzIG93biByb290IHN5c3RlbSDigJQgbm8gcmVwbGFudGluZyByZXF1aXJlZCDigJQgYW5kIGdyb3dzIGJhY2sgdG8gaGFydmVzdCBzaXplIGluIDTigJM1IHllYXJzIHZlcnN1cyAyMOKAkzUwIHllYXJzIGZvciBoYXJkd29vZCB0cmVlcy48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KCiAgICAgIHslLSBlbHNpZiBpc19mbHVmZnkgLSV9CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1Ib2UgaG91ZCBpayBkZXplIG1hdCBwbHVpemlnIG5hIGhldCB3YXNzZW4/eyUtIGVsc2UgLSV9SG93IGRvIEkga2VlcCB0aGlzIG1hdCBmbHVmZnkgYWZ0ZXIgd2FzaGluZz97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvc3VtbWFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fYW5zd2VyIj4KICAgICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICAgIDxwPk1hY2hpbmV3YXMga291ZCBvcCBlZW4gZmlqbndhc3Byb2dyYW1tYSBlbiB0dWltZWxkcm9nZW4gb3AgbGFhZyBnZWR1cmVuZGUgMTXigJMyMCBtaW51dGVuLiBEZSB3YXJtdGUgdmFuIGVlbiBkcm9vZ3Byb2dyYW1tYSBvcCBsYWFnIGlzIHdhdCBoZWxwdCBkZSBwb29sIHRlIGhlcnN0ZWxsZW4uIFZlcm1pamQgaG9nZSB0ZW1wZXJhdHVyZW4sIGRpZSBkZSB2ZXplbHMga3VubmVuIHNhbWVucGVyc2VuLiBHZWJydWlrIGdlZW4gd2FzdmVyemFjaHRlciDigJQgZGl0IG9taHVsdCBkZSB2ZXplbHMgZW4gdmVybWluZGVydCBkZSBhYnNvcnB0aWUgbmEgdmVybG9vcCB2YW4gdGlqZC48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPk1hY2hpbmUgd2FzaCBjb2xkIG9uIGEgZ2VudGxlIGN5Y2xlIGFuZCB0dW1ibGUgZHJ5IG9uIGxvdyBmb3IgMTXigJMyMCBtaW51dGVzLiBUaGUgaGVhdCBmcm9tIGEgbG93LWhlYXQgZHJ5ZXIgaXMgd2hhdCBoZWxwcyB0aGUgcGlsZSByZWNvdmVyIGl0cyBsb2Z0LiBBdm9pZCBoaWdoIGhlYXQsIHdoaWNoIGNhbiBtYXQgdGhlIGZpYmVycy4gRG8gbm90IHVzZSBmYWJyaWMgc29mdGVuZXIg4oCUIGl0IGNvYXRzIHRoZSBmaWJlcnMgYW5kIHJlZHVjZXMgYWJzb3JiZW5jeSBvdmVyIHRpbWUuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1CbGlqZnQgaGlqIHpvIGRpayBuYSByZWdlbG1hdGlnIGdlYnJ1aWs/eyUtIGVsc2UgLSV9V2lsbCBpdCBzdGF5IHRoaXMgdGhpY2sgYWZ0ZXIgcmVndWxhciB1c2U/eyUtIGVuZGlmIC0lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9faWNvbiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L3N1bW1hcnk+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2Fuc3dlciI+CiAgICAgICAgICAgIHslLSBpZiBpc19ubCAtJX0KICAgICAgICAgICAgICA8cD5KYSDigJQgZGUgbWF0IGlzIGdlYm91d2QgbWV0IGVlbiBob2dlIHBvb2xkaWNodGhlaWQgc3BlY2lmaWVrIG9tIHppam4gdm9sdW1lIHRlIGJlaG91ZGVuIGJpaiBkYWdlbGlqa3Mgdm9ldHZlcmtlZXIuIERlIHN0cnVjdHV1ciBpcyBvbnR3b3JwZW4gb20gbmEgZWxrZSB3YXMgdGUgaGVyc3RlbGxlbi4gSmUgdm9lbHQgcHJlY2llcyBoZXR6ZWxmZGUgb25kZXIgamUgdm9ldGVuIG9wIGRhZyAxIGVuIG5hIHR3ZWUgamFhciBkYWdlbGlqa3MgZ2VicnVpay48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPlllcyDigJQgdGhlIG1hdCBpcyBjb25zdHJ1Y3RlZCBhdCBhIGhpZ2ggcGlsZSBkZW5zaXR5IHNwZWNpZmljYWxseSB0byBtYWludGFpbiBpdHMgbG9mdCB1bmRlciBkYWlseSBmb290IHRyYWZmaWMuIFRoZSBzdHJ1Y3R1cmUgaXMgZW5naW5lZXJlZCB0byByZWNvdmVyIGFmdGVyIGVhY2ggd2FzaC4gWW91J2xsIG5vdGljZSB0aGUgc2FtZSB1bmRlcmZvb3QgZmVlbCBvbiBkYXkgMSBhbmQgYWZ0ZXIgdHdvIHllYXJzIG9mIGRhaWx5IHVzZS48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfUlzIGRlemUgbWF0IHZlaWxpZyB2b29yIHZsb2VydmVyd2FybWluZz97JS0gZWxzZSAtJX1JcyB0aGlzIG1hdCBzYWZlIGZvciBoZWF0ZWQgZmxvb3JzP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+SmEuIERlIHJ1Z3ppamRlIGVuIHZlemVscyB6aWpuIGNvbXBhdGliZWwgbWV0IHZsb2VydmVyd2FybWluZ3NzeXN0ZW1lbi4gQWFuYmV2b2xlbiB2bG9lcnRlbXBlcmF0dXVyIGlzIG9uZGVyIGRlIDM1wrBDIHZvb3IgbGFuZ2R1cmlnZSBpbnRlZ3JpdGVpdCB2YW4gZGUgcnVnemlqZGUuPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5ZZXMuIFRoZSBiYWNraW5nIGFuZCBmaWJlcnMgYXJlIGNvbXBhdGlibGUgd2l0aCByYWRpYW50IGZsb29yIGhlYXRpbmcgc3lzdGVtcy4gUmVjb21tZW5kZWQgZmxvb3IgdGVtcGVyYXR1cmUgaXMgYmVsb3cgMzXCsEMgKDk1wrBGKSBmb3IgbG9uZy10ZXJtIGJhY2tpbmcgaW50ZWdyaXR5LjwvcD4KICAgICAgICAgICAgeyUtIGVuZGlmIC0lfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZXRhaWxzPgoKICAgICAgeyUtIGVsc2UgLSV9CiAgICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24iPnslLSBpZiBpc19ubCAtJX1Ib2Ugc25lbCBhYnNvcmJlZXJ0IGRlemUgbWF0IHdhdGVyP3slLSBlbHNlIC0lfUhvdyBxdWlja2x5IGRvZXMgdGhpcyBtYXQgYWJzb3JiIHdhdGVyP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+RGUgbWljcm92ZXplbGJvdXcgYWJzb3JiZWVydCB0b3QgNHggemlqbiBnZXdpY2h0IGluIHdhdGVyIGluIG1pbmRlciBkYW4gMyBzZWNvbmRlbi4gSmUgdm9ldGVuIHppam4gZHJvb2cgdGVnZW4gZGUgdGlqZCBkYXQgamUgamUgdHdlZWRlIHN0YXAgaGVidCBnZXpldC4gRGUgbWF0IHplbGYgZHJvb2d0IGJpbm5lbiAy4oCTMyB1dXIgYmlqIG5vcm1hbGUgYmFka2FtZXJvbXN0YW5kaWdoZWRlbiDigJQgc25lbGxlciBhbHMgaGlqIG9wZ2VoYW5nZW4gd29yZHQgYmlqIGx1Y2h0Y2lyY3VsYXRpZS48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPlRoZSBtaWNyb2ZpYmVyIGNvbnN0cnVjdGlvbiBhYnNvcmJzIHVwIHRvIDTDlyBpdHMgd2VpZ2h0IGluIHdhdGVyIGluIHVuZGVyIDMgc2Vjb25kcy4gWW91ciBmZWV0IGFyZSBkcnkgYnkgdGhlIHRpbWUgeW91J3ZlIHRha2VuIHlvdXIgc2Vjb25kIHN0ZXAuIFRoZSBtYXQgaXRzZWxmIGRyaWVzIHdpdGhpbiAy4oCTMyBob3VycyBpbiBub3JtYWwgYmF0aHJvb20gY29uZGl0aW9ucyDigJQgZmFzdGVyIGlmIGh1bmcgdXAgbmVhciBhaXJmbG93LjwvcD4KICAgICAgICAgICAgeyUtIGVuZGlmIC0lfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZXRhaWxzPgogICAgICAgIDxkZXRhaWxzIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW0iPgogICAgICAgICAgPHN1bW1hcnkgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fc3VtbWFyeSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3F1ZXN0aW9uIj57JS0gaWYgaXNfbmwgLSV9SXMgZGV6ZSBtYXQgd2FzbWFjaGluZWJlc3RlbmRpZz97JS0gZWxzZSAtJX1JcyB0aGlzIG1hdCBtYWNoaW5lIHdhc2hhYmxlP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2ljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9zdW1tYXJ5PgogICAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgICAgPHA+SmEuIE1hY2hpbmV3YXMga291ZCBvcCBlZW4gZmlqbndhc3Byb2dyYW1tYSwgZ2VlbiBibGVla21pZGRlbCwgZ2VlbiB3YXN2ZXJ6YWNodGVyLiBUdWltZWxkcm9nZW4gb3AgbGFhZyBvZiB2bGFrIGx1Y2h0ZHJvZ2VuLiBOYSAyMCsgd2FzY3ljbGkgYmxpanZlbiBhYnNvcnB0aWV2ZXJtb2dlbiBlbiBwb29saG9vZ3RlIGNvbnNpc3RlbnQuIEdlYnJ1aWsgZ2VlbiBob2dlIHRlbXBlcmF0dXJlbiDigJQgZGl0IGthbiBkZSBtaWNyb3ZlemVsc3N0cnVjdHV1ciBiZXNjaGFkaWdlbi48L3A+CiAgICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICAgIDxwPlllcy4gTWFjaGluZSB3YXNoIGNvbGQgb24gYSBnZW50bGUgY3ljbGUsIG5vIGJsZWFjaCwgbm8gZmFicmljIHNvZnRlbmVyLiBUdW1ibGUgZHJ5IG9uIGxvdyBvciBhaXIgZHJ5IGZsYXQuIEFmdGVyIDIwKyB3YXNoIGN5Y2xlcywgYWJzb3JiZW5jeSBhbmQgcGlsZSBoZWlnaHQgcmVtYWluIGNvbnNpc3RlbnQuIERvIG5vdCB1c2UgaGlnaCBoZWF0IOKAlCBpdCBjYW4gZGFtYWdlIHRoZSBtaWNyb2ZpYmVyIHN0cnVjdHVyZS48L3A+CiAgICAgICAgICAgIHslLSBlbmRpZiAtJX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGV0YWlscz4KICAgICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfVdhYXJ2YW4gaXMgZGUgYW50aXNsaXAgcnVnemlqZGUgZ2VtYWFrdD97JS0gZWxzZSAtJX1XaGF0IGlzIHRoZSBub24tc2xpcCBiYWNraW5nIG1hZGUgb2Y/eyUtIGVuZGlmIC0lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9faWNvbiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L3N1bW1hcnk+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2Fuc3dlciI+CiAgICAgICAgICAgIHslLSBpZiBpc19ubCAtJX0KICAgICAgICAgICAgICA8cD5NZWRpc2NoLWdyYWRlIFRQRSAodGhlcm1vcGxhc3Rpc2NoZSBlbGFzdG9tZWVyKSDigJQgaGV0emVsZmRlIG1hdGVyaWFhbCBkYXQgd29yZHQgZ2VicnVpa3QgaW4geW9nYW1hdHRlbiBlbiBtZWRpc2NoZSB2bG9lcmJla2xlZGluZy4gSGV0IGdyaWpwdCB0ZWdlbHMsIG1hcm1lciwgaGFyZGhvdXQgZW4gdmlueWx2bG9lcmVuIHpvbmRlciBsaWptIGVuIGxhYXQgZ2VlbiByZXNpZHUgb2Ygdmxla2tlbiBhY2h0ZXIgb3AgamUgdmxvZXIuPC9wPgogICAgICAgICAgICB7JS0gZWxzZSAtJX0KICAgICAgICAgICAgICA8cD5NZWRpY2FsLWdyYWRlIFRQRSAodGhlcm1vcGxhc3RpYyBlbGFzdG9tZXIpIOKAlCB0aGUgc2FtZSBtYXRlcmlhbCB1c2VkIGluIHlvZ2EgbWF0cyBhbmQgbWVkaWNhbCBmbG9vcmluZy4gSXQgZ3JpcHMgdGlsZSwgbWFyYmxlLCBoYXJkd29vZCwgYW5kIHZpbnlsIHdpdGhvdXQgYWRoZXNpdmUgYW5kIGxlYXZlcyBubyByZXNpZHVlIG9yIG1hcmtzIG9uIHlvdXIgZmxvb3IuPC9wPgogICAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RldGFpbHM+CiAgICAgIHslLSBlbmRpZiAtJX0KCiAgICAgIHslLSBjb21tZW50IC0lfSBHZW5lcmFsIHF1ZXN0aW9ucyDigJQgc2hvd24gb24gYWxsIHByb2R1Y3RzIHslLSBlbmRjb21tZW50IC0lfQogICAgICA8ZGV0YWlscyBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtIj4KICAgICAgICA8c3VtbWFyeSBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19zdW1tYXJ5Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX3F1ZXN0aW9uIj57JS0gaWYgaXNfbmwgLSV9V2F0IGlzIHV3IHJldG91cmJlbGVpZD97JS0gZWxzZSAtJX1XaGF0IGlzIHlvdXIgcmV0dXJuIHBvbGljeT97JS0gZW5kaWYgLSV9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9faWNvbiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNiA5bDYgNiA2LTYiLz48L3N2Zz4KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICA8L3N1bW1hcnk+CiAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIiPgogICAgICAgICAgeyUtIGlmIGlzX25sIC0lfQogICAgICAgICAgICA8cD5XaWogYmllZGVuIGVlbiB0ZXZyZWRlbmhlaWRzZ2FyYW50aWUgdmFuIDMwIGRhZ2VuLiBBbHMgamUgbmlldCB2b2xsZWRpZyB0ZXZyZWRlbiBiZW50IG1ldCBqZSBhYW5rb29wLCBuZWVtIGRhbiBjb250YWN0IG1ldCBvbnMgb3Agdm9vciBlZW4gdm9sbGVkaWdlIHRlcnVnYmV0YWxpbmcg4oCUIGdlZW4gcmV0b3VydmVyemVuZGluZyB2ZXJlaXN0LCBnZWVuIHJlc3RvY2tpbmctdmVyZ29lZGluZywgZ2VlbiB2cmFnZW4gZ2VzdGVsZC4gV2lqIHdpbGxlbiBkYXQgZGUgbWF0IHppam4gcGxlayBpbiBqZSBiYWRrYW1lciB2ZXJkaWVudCwgbmlldCBhbGxlZW4gaW4gamUgd2lua2Vsd2FnZW50amUuPC9wPgogICAgICAgICAgeyUtIGVsc2UgLSV9CiAgICAgICAgICAgIDxwPldlIG9mZmVyIGEgMzAtZGF5IHNhdGlzZmFjdGlvbiBndWFyYW50ZWUuIElmIHlvdSdyZSBub3QgY29tcGxldGVseSBoYXBweSB3aXRoIHlvdXIgcHVyY2hhc2UsIGNvbnRhY3QgdXMgZm9yIGEgZnVsbCByZWZ1bmQg4oCUIG5vIHJldHVybiBzaGlwcGluZyByZXF1aXJlZCwgbm8gcmVzdG9ja2luZyBmZWUsIG5vIHF1ZXN0aW9ucyBhc2tlZC4gV2Ugd2FudCB0aGUgbWF0IHRvIGVhcm4gaXRzIHBsYWNlIGluIHlvdXIgYmF0aHJvb20sIG5vdCBqdXN0IHlvdXIgY2FydC48L3A+CiAgICAgICAgICB7JS0gZW5kaWYgLSV9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGV0YWlscz4KICAgICAgPGRldGFpbHMgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbSI+CiAgICAgICAgPHN1bW1hcnkgY2xhc3M9ImN1c3RvbS1mYXEtaXRlbV9fc3VtbWFyeSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19xdWVzdGlvbiI+eyUtIGlmIGlzX25sIC0lfUhvZSBsYW5nIGR1dXJ0IGRlIHZlcnplbmRpbmc/eyUtIGVsc2UgLSV9SG93IGxvbmcgZG9lcyBzaGlwcGluZyB0YWtlP3slLSBlbmRpZiAtJX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3VzdG9tLWZhcS1pdGVtX19pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPgogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3VtbWFyeT4KICAgICAgICA8ZGl2IGNsYXNzPSJjdXN0b20tZmFxLWl0ZW1fX2Fuc3dlciI+CiAgICAgICAgICB7JS0gaWYgaXNfbmwgLSV9CiAgICAgICAgICAgIDxwPkJlc3RlbGxpbmdlbiB3b3JkZW4gdmVyd2Vya3QgZW4gdmVyem9uZGVuIGJpbm5lbiAx4oCTMiB3ZXJrZGFnZW4uIFN0YW5kYWFyZGxldmVyaW5nIGluIE5lZGVybGFuZCBlbiBCZWxnacOrIGR1dXJ0IGRvb3JnYWFucyAy4oCTNCB3ZXJrZGFnZW4uIFNuZWxsZXJlIGJlem9yZ29wdGllcyB6aWpuIGJlc2NoaWtiYWFyIGJpaiBoZXQgYWZyZWtlbmVuIGFscyBqZSBoZXQgc25lbGxlciBub2RpZyBoZWJ0LjwvcD4KICAgICAgICAgIHslLSBlbHNlIC0lfQogICAgICAgICAgICA8cD5PcmRlcnMgYXJlIHByb2Nlc3NlZCBhbmQgc2hpcHBlZCB3aXRoaW4gMeKAkzIgYnVzaW5lc3MgZGF5cy4gU3RhbmRhcmQgZGVsaXZlcnkgYWNyb3NzIHRoZSBjb250aW5lbnRhbCBVUyB0eXBpY2FsbHkgdGFrZXMgM+KAkzUgYnVzaW5lc3MgZGF5cy4gRXhwZWRpdGVkIHNoaXBwaW5nIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBhdCBjaGVja291dCBpZiB5b3UgbmVlZCBpdCBzb29uZXIuPC9wPgogICAgICAgICAgeyUtIGVuZGlmIC0lfQogICAgICAgIDwvZGl2PgogICAgICA8L2RldGFpbHM+CgogICAgICB7JS0gY29tbWVudCAtJX0gRWRpdG9yIGJsb2NrcyDigJQgY3VzdG9tIGFkZGl0aW9uYWwgcXVlc3Rpb25zIHslLSBlbmRjb21tZW50IC0lfQogICAgICB7JSBjb250ZW50X2ZvciAnYmxvY2tzJyAlfQogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgp7CiAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgIkB0eXBlIjogIkZBUVBhZ2UiLAogICJtYWluRW50aXR5IjogWwogICAgeyUtIGFzc2lnbiBmYXFfaXRlbXMgPSAiIiAtJX0KICAgIHslLSBjYXB0dXJlIGZhcV9qc29uIC0lfQogICAgeyUtIGlmIGhhc19zaXplcyAtJX0KICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1Ib2Uga2llcyBpayBkZSBqdWlzdGUgbWFhdD97JSBlbHNlICV9SG93IGRvIEkgY2hvb3NlIHRoZSByaWdodCBzaXplP3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1NZWV0IGRlIHZsb2VycnVpbXRlIHZvb3IgamUgZG91Y2hlIG9mIGJhZC4gNDDDlzYwY20gaXMgY29tcGFjdCwgNTDDlzgwY20gaXMgZ2VzY2hpa3Qgdm9vciBlZW4gc3RhbmRhYXJkIGRvdWNoZSwgZW4gNjDDlzEyMGNtIGRla3QgZWVuIHZvbGxlZGlnIGJhZGt1aXBnZWJpZWQuIEJpaiB0d2lqZmVsLCBraWVzIGdyb3Rlci57JSBlbHNlICV9TWVhc3VyZSB0aGUgZmxvb3Igc3BhY2UgaW4gZnJvbnQgb2YgeW91ciBzaG93ZXIgb3IgdHViIGJlZm9yZSBvcmRlcmluZy4gMTbDlzI0aW4gaXMgY29tcGFjdCwgMjDDlzMxaW4gc3VpdHMgYSBzdGFuZGFyZCBzaG93ZXIgZXhpdCwgYW5kIDI0w5c0N2luIGNvdmVycyBhIGZ1bGwgYmF0aHR1YiBhcmVhLiBXaGVuIGluIGRvdWJ0LCBzaXplIHVwLnslIGVuZGlmICV9IiB9CiAgICB9LHslLSBlbmRpZiAtJX0KICAgIHslLSBpZiBpc19kaWF0b21pdGUgLSV9CiAgICB7CiAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICJuYW1lIjogInslIGlmIGlzX25sICV9SG9lIHNuZWwgZHJvb2d0IGVlbiBkaWF0b21pZXQgbWF0IGVpZ2VubGlqaz97JSBlbHNlICV9SG93IGZhc3QgZG9lcyBhIGRpYXRvbWl0ZSBtYXQgYWN0dWFsbHkgZHJ5P3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1EaXJlY3Qg4oCUIGRpYXRvbWlldHBvcmnDq24gdHJla2tlbiB3YXRlciB2YW4gamUgdm9ldGVuIGluIG1pbmRlciBkYW4gMiBzZWNvbmRlbi4gRGUgc3RlZW4gbGFhdCBkYXQgdm9jaHQgYmlubmVuIDE1IHRvdCAzMCBtaW51dGVuIHRlcnVnIGxvcyBpbiBkZSBsdWNodC57JSBlbHNlICV9SW5zdGFudGx5IOKAlCBkaWF0b21pdGUgcG9yZXMgcHVsbCB3YXRlciBvZmYgeW91ciBmZWV0IGluIHVuZGVyIDIgc2Vjb25kcy4gVGhlIHN0b25lIHJlbGVhc2VzIG1vaXN0dXJlIGJhY2sgaW50byB0aGUgYWlyIHdpdGhpbiAxNSB0byAzMCBtaW51dGVzLnslIGVuZGlmICV9IiB9CiAgICB9LAogICAgewogICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAibmFtZSI6ICJ7JSBpZiBpc19ubCAlfUhvZSByZWluaWcgZW4gb25kZXJob3VkIGlrIGVlbiBkaWF0b21pZXQgbWF0P3slIGVsc2UgJX1Ib3cgZG8gSSBjbGVhbiBhbmQgbWFpbnRhaW4gYSBkaWF0b21pdGUgbWF0P3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1WZWVnIGFmIG1ldCBlZW4gdm9jaHRpZ2UgZG9lay4gVmVybWlqZCB6ZWVwIG9mIGNoZW1pc2NoZSByZWluaWdpbmdzbWlkZGVsZW4uIEFscyBkZSBhYnNvcnB0aWUgYWZuZWVtdCwgc2NodXVyIGhldCBvcHBlcnZsYWsgbGljaHQgbWV0IGZpam5rb3JyZWxpZyBzY2h1dXJwYXBpZXIgb20gZGUgcG9yacOrbiB0ZSBvcGVuZW4ueyUgZWxzZSAlfVdpcGUgZG93biB3aXRoIGEgZGFtcCBjbG90aCBmb3IgZXZlcnlkYXkgbWFpbnRlbmFuY2UuIEF2b2lkIHNvYXAgb3IgY2hlbWljYWwgY2xlYW5lcnMuIElmIGFic29yYmVuY3kgc2xvd3MsIGxpZ2h0bHkgc2FuZCB0aGUgc3VyZmFjZSB3aXRoIGZpbmUtZ3JpdCBzYW5kcGFwZXIgdG8gcmVvcGVuIHRoZSBwb3Jlcy57JSBlbmRpZiAlfSIgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1LYW4gZWVuIGRpYXRvbWlldCBtYXQgYmFyc3Rlbj97JSBlbHNlICV9Q2FuIGEgZGlhdG9taXRlIG1hdCBjcmFjaz97JSBlbmRpZiAlfSIsCiAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsgIkB0eXBlIjogIkFuc3dlciIsICJ0ZXh0IjogInslIGlmIGlzX25sICV9RGlhdG9taWV0IGthbiBiYXJzdGVuIGFscyBoZXQgdmFuIGhvb2d0ZSB2YWx0LiBCaWogbm9ybWFhbCBkYWdlbGlqa3MgZ2VicnVpayBpcyBoZXQgdm9sbGVkaWcgc3RldmlnLnslIGVsc2UgJX1EaWF0b21pdGUgY2FuIGNyYWNrIGlmIGRyb3BwZWQgb24gYSBoYXJkIGZsb29yIGZyb20gaGVpZ2h0LiBVbmRlciBub3JtYWwgZGFpbHkgdXNlIGl0IGlzIGNvbXBsZXRlbHkgc29saWQueyUgZW5kaWYgJX0iIH0KICAgIH0seyUtIGVsc2lmIGlzX2NoZW5pbGxlIC0lfQogICAgewogICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAibmFtZSI6ICJ7JSBpZiBpc19ubCAlfUhvZSB3YXMgaWsgZGV6ZSBtYXQgem9uZGVyIHphY2h0aGVpZCB0ZSB2ZXJsaWV6ZW4/eyUgZWxzZSAlfUhvdyBkbyBJIHdhc2ggdGhpcyBtYXQgd2l0aG91dCBsb3NpbmcgdGhlIHNvZnRuZXNzP3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1NYWNoaW5ld2FzIGtvdWQgb3AgZWVuIGZpam53YXNwcm9ncmFtbWEuIEdlZW4gYmxlZWttaWRkZWwsIGdlZW4gd2FzdmVyemFjaHRlci4gVHVpbWVsZHJvZ2VuIG9wIGxhYWcgZ2VkdXJlbmRlIDEw4oCTMTUgbWludXRlbi4gRGUgbWF0IGRvb3JzdGFhdCAzMCsgd2FzY3ljbGkgem9uZGVyIHphY2h0aGVpZCB0ZSB2ZXJsaWV6ZW4ueyUgZWxzZSAlfU1hY2hpbmUgd2FzaCBjb2xkIG9uIGEgZ2VudGxlIGN5Y2xlLiBObyBibGVhY2gsIG5vIGZhYnJpYyBzb2Z0ZW5lci4gVHVtYmxlIGRyeSBvbiBsb3cgaGVhdCBmb3IgMTDigJMxNSBtaW51dGVzIG9yIGFpciBkcnkgZmxhdC4gVGhlIG1hdCB3aXRoc3RhbmRzIDMwKyB3YXNoIGN5Y2xlcyB3aXRob3V0IGxvc3Mgb2Ygc29mdG5lc3MueyUgZW5kaWYgJX0iIH0KICAgIH0sCiAgICB7CiAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICJuYW1lIjogInslIGlmIGlzX25sICV9V29yZHQgZGUgcG9vbCBuYSB2ZXJsb29wIHZhbiB0aWpkIHBsYXQ/eyUgZWxzZSAlfVdpbGwgdGhlIHBpbGUgZmxhdHRlbiBvdmVyIHRpbWU/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfU5lZSDigJQgZGV6ZSBtYXQgaXMgZ2V3ZXZlbiBtZXQgZWVuIGhvZ2UgR1NNLWRpY2h0aGVpZC4gRGUgc3RyYWsgZ2VwYWt0ZSBsdXNzZW4gYmVob3VkZW4gaHVuIHN0cnVjdHV1ciB3YXMgbmEgd2FzLnslIGVsc2UgJX1ObyDigJQgdGhpcyBtYXQgaXMgd292ZW4gYXQgYSBoaWdoIEdTTSBkZW5zaXR5LiBUaGUgdGlnaHRseSBwYWNrZWQgbG9vcHMgbWFpbnRhaW4gdGhlaXIgc3RydWN0dXJlIHdhc2ggYWZ0ZXIgd2FzaC57JSBlbmRpZiAlfSIgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1JcyBkZXplIG1hdCB2ZWlsaWcgb3AgdmxvZXJ2ZXJ3YXJtaW5nP3slIGVsc2UgJX1JcyB0aGlzIG1hdCBzYWZlIG9uIHJhZGlhbnQgZmxvb3IgaGVhdGluZz97JSBlbmRpZiAlfSIsCiAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsgIkB0eXBlIjogIkFuc3dlciIsICJ0ZXh0IjogInslIGlmIGlzX25sICV9SmEuIERlIGNoZW5pbGxldmV6ZWxzIGVuIFRQRS1ydWd6aWpkZSB6aWpuIGhpdHRlY29tcGF0aWJlbCBtZXQgdmxvZXJ2ZXJ3YXJtaW5nc3N5c3RlbWVuIG9uZGVyIGRlIDM1wrBDLnslIGVsc2UgJX1ZZXMuIFRoZSBjaGVuaWxsZSBmaWJlcnMgYW5kIFRQRSBiYWNraW5nIGFyZSBoZWF0LWNvbXBhdGlibGUgd2l0aCByYWRpYW50IGZsb29yIHN5c3RlbXMgYmVsb3cgMzXCsEMgKDk1wrBGKS57JSBlbmRpZiAlfSIgfQogICAgfSx7JS0gZWxzaWYgaXNfYmFtYm9vIC0lfQogICAgewogICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAibmFtZSI6ICJ7JSBpZiBpc19ubCAlfUlzIGJhbWJvZSBlY2h0IGFudGliYWN0ZXJpZWVsP3slIGVsc2UgJX1JcyBiYW1ib28gcmVhbGx5IGFudGliYWN0ZXJpYWw/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfUphIOKAlCBiYW1ib2UgYmV2YXQgZWVuIG5hdHV1cmxpamsgYmlvLWFnZW5zIGdlbmFhbWQgYmFtYm9lIGt1biBkYXQgYmFjdGVyaWVncm9laSByZW10LiBEaXQgaXMgcGVybWFuZW50IGVuIHdhc3QgbmlldCB1aXQueyUgZWxzZSAlfVllcyDigJQgYmFtYm9vIGNvbnRhaW5zIGEgbmF0dXJhbCBiaW8tYWdlbnQgY2FsbGVkIGJhbWJvbyBrdW4gdGhhdCBpbmhpYml0cyBiYWN0ZXJpYWwgZ3Jvd3RoIHBlcm1hbmVudGx5LCB1bmxpa2UgY2hlbWljYWwgdHJlYXRtZW50cyB0aGF0IHdhc2ggb3V0LnslIGVuZGlmICV9IiB9CiAgICB9LAogICAgewogICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAibmFtZSI6ICJ7JSBpZiBpc19ubCAlfUhvZSB3YXMgZW4gb25kZXJob3VkIGlrIGVlbiBiYW1ib2UgbWF0P3slIGVsc2UgJX1Ib3cgZG8gSSB3YXNoIGFuZCBjYXJlIGZvciBhIGJhbWJvbyBtYXQ/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfU1hY2hpbmV3YXMga291ZCBvcCBlZW4gZmlqbndhc3Byb2dyYW1tYS4gVHVpbWVsZHJvZ2VuIG9wIGxhYWcgb2YgdmxhayBsdWNodGRyb2dlbi4gVmVybWlqZCB3YXN2ZXJ6YWNodGVycyBlbiBibGVla21pZGRlbC4gRGUgbWF0IHdvcmR0IHZhbiBuYXR1cmUgemFjaHRlciBiaWogZWxrZSB3YXMueyUgZWxzZSAlfU1hY2hpbmUgd2FzaCBjb2xkIG9uIGEgZ2VudGxlIGN5Y2xlLiBUdW1ibGUgZHJ5IG9uIGxvdyBvciBhaXIgZHJ5IGZsYXQuIEF2b2lkIGZhYnJpYyBzb2Z0ZW5lcnMgYW5kIGJsZWFjaC4gVGhlIG1hdCBuYXR1cmFsbHkgZ2V0cyBzb2Z0ZXIgd2l0aCBlYWNoIHdhc2gueyUgZW5kaWYgJX0iIH0KICAgIH0seyUtIGVsc2lmIGlzX2ZsdWZmeSAtJX0KICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1Ib2UgaG91ZCBpayBkZXplIG1hdCBwbHVpemlnIG5hIGhldCB3YXNzZW4/eyUgZWxzZSAlfUhvdyBkbyBJIGtlZXAgdGhpcyBtYXQgZmx1ZmZ5IGFmdGVyIHdhc2hpbmc/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfU1hY2hpbmV3YXMga291ZCBlbiB0dWltZWxkcm9nZW4gb3AgbGFhZyBnZWR1cmVuZGUgMTXigJMyMCBtaW51dGVuLiBHZWJydWlrIGdlZW4gd2FzdmVyemFjaHRlciDigJQgZGl0IHZlcm1pbmRlcnQgZGUgYWJzb3JwdGllLnslIGVsc2UgJX1NYWNoaW5lIHdhc2ggY29sZCBvbiBhIGdlbnRsZSBjeWNsZSBhbmQgdHVtYmxlIGRyeSBvbiBsb3cgZm9yIDE14oCTMjAgbWludXRlcy4gRG8gbm90IHVzZSBmYWJyaWMgc29mdGVuZXIg4oCUIGl0IGNvYXRzIHRoZSBmaWJlcnMgYW5kIHJlZHVjZXMgYWJzb3JiZW5jeS57JSBlbmRpZiAlfSIgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1CbGlqZnQgaGlqIHpvIGRpayBuYSByZWdlbG1hdGlnIGdlYnJ1aWs/eyUgZWxzZSAlfVdpbGwgaXQgc3RheSB0aGlzIHRoaWNrIGFmdGVyIHJlZ3VsYXIgdXNlP3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1KYSDigJQgZGUgbWF0IGlzIGdlYm91d2QgbWV0IGhvZ2UgcG9vbGRpY2h0aGVpZCBvbSB6aWpuIHZvbHVtZSB0ZSBiZWhvdWRlbiBiaWogZGFnZWxpamtzIGdlYnJ1aWsgZW4gaGVyc3RlbHQgdm9sbGVkaWcgbmEgZWxrZSB3YXMueyUgZWxzZSAlfVllcyDigJQgdGhlIG1hdCBpcyBjb25zdHJ1Y3RlZCBhdCBhIGhpZ2ggcGlsZSBkZW5zaXR5IHRvIG1haW50YWluIGl0cyBsb2Z0IHVuZGVyIGRhaWx5IGZvb3QgdHJhZmZpYyBhbmQgcmVjb3ZlcnMgZnVsbHkgYWZ0ZXIgZWFjaCB3YXNoLnslIGVuZGlmICV9IiB9CiAgICB9LHslLSBlbHNlIC0lfQogICAgewogICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAibmFtZSI6ICJ7JSBpZiBpc19ubCAlfUhvZSBzbmVsIGFic29yYmVlcnQgZGV6ZSBtYXQgd2F0ZXI/eyUgZWxzZSAlfUhvdyBxdWlja2x5IGRvZXMgdGhpcyBtYXQgYWJzb3JiIHdhdGVyP3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1EZSBtaWNyb3ZlemVsYm91dyBhYnNvcmJlZXJ0IHRvdCA0eCB6aWpuIGdld2ljaHQgaW4gd2F0ZXIgaW4gbWluZGVyIGRhbiAzIHNlY29uZGVuLiBEZSBtYXQgZHJvb2d0IGJpbm5lbiAy4oCTMyB1dXIgYmlqIG5vcm1hbGUgYmFka2FtZXJvbXN0YW5kaWdoZWRlbi57JSBlbHNlICV9VGhlIG1pY3JvZmliZXIgY29uc3RydWN0aW9uIGFic29yYnMgdXAgdG8gNMOXIGl0cyB3ZWlnaHQgaW4gd2F0ZXIgaW4gdW5kZXIgMyBzZWNvbmRzLiBUaGUgbWF0IGRyaWVzIHdpdGhpbiAy4oCTMyBob3VycyBpbiBub3JtYWwgYmF0aHJvb20gY29uZGl0aW9ucy57JSBlbmRpZiAlfSIgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1JcyBkZXplIG1hdCB3YXNtYWNoaW5lYmVzdGVuZGlnP3slIGVsc2UgJX1JcyB0aGlzIG1hdCBtYWNoaW5lIHdhc2hhYmxlP3slIGVuZGlmICV9IiwKICAgICAgImFjY2VwdGVkQW5zd2VyIjogeyAiQHR5cGUiOiAiQW5zd2VyIiwgInRleHQiOiAieyUgaWYgaXNfbmwgJX1KYS4gTWFjaGluZXdhcyBrb3VkIG9wIGVlbiBmaWpud2FzcHJvZ3JhbW1hLCBnZWVuIGJsZWVrbWlkZGVsLCBnZWVuIHdhc3ZlcnphY2h0ZXIuIFR1aW1lbGRyb2dlbiBvcCBsYWFnIG9mIHZsYWsgbHVjaHRkcm9nZW4ueyUgZWxzZSAlfVllcy4gTWFjaGluZSB3YXNoIGNvbGQgb24gYSBnZW50bGUgY3ljbGUsIG5vIGJsZWFjaCwgbm8gZmFicmljIHNvZnRlbmVyLiBUdW1ibGUgZHJ5IG9uIGxvdyBvciBhaXIgZHJ5IGZsYXQueyUgZW5kaWYgJX0iIH0KICAgIH0sCiAgICB7CiAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICJuYW1lIjogInslIGlmIGlzX25sICV9V2FhcnZhbiBpcyBkZSBhbnRpc2xpcCBydWd6aWpkZSBnZW1hYWt0P3slIGVsc2UgJX1XaGF0IGlzIHRoZSBub24tc2xpcCBiYWNraW5nIG1hZGUgb2Y/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfU1lZGlzY2gtZ3JhZGUgVFBFIOKAlCBoZXQgZ3JpanB0IHRlZ2VscywgbWFybWVyLCBoYXJkaG91dCBlbiB2aW55bCB6b25kZXIgbGlqbSBlbiBsYWF0IGdlZW4gcmVzaWR1IGFjaHRlci57JSBlbHNlICV9TWVkaWNhbC1ncmFkZSBUUEUgKHRoZXJtb3BsYXN0aWMgZWxhc3RvbWVyKSDigJQgaXQgZ3JpcHMgdGlsZSwgbWFyYmxlLCBoYXJkd29vZCwgYW5kIHZpbnlsIHdpdGhvdXQgYWRoZXNpdmUgYW5kIGxlYXZlcyBubyByZXNpZHVlLnslIGVuZGlmICV9IiB9CiAgICB9LHslLSBlbmRpZiAtJX0KICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1XYXQgaXMgdXcgcmV0b3VyYmVsZWlkP3slIGVsc2UgJX1XaGF0IGlzIHlvdXIgcmV0dXJuIHBvbGljeT97JSBlbmRpZiAlfSIsCiAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsgIkB0eXBlIjogIkFuc3dlciIsICJ0ZXh0IjogInslIGlmIGlzX25sICV9V2lqIGJpZWRlbiBlZW4gdGV2cmVkZW5oZWlkc2dhcmFudGllIHZhbiAzMCBkYWdlbi4gTmVlbSBjb250YWN0IG1ldCBvbnMgb3Agdm9vciBlZW4gdm9sbGVkaWdlIHRlcnVnYmV0YWxpbmcg4oCUIGdlZW4gcmV0b3VydmVyemVuZGluZyB2ZXJlaXN0LCBnZWVuIHJlc3RvY2tpbmctdmVyZ29lZGluZy57JSBlbHNlICV9V2Ugb2ZmZXIgYSAzMC1kYXkgc2F0aXNmYWN0aW9uIGd1YXJhbnRlZS4gQ29udGFjdCB1cyBmb3IgYSBmdWxsIHJlZnVuZCDigJQgbm8gcmV0dXJuIHNoaXBwaW5nIHJlcXVpcmVkLCBubyByZXN0b2NraW5nIGZlZS57JSBlbmRpZiAlfSIgfQogICAgfSwKICAgIHsKICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgIm5hbWUiOiAieyUgaWYgaXNfbmwgJX1Ib2UgbGFuZyBkdXVydCBkZSB2ZXJ6ZW5kaW5nP3slIGVsc2UgJX1Ib3cgbG9uZyBkb2VzIHNoaXBwaW5nIHRha2U/eyUgZW5kaWYgJX0iLAogICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7ICJAdHlwZSI6ICJBbnN3ZXIiLCAidGV4dCI6ICJ7JSBpZiBpc19ubCAlfUJlc3RlbGxpbmdlbiB3b3JkZW4gdmVyd2Vya3QgYmlubmVuIDHigJMyIHdlcmtkYWdlbi4gU3RhbmRhYXJkbGV2ZXJpbmcgaW4gTmVkZXJsYW5kIGVuIEJlbGdpw6sgZHV1cnQgZG9vcmdhYW5zIDLigJM0IHdlcmtkYWdlbi57JSBlbHNlICV9T3JkZXJzIHNoaXAgd2l0aGluIDHigJMyIGJ1c2luZXNzIGRheXMuIFN0YW5kYXJkIGRlbGl2ZXJ5IGFjcm9zcyB0aGUgY29udGluZW50YWwgVVMgdGFrZXMgM+KAkzUgYnVzaW5lc3MgZGF5cy57JSBlbmRpZiAlfSIgfQogICAgfQogICAgeyUtIGVuZGNhcHR1cmUgLSV9CiAgICB7eyBmYXFfanNvbiB9fQogIF0KfQo8L3NjcmlwdD4KCgo8c3R5bGU+CiAgLmN1c3RvbS1mYXEgeyBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zZWN0aW9uLXBhZGRpbmctdG9wKSB2YXIoLS1zZWN0aW9uLXBhZGRpbmctYm90dG9tKTsgfQogIC5jdXN0b20tZmFxX19jb250YWluZXIgeyBtYXgtd2lkdGg6IDg4MHB4OyBtYXJnaW4taW5saW5lOiBhdXRvOyB9CiAgLmN1c3RvbS1mYXFfX2hlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfQogIC5jdXN0b20tZmFxX19leWVicm93IHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcHJpbWFyeS0tZmFtaWx5KTsgZm9udC1zaXplOiAwLjc1cmVtOyBsZXR0ZXItc3BhY2luZzogMC4yZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG9wYWNpdHk6IDAuNjsgbWFyZ2luOiAwIDAgMXJlbTsgfQogIC5jdXN0b20tZmFxX19oZWFkaW5nIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZy0tZmFtaWx5KTsgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzdncsIDIuNXJlbSk7IGxpbmUtaGVpZ2h0OiAxLjI7IG1hcmdpbjogMDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH0KICAuY3VzdG9tLWZhcV9fbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAuY3VzdG9tLWZhcS1pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSAxMCUsIHRyYW5zcGFyZW50KTsgcGFkZGluZzogMS41cmVtIDA7IH0KICAuY3VzdG9tLWZhcS1pdGVtOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWZvcmVncm91bmQpIDEwJSwgdHJhbnNwYXJlbnQpOyB9CiAgLmN1c3RvbS1mYXEtaXRlbV9fc3VtbWFyeSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyOyBsaXN0LXN0eWxlOiBub25lOyBnYXA6IDEuNXJlbTsgfQogIC5jdXN0b20tZmFxLWl0ZW1fX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgeyBkaXNwbGF5OiBub25lOyB9CiAgLmN1c3RvbS1mYXEtaXRlbV9fcXVlc3Rpb24geyBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmltYXJ5LS1mYW1pbHkpOyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAxLjQ7IH0KICAuY3VzdG9tLWZhcS1pdGVtX19pY29uIHsgZmxleC1zaHJpbms6IDA7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlOyB9CiAgLmN1c3RvbS1mYXEtaXRlbVtvcGVuXSAuY3VzdG9tLWZhcS1pdGVtX19pY29uIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfQogIC5jdXN0b20tZmFxLWl0ZW1fX2Fuc3dlciB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaW1hcnktLWZhbWlseSk7IG1hcmdpbi10b3A6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjY1OyBvcGFjaXR5OiAwLjg7IGZvbnQtc2l6ZTogMC44NzVyZW07IH0KICAuY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIgcCB7IG1hcmdpbjogMCAwIDAuNzVyZW07IH0KICAuY3VzdG9tLWZhcS1pdGVtX19hbnN3ZXIgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfQo8L3N0eWxlPgoKeyUgc2NoZW1hICV9CnsKICAibmFtZSI6ICJQcm9kdWN0IEZBUSIsCiAgInRhZyI6ICJzZWN0aW9uIiwKICAiY2xhc3MiOiAic2VjdGlvbi1jdXN0b20tZmFxIiwKICAiYmxvY2tzIjogW3sgInR5cGUiOiAiX2N1c3RvbS1mYXEtaXRlbSIgfV0sCiAgInNldHRpbmdzIjogWwogICAgeyAidHlwZSI6ICJjb2xvcl9zY2hlbWUiLCAiaWQiOiAiY29sb3Jfc2NoZW1lIiwgImxhYmVsIjogIkNvbG9yIHNjaGVtZSIsICJkZWZhdWx0IjogInNjaGVtZS0xIiB9LAogICAgeyAidHlwZSI6ICJyYW5nZSIsICJpZCI6ICJwYWRkaW5nX3RvcCIsICAgICJsYWJlbCI6ICJQYWRkaW5nIHRvcCIsICAgICJtaW4iOiAwLCAibWF4IjogMTYwLCAic3RlcCI6IDQsICJ1bml0IjogInB4IiwgImRlZmF1bHQiOiA5NiB9LAogICAgeyAidHlwZSI6ICJyYW5nZSIsICJpZCI6ICJwYWRkaW5nX2JvdHRvbSIsICJsYWJlbCI6ICJQYWRkaW5nIGJvdHRvbSIsICJtaW4iOiAwLCAibWF4IjogMTYwLCAic3RlcCI6IDQsICJ1bml0IjogInB4IiwgImRlZmF1bHQiOiA5NiB9CiAgXSwKICAicHJlc2V0cyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiUHJvZHVjdCBGQVEiLAogICAgICAiYmxvY2tzIjogewogICAgICAgICJxMSI6IHsgInR5cGUiOiAiX2N1c3RvbS1mYXEtaXRlbSIgfSwKICAgICAgICAicTIiOiB7ICJ0eXBlIjogIl9jdXN0b20tZmFxLWl0ZW0iIH0sCiAgICAgICAgInEzIjogeyAidHlwZSI6ICJfY3VzdG9tLWZhcS1pdGVtIiB9CiAgICAgIH0sCiAgICAgICJibG9ja19vcmRlciI6IFsicTEiLCAicTIiLCAicTMiXQogICAgfQogIF0sCiAgImVuYWJsZWRfb24iOiB7ICJ0ZW1wbGF0ZXMiOiBbInByb2R1Y3QiXSB9Cn0KeyUgZW5kc2NoZW1hICV9Cg==
mag
