JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
PHR3LXN0b3J5ZGF0YSBuYW1lPSJCcmVja2VucmlkZ2UgTXlzdGVyaWVzIEJvb2sxIC0gVGhlIFJldHVybiBvZiB0aGUgQmxhY2t3b29kIFdpdGNoIiBzdGFydG5vZGU9IjEiIGNyZWF0b3I9IlR3aW5lIiBjcmVhdG9yLXZlcnNpb249IjIuMTIuMCIgZm9ybWF0PSJTdWdhckN1YmUiIGZvcm1hdC12ZXJzaW9uPSIyLjM3LjMiIGlmaWQ9IkRFQUIyOUZELUMyRTYtNDJDOS1CMDkxLUM3NDE2Q0FGQTU5NiIgb3B0aW9ucz0iIiB0YWdzPSIiIHpvb209IjEiIGhpZGRlbj48c3R5bGUgcm9sZT0ic3R5bGVzaGVldCIgaWQ9InR3aW5lLXVzZXItc3R5bGVzaGVldCIgdHlwZT0idGV4dC90d2luZS1jc3MiPkBpbXBvcnQgdXJsKCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUF2ZXJpYStTZXJpZitMaWJyZTppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw3MDA7MSwzMDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwIik7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkxBQ0tXT09EIERFU0lHTiBWQVJJQUJMRVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgo6cm9vdCB7CgktLWJsYWNrd29vZC1iZzogIzBjMGYxMTsKLS1ibGFja3dvb2QtZ29sZDogI2M5YTE1YTsKCS0tYmxhY2t3b29kLWdvbGQtYnJpZ2h0OiAjZWZkMzlhOwoJLS1ibGFja3dvb2QtdGV4dDogI2U4ZTRkOTsKLS1ibGFja3dvb2Qtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNTUpOwoKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDkwLCAxMDUsIDExMiwgMC4wMjUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMjIpOwoJLS1hdG1vc3BoZXJlLXNpZGViYXI6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA0NSk7CgoJLS1wb3YtYWNjZW50OiAjYzlhMTVhOwoJLS1wb3YtYWNjZW50LWJyaWdodDogI2VmZDM5YTsKCS0tcG92LWFjY2VudC1zb2Z0OiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMik7CgktLXBvdi1ib3JkZXI6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjI1KTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEdMT0JBTCBTVE9SWSBTVFlMSU5HCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKaHRtbCB7CglzY3JvbGxiYXItY29sb3I6ICM2NjU1MzYgIzExMTUxODsKCXNjcm9sbGJhci13aWR0aDogdGhpbjsKfQoKYm9keSB7CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IDUyJSAwJSwKCQkJdmFyKC0tYXRtb3NwaGVyZS1wcmltYXJ5KSwKCQkJdHJhbnNwYXJlbnQgMzVlbQoJCSksCgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgODIlIDYyJSwKCQkJdmFyKC0tYXRtb3NwaGVyZS1zZWNvbmRhcnkpLAoJCQl0cmFuc3BhcmVudCA0MmVtCgkJKSwKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJdmFyKC0tYmxhY2t3b29kLWJnKSAwJSwKCQkJIzExMTUxOCA0OCUsCgkJCXZhcigtLWJsYWNrd29vZC1iZykgMTAwJQoJCSk7CgliYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwoJY29sb3I6IHZhcigtLWJsYWNrd29vZC10ZXh0KTsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJZm9udC13ZWlnaHQ6IDQwMDsKfQoKOjpzZWxlY3Rpb24gewoJYmFja2dyb3VuZDogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMzQpOwoJY29sb3I6ICNmZmY0ZDg7Cn0KCjo6LW1vei1zZWxlY3Rpb24gewoJYmFja2dyb3VuZDogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMzQpOwoJY29sb3I6ICNmZmY0ZDg7Cn0KCjo6LXdlYmtpdC1zY3JvbGxiYXIgewoJd2lkdGg6IDEwcHg7CgloZWlnaHQ6IDEwcHg7Cn0KCjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewoJYmFja2dyb3VuZDogIzExMTUxODsKfQoKOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNmQ1YjM5LAoJCQkjNGU0MjJlCgkJKTsKCWJvcmRlcjogMnB4IHNvbGlkICMxMTE1MTg7Cglib3JkZXItcmFkaXVzOiA4cHg7Cn0KCjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzhiNzA0MSwKCQkJIzY2NTIzNAoJCSk7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBNQUlOIFJFQURJTkcgQVJFQQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNzdG9yeSB7CglwYWRkaW5nLXRvcDogMS4yNWVtOwoJcGFkZGluZy1ib3R0b206IDIuNWVtOwp9CgojcGFzc2FnZXMgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCW1heC13aWR0aDogOTAwcHg7CgltYXJnaW46IDAgYXV0bzsKCXBhZGRpbmc6IDJlbSAyLjVlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxNDVkZWcsCgkJCXJnYmEoMjgsIDMzLCAzNiwgMC42OCksCgkJCXJnYmEoMTQsIDE4LCAyMCwgMC44MikKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcG92LWJvcmRlcik7Cglib3JkZXItcmFkaXVzOiAxMHB4OwoJYm94LXNoYWRvdzoKCQkwIDIycHggNjBweCB2YXIoLS1ibGFja3dvb2Qtc2hhZG93KSwKCQkwIDAgMzRweCB2YXIoLS1hdG1vc3BoZXJlLXByaW1hcnkpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzNSk7CglsaW5lLWhlaWdodDogMS41NTsKCXRyYW5zaXRpb246CgkJYm9yZGVyLWNvbG9yIDAuNDJzIGVhc2UsCgkJYm94LXNoYWRvdyAwLjQycyBlYXNlOwp9CgojcGFzc2FnZXM6OmJlZm9yZSB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWluc2V0OiA1cHg7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI1KTsKCWJvcmRlci1yYWRpdXM6IDZweDsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUEFTU0FHRSBUWVBPR1JBUEhZCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnBhc3NhZ2UgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCWNvbG9yOiB2YXIoLS1ibGFja3dvb2QtdGV4dCk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4wOGVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OiAxLjY4OwoJdGV4dC1hbGlnbjogbGVmdDsKCWFuaW1hdGlvbjogYmxhY2t3b29kLXBhc3NhZ2UtaW4gMC4zMnMgZWFzZS1vdXQgYm90aDsKfQoKLnBhc3NhZ2UgPiBiciB7CglkaXNwbGF5OiBub25lOwp9CgoucGFzc2FnZSBwIHsKCW1heC13aWR0aDogNzJjaDsKCW1hcmdpbjogMC41OGVtIDA7Cn0KCi5wYXNzYWdlID4gcDpmaXJzdC1vZi10eXBlIHsKCW1hcmdpbi10b3A6IDAuMjVlbTsKfQoKLnBhc3NhZ2UgPiBwOmxhc3Qtb2YtdHlwZSB7CgltYXJnaW4tYm90dG9tOiAwLjhlbTsKfQoKLnBhc3NhZ2Ugc3Ryb25nIHsKCWNvbG9yOiAjZWVlNmQzOwp9CgoucGFzc2FnZSBlbSB7Cgljb2xvcjogI2QxYzRhODsKfQoKLnBhc3NhZ2UgaDEsCi5wYXNzYWdlIGgyLAoucGFzc2FnZSBoMywKLnBhc3NhZ2UgaDQgewoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cn0KCi5wYXNzYWdlIGgxIHsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5wYXNzYWdlIGgyIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWNvbG9yOiAjZTlkOWI1OwoJZm9udC1zaXplOiAxLjY1ZW07Cglmb250LXdlaWdodDogNDAwOwoJbGluZS1oZWlnaHQ6IDEuMjsKCW1hcmdpbjogMC4xNWVtIDAgMC44NWVtOwoJcGFkZGluZy1ib3R0b206IDAuNDJlbTsKCXRleHQtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjcpOwp9CgoucGFzc2FnZSBoMjo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwOwoJYm90dG9tOiAwOwoJd2lkdGg6IG1pbigxMmVtLCA2MiUpOwoJaGVpZ2h0OiAxcHg7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXJnYmEoMjAxLCAxNjEsIDkwLCAwLjcyKSwKCQkJdHJhbnNwYXJlbnQKCQkpOwp9CgoucGFzc2FnZSBoMyB7Cgljb2xvcjogI2Q4YzI4ZTsKCWZvbnQtc2l6ZTogMS4xNGVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJbWFyZ2luOiAxLjI1ZW0gMCAwLjRlbTsKfQoKLnBhc3NhZ2UgaDQgewoJY29sb3I6ICNjYWJjOTk7Cglmb250LXNpemU6IDFlbTsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsaW5lLWhlaWdodDogMS4yNTsKCW1hcmdpbjogMWVtIDAgMC4zMmVtOwp9CgpAa2V5ZnJhbWVzIGJsYWNrd29vZC1wYXNzYWdlLWluIHsKCWZyb20gewoJCW9wYWNpdHk6IDA7CgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7Cgl9CgoJdG8gewoJCW9wYWNpdHk6IDE7CgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUEFTU0FHRSBMSU5LUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2UgYS5saW5rLWludGVybmFsOm5vdCguY2hvaWNlLWxpc3QgYSkgewoJY29sb3I6ICNkOWI2NmY7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTcsIDE4MiwgMTExLCAwLjQyKTsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRleHQtc2hhZG93OiAwIDAgOXB4IHJnYmEoMjE3LCAxODIsIDExMSwgMC4xMik7Cgl0cmFuc2l0aW9uOgoJCWNvbG9yIDAuMTRzIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDAuMTRzIGVhc2UsCgkJdGV4dC1zaGFkb3cgMC4xNHMgZWFzZTsKfQoKYS5saW5rLWludGVybmFsOmhvdmVyLAoucGFzc2FnZSBhLmxpbmstaW50ZXJuYWw6bm90KC5jaG9pY2UtbGlzdCBhKTpob3ZlciB7Cgljb2xvcjogI2ZmZjBiNzsKCWJvcmRlci1ib3R0b20tY29sb3I6ICNmZmYwYjc7Cgl0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyMTcsIDE4MiwgMTExLCAwLjIpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1VHQVJDVUJFIFNJREVCQVIKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktYmFyIHsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDAlLAoJCQl2YXIoLS1hdG1vc3BoZXJlLXNpZGViYXIpLAoJCQl0cmFuc3BhcmVudCAxN2VtCgkJKSwKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzE4MWQyMCwKCQkJIzExMTUxOCA3MiUsCgkJCSMwYzBmMTEKCQkpOwoJYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYXRtb3NwaGVyZS1ib3JkZXIpOwoJYm94LXNoYWRvdzogOHB4IDAgMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAwLjQycyBlYXNlLAoJCWJvcmRlci1jb2xvciAwLjQycyBlYXNlOwp9CgojdWktYmFyLWJvZHkgewoJbGluZS1oZWlnaHQ6IDEuMjsKCXBhZGRpbmc6IDAgMWVtOwoJc2Nyb2xsYmFyLWNvbG9yOiAjNWU1MDM1IHRyYW5zcGFyZW50OwoJc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9CgojdWktYmFyLWJvZHkgPiA6bm90KDpmaXJzdC1jaGlsZCkgewoJbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Owp9CgojdWktYmFyLWJvZHkgPiAjdGl0bGUgewoJcGFkZGluZy10b3A6IDAuNWVtICFpbXBvcnRhbnQ7CglwYWRkaW5nLWJvdHRvbTogMC44ZW0gIWltcG9ydGFudDsKfQoKI3N0b3J5LXRpdGxlIHsKCWNvbG9yOiAjZGViOTZkOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXNpemU6IDEuMjVlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4xOwoJbWFyZ2luOiAwOwoJdGV4dC1zaGFkb3c6CgkJMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC45KSwKCQkwIDAgMTVweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNSk7Cn0KCiNzdG9yeS1hdXRob3IgewoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CgltYXJnaW4tdG9wOiAwLjRlbTsKfQoKI3N0b3J5LWNhcHRpb24gewoJbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSURFQkFSIENPTlRST0xTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWJhci10cmF5IGJ1dHRvbiB7CgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI1KTsKCWJvcmRlci1jb2xvcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMjIpOwoJY29sb3I6ICNjZGJiOTE7Cn0KCiN1aS1iYXItdHJheSBidXR0b246aG92ZXIgewoJYmFja2dyb3VuZDogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTIpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC41NSk7Cgljb2xvcjogI2YwZDM5YTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgU1RBVFVTIFBBTkVMCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnN0YXR1cy1wYW5lbCB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KSwKCQkJcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxMikKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTYpOwoJYm9yZGVyLXJhZGl1czogN3B4OwoJYm94LXNoYWRvdzoKCQkwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXNpemU6IDAuOWVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNjhlbTsKfQoKLnN0YXR1cy1wYW5lbCBiciwKLnN0YXR1cy1wYW5lbCA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5zdGF0dXMtdGl0bGUgewoJY29sb3I6ICNjNWE3NjE7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTYpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXNpemU6IDAuNzhlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xNGVtOwoJbWFyZ2luOiAwIDAgMC40ZW07CglwYWRkaW5nLWJvdHRvbTogMC4zNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnN0YXR1cy1yb3cgewoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpOwoJZGlzcGxheTogZmxleDsKCWdhcDogMC41ZW07CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjNlbSAwOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2UsCgkJcGFkZGluZyAwLjE0cyBlYXNlOwp9Cgouc3RhdHVzLXJvdzpob3ZlciB7CgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI2KTsKCXBhZGRpbmctbGVmdDogMC4xOGVtOwoJcGFkZGluZy1yaWdodDogMC4xOGVtOwp9Cgouc3RhdHVzLWxhYmVsIHsKCWNvbG9yOiAjOTk5OwoJZm9udC1zaXplOiAwLjk1ZW07Cn0KCi5zdGF0dXMtdmFsdWUgewoJY29sb3I6ICNlZWU7Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC1hbGlnbjogcmlnaHQ7Cglmb250LXNpemU6IDEuMDVlbTsKCWxpbmUtaGVpZ2h0OiAxLjI1Owp9Cgouc3RhdHVzLW9iamVjdGl2ZSwKLnN0YXR1cy1wYXR0ZXJuIHsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNTUpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjRlbSAwLjVlbTsKfQoKLnN0YXR1cy1vYmplY3RpdmUgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg0NiwgNTEsIDUzLCAwLjg4KSwKCQkJcmdiYSgzMSwgMzcsIDQwLCAwLjg4KQoJCSk7Cglib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjU1KTsKCWNvbG9yOiAjZGRkOwoJbGluZS1oZWlnaHQ6IDEuNDsKCXBhZGRpbmc6IDAuOGVtIDAuODVlbTsKfQoKLnN0YXR1cy1wYXR0ZXJuIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoNDIsIDU3LCA2NSwgMC44NiksCgkJCXJnYmEoMjksIDQwLCA0NiwgMC44OCkKCQkpOwoJYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCByZ2JhKDEyNSwgMTY2LCAxODYsIDAuNjgpOwoJY29sb3I6ICNiZGQ0ZGY7Cn0KCi5zdGF0dXMtb2JqZWN0aXZlIHN0cm9uZyB7Cgljb2xvcjogI2UyYzc4NzsKfQoKLnN0YXR1cy1wYXR0ZXJuIHN0cm9uZyB7Cgljb2xvcjogI2MyZGNlODsKfQoKLnN0YXR1cy1vYmplY3RpdmUgc3Ryb25nLAouc3RhdHVzLXBhdHRlcm4gc3Ryb25nIHsKCWRpc3BsYXk6IGlubGluZTsKCW1hcmdpbi1yaWdodDogMC4yZW07Cn0KCi5zdGF0dXMtb2JqZWN0aXZlID4gYnIsCi5zdGF0dXMtcGF0dGVybiA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCiNzdG9yeS1jYXB0aW9uIC5zdGF0dXMtb2JqZWN0aXZlIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLXRvcDogMC45ZW0gIWltcG9ydGFudDsKfQoKI3N0b3J5LWNhcHRpb24gLnN0YXR1cy1wYXR0ZXJuIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLXRvcDogMC42MmVtICFpbXBvcnRhbnQ7Cn0KCi5zdGF0dXMtaW50cm8gewoJbGluZS1oZWlnaHQ6IDEuMjU7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjI1ZW0gMDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgTUVOVQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1iYXItYm9keSA+ICNtZW51IHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLXRvcDogMC44NWVtICFpbXBvcnRhbnQ7Cn0KCiNtZW51IHVsIHsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDE4KTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE1KTsKCWJvcmRlci1yYWRpdXM6IDVweDsKCW1hcmdpbjogMCAhaW1wb3J0YW50OwoJcGFkZGluZzogMDsKfQoKI21lbnUgbGkgewoJbWFyZ2luOiAwOwp9CgojbWVudSBsaTpub3QoOmZpcnN0LWNoaWxkKSB7Cglib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTsKfQoKI21lbnUgbGkgYSB7Cgljb2xvcjogI2NiYmY5ZjsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJcGFkZGluZzogMC4yOGVtIDAuNDVlbTsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAwLjE0cyBlYXNlLAoJCWNvbG9yIDAuMTRzIGVhc2U7Cn0KCiNtZW51IGxpIGE6aG92ZXIgewoJYmFja2dyb3VuZDogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMSk7Cglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwoJY29sb3I6ICNmMGQzOWE7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBUSVRMRSBTQ1JFRU4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudGl0bGUtc2NyZWVuIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CgltYXgtd2lkdGg6IDcwMHB4OwoJbWFyZ2luOiAwIGF1dG87CglwYWRkaW5nOiAxLjI1ZW0gMWVtOwoJYmFja2dyb3VuZDoKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA1MCUgNCUsCgkJCXJnYmEoMjAxLCAxNjEsIDkwLCAwLjEpLAoJCQl0cmFuc3BhcmVudCA0OCUKCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTQ1ZGVnLAoJCQlyZ2JhKDI4LCAzMSwgMzEsIDAuMzUpLAoJCQlyZ2JhKDExLCAxNCwgMTYsIDAuMTYpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjEyKTsKCWJvcmRlci1yYWRpdXM6IDEwcHg7Cglib3gtc2hhZG93OgoJCTAgMjJweCA1NXB4IHJnYmEoMCwgMCwgMCwgMC4zMyksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI1KTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLnRpdGxlLXNjcmVlbjo6YmVmb3JlIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMTglOwoJcmlnaHQ6IDE4JTsKCXRvcDogMDsKCWhlaWdodDogMXB4OwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl0cmFuc3BhcmVudCwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuNjgpLAoJCQl0cmFuc3BhcmVudAoJCSk7Cn0KCi5nYW1lLXNlcmllcyB7Cgljb2xvcjogI2I3YWE4YzsKCWZvbnQtc2l6ZTogMC44MmVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxldHRlci1zcGFjaW5nOiAwLjJlbTsKCW1hcmdpbi1ib3R0b206IDAuMjVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50aXRsZS1zeW1ib2wgewoJY29sb3I6ICNkOWI2NmY7Cglmb250LXNpemU6IDIuMWVtOwoJbGluZS1oZWlnaHQ6IDE7CgltYXJnaW46IDAuMmVtIDA7Cgl0ZXh0LXNoYWRvdzoKCQkwIDAgMThweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yOCksCgkJMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC43Mik7Cn0KCi5nYW1lLXRpdGxlIHsKCWNvbG9yOiAjZWZlNmNmOwoJZm9udC1zaXplOiAyLjM1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07CglsaW5lLWhlaWdodDogMS4wODsKCW1hcmdpbjogMC4yZW0gMDsKCXRleHQtc2hhZG93OgoJCTAgM3B4IDlweCByZ2JhKDAsIDAsIDAsIDAuOTIpLAoJCTAgMCAyNHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjExKTsKfQoKLmdhbWUtc3VidGl0bGUgewoJY29sb3I6ICNjN2I3OGY7Cglmb250LXNpemU6IDEuMDVlbTsKCWZvbnQtc3R5bGU6IGl0YWxpYzsKCWZvbnQtd2VpZ2h0OiA0MDA7CgltYXJnaW46IDAuM2VtIDAgMC45ZW07Cn0KCi50aXRsZS10YWdsaW5lIHsKCWNvbG9yOiAjZTBkNWJiOwoJZm9udC1zaXplOiAxLjA1ZW07Cglmb250LXN0eWxlOiBpdGFsaWM7CgltYXJnaW46IDAuNmVtIDA7Cn0KCi50aXRsZS1kZXNjcmlwdGlvbiB7CglsaW5lLWhlaWdodDogMS40NTsKCW1hcmdpbjogMC42NWVtIGF1dG8gMS4xZW07CgltYXgtd2lkdGg6IDYyMHB4Owp9CgoudGl0bGUtYWJvdXQgewoJZm9udC1zaXplOiAwLjllbTsKCW1hcmdpbi10b3A6IDAuMzVlbTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNUQVJUIEJVVFRPTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5zdGFydC1idXR0b24gewoJbWFyZ2luOiAwLjllbSAwIDAuNjVlbTsKfQoKLnN0YXJ0LWJ1dHRvbiBhIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNmI1NDJkLAoJCQkjNGUzZTI1CgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkICNiMzhhNDI7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OgoJCTAgN3B4IDE5cHggcmdiYSgwLCAwLCAwLCAwLjM0KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Cgljb2xvcjogI2ZmZjVkNTsKCWZvbnQtc2l6ZTogMC45NWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA4ZW07CglwYWRkaW5nOiAwLjY1ZW0gMS4yNWVtOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCXRyYW5zaXRpb246CgkJdHJhbnNmb3JtIDAuMTRzIGVhc2UsCgkJYmFja2dyb3VuZC1jb2xvciAwLjE0cyBlYXNlLAoJCWJvcmRlci1jb2xvciAwLjE0cyBlYXNlLAoJCWJveC1zaGFkb3cgMC4xNHMgZWFzZTsKfQoKLnN0YXJ0LWJ1dHRvbiBhOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM4MDY1MzYsCgkJCSM1ZjRjMmMKCQkpOwoJYm9yZGVyLWNvbG9yOiAjZDBhNzU1OwoJYm94LXNoYWRvdzoKCQkwIDlweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC40KSwKCQkwIDAgMThweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMiksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7Cgljb2xvcjogI2ZmZjdkZjsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEVQSVNPREUgT1BFTklOR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouZXBpc29kZS1vcGVuaW5nIHsKCXBhZGRpbmc6IDEuMjVlbSAxLjVlbTsKfQoKLmVwaXNvZGUtbGFiZWwgewoJY29sb3I6ICNhODk3NzQ7Cglmb250LXNpemU6IDAuNzhlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4yNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmVwaXNvZGUtdGl0bGUgewoJY29sb3I6ICNmMGU3ZDA7Cglmb250LXNpemU6IDIuM2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyZW07CglsaW5lLWhlaWdodDogMS4xOwoJbWFyZ2luOiAwLjI1ZW0gMCAwLjM1ZW07Cgl0ZXh0LXNoYWRvdzogMCAycHggOHB4ICMwMDA7Cn0KCi5lcGlzb2RlLWRhdGUgewoJY29sb3I6ICNiOWFlOTQ7Cglmb250LXNpemU6IDAuODJlbTsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsZXR0ZXItc3BhY2luZzogMC4xMmVtOwoJbWFyZ2luLWJvdHRvbTogMWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENIQVBURVIgQ0FSRFMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouY2hhcHRlci1jYXJkIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IDUwJSAwJSwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTIpLAoJCQl0cmFuc3BhcmVudCA2NSUKCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDQ4LCA0MSwgMjksIDAuNjYpLAoJCQlyZ2JhKDI1LCAyNCwgMjEsIDAuNzIpCgkJKTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC42Mik7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuNDgpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDE1cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuNCksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKCW1hcmdpbjogMC44NWVtIGF1dG8gMS4yNWVtOwoJcGFkZGluZzogMS41NWVtIDEuNGVtOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouY2hhcHRlci1jYXJkOjpiZWZvcmUgewoJY29udGVudDogIuKcoyI7CglkaXNwbGF5OiBibG9jazsKCWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50KTsKCWZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS41NWVtOwoJbGluZS1oZWlnaHQ6IDE7CgltYXJnaW4tYm90dG9tOiAwLjQ1ZW07Cgl0ZXh0LXNoYWRvdzoKCQkwIDAgMTRweCB2YXIoLS1wb3YtYWNjZW50LXNvZnQpLAoJCTAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuOCk7Cn0KCi5jaGFwdGVyLWNhcmQ6OmFmdGVyIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMTIlOwoJcmlnaHQ6IDEyJTsKCWJvdHRvbTogMDsKCWhlaWdodDogMXB4OwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl0cmFuc3BhcmVudCwKCQkJdmFyKC0tYXRtb3NwaGVyZS1ib3JkZXIpLAoJCQl0cmFuc3BhcmVudAoJCSk7Cn0KCi5jaGFwdGVyLW51bWJlciB7Cgljb2xvcjogI2Q1Y2JiMTsKCWZvbnQtc2l6ZTogMC44NWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE3ZW07CgltYXJnaW4tdG9wOiAwLjU1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoucG92LW5hbWUgewoJY29sb3I6ICNmM2VhZDM7Cglmb250LXNpemU6IDIuMWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbWFyZ2luOiAwLjJlbSAwOwoJdGV4dC1zaGFkb3c6CgkJMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC45KSwKCQkwIDAgMThweCB2YXIoLS1wb3YtYWNjZW50LXNvZnQpOwp9CgouY2hhcHRlci10aXRsZSB7Cgljb2xvcjogI2QyYjk3ZTsKCWZvbnQtc2l6ZTogMS4wNWVtOwoJZm9udC1zdHlsZTogaXRhbGljOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyZW07Cn0KCi5jaGFwdGVyLW9iamVjdGl2ZSB7CgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTgpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTIpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJY29sb3I6ICNkNGNlYmQ7Cglmb250LXNpemU6IDAuOWVtOwoJbWFyZ2luOiAxZW0gYXV0byAwOwoJbWF4LXdpZHRoOiA1MDBweDsKCXBhZGRpbmc6IDAuNTVlbSAwLjhlbTsKfQoKLmNoYXB0ZXItb2JqZWN0aXZlID4gYnIgewoJZGlzcGxheTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBPViBOT1RJQ0UKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucG92LW5vdGljZSB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXJnYmEoOTEsIDc5LCA1MiwgMC40MiksCgkJCXJnYmEoNDgsIDQ1LCAzNywgMC4yMikKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgxODMsIDE0OSwgNzgsIDAuMjIpOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1wb3YtYWNjZW50KTsKCWJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xOCksCgkJMCAwIDE1cHggdmFyKC0tcG92LWFjY2VudC1zb2Z0KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJbWFyZ2luOiAwLjhlbSAwIDAuOWVtOwoJcGFkZGluZzogMC41OGVtIDAuOWVtOwp9CgoucG92LW5vdGljZSA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQTEFZRVIgQ0hPSUNFUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5jaG9pY2UtcHJvbXB0IHsKCWNvbG9yOiAjZDhjY2IxOwoJZm9udC1zaXplOiAwLjg2ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCW1hcmdpbjogMC45NWVtIDAgMC4zZW07Cgl0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC43KTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5jaG9pY2UtbGlzdCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBmbGV4OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWdhcDogMC4zZW07CgltYXJnaW46IDAuM2VtIDAgMC43NWVtOwp9CgouY2hvaWNlLWxpc3QgPiBiciwKLmNob2ljZS1saXN0IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5jaG9pY2UtbGlzdDo6YmVmb3JlIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMC41MmVtOwoJdG9wOiAwLjZlbTsKCWJvdHRvbTogMC42ZW07Cgl3aWR0aDogMXB4OwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJdHJhbnNwYXJlbnQsCgkJCXJnYmEoMjAxLCAxNjEsIDkwLCAwLjE2KSwKCQkJdHJhbnNwYXJlbnQKCQkpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5jaG9pY2UtbGlzdCBhLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWwgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWlzb2xhdGlvbjogaXNvbGF0ZTsKCWRpc3BsYXk6IGJsb2NrOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg1OCwgNjIsIDYwLCAwLjkyKSwKCQkJcmdiYSgzOSwgNDMsIDQyLCAwLjk0KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyMCwgMTI0LCAxMTksIDAuNTgpOwoJYm9yZGVyLXJhZGl1czogNXB4OwoJYm94LXNoYWRvdzoKCQkwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMiksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwoJY29sb3I6ICNkZmJkNzc7Cglmb250LXNpemU6IDFlbTsKCWxpbmUtaGVpZ2h0OiAxLjI4OwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC42OGVtIDFlbSAwLjY4ZW0gMi4xNWVtOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwoJdHJhbnNpdGlvbjoKCQl0cmFuc2Zvcm0gMC4xNHMgZWFzZSwKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDAuMTRzIGVhc2UsCgkJYm94LXNoYWRvdyAwLjE0cyBlYXNlLAoJCWNvbG9yIDAuMTRzIGVhc2U7Cn0KCi5jaG9pY2UtbGlzdCBhOjpiZWZvcmUsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6OmJlZm9yZSwKLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOjpiZWZvcmUgewoJY29udGVudDogIuKAuiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwLjhlbTsKCXRvcDogNTAlOwoJY29sb3I6IHJnYmEoMjIzLCAxODksIDExOSwgMC42Mik7Cglmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7Cglmb250LXNpemU6IDEuMmVtOwoJbGluZS1oZWlnaHQ6IDE7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU0JSk7Cgl0cmFuc2l0aW9uOgoJCWxlZnQgMC4xNHMgZWFzZSwKCQljb2xvciAwLjE0cyBlYXNlOwp9CgouY2hvaWNlLWxpc3QgYTo6YWZ0ZXIsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6OmFmdGVyLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6OmFmdGVyIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDA7Cgl6LWluZGV4OiAtMTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMTBkZWcsCgkJCXRyYW5zcGFyZW50IDAlLAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KSA0NiUsCgkJCXRyYW5zcGFyZW50IDY4JQoJCSk7CglvcGFjaXR5OiAwOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpOwoJdHJhbnNpdGlvbjoKCQlvcGFjaXR5IDAuMThzIGVhc2UsCgkJdHJhbnNmb3JtIDAuMjJzIGVhc2U7Cn0KCi5jaG9pY2UtbGlzdCBhOmhvdmVyLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmhvdmVyLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg3OSwgNzUsIDYzLCAwLjk2KSwKCQkJcmdiYSg1MCwgNTAsIDQ1LCAwLjk4KQoJCSk7Cglib3JkZXItY29sb3I6ICNiMzhhNDI7Cglib3gtc2hhZG93OgoJCTAgN3B4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpLAoJCTAgMCAxNXB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA4KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNTUpOwoJY29sb3I6ICNmZmYwYjg7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKfQoKLmNob2ljZS1saXN0IGE6aG92ZXI6OmJlZm9yZSwKLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDpob3Zlcjo6YmVmb3JlLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6aG92ZXI6OmJlZm9yZSB7CglsZWZ0OiAwLjk1ZW07Cgljb2xvcjogdmFyKC0tYmxhY2t3b29kLWdvbGQtYnJpZ2h0KTsKfQoKLmNob2ljZS1saXN0IGE6aG92ZXI6OmFmdGVyLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmhvdmVyOjphZnRlciwKLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOmhvdmVyOjphZnRlciB7CglvcGFjaXR5OiAxOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE4JSk7Cn0KCi5jaG9pY2UtbGlzdCBhOmZvY3VzLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmZvY3VzLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6Zm9jdXMgewoJYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFja3dvb2QtZ29sZCk7Cglib3gtc2hhZG93OgoJCTAgMCAwIDJweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yKSwKCQkwIDZweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKCW91dGxpbmU6IG5vbmU7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBJTlRFUk5BTCBUSE9VR0hUUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5pbnRlcm5hbC10aG91Z2h0IHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgxMDQsIDEyMCwgMTMwLCAwLjEpLAoJCQlyZ2JhKDEwNCwgMTIwLCAxMzAsIDAuMDI1KQoJCSk7Cglib3JkZXItbGVmdDogM3B4IHNvbGlkICM3NDg5OTM7Cglib3JkZXItcmFkaXVzOiAwIDZweCA2cHggMDsKCWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTsKCWNvbG9yOiAjYzlkM2Q4OwoJZm9udC1zdHlsZTogaXRhbGljOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDEyZW07CgltYXJnaW46IDAuN2VtIDA7CglwYWRkaW5nOiAwLjQ2ZW0gMC44NWVtOwp9CgouaW50ZXJuYWwtdGhvdWdodDo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwOwoJdG9wOiAwOwoJYm90dG9tOiAwOwoJd2lkdGg6IDNweDsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMTU4LCAxODksIDIwNCwgMC43NSksCgkJCXJnYmEoMTAwLCAxMTksIDEyOSwgMC4zNSkKCQkpOwoJYm9yZGVyLXJhZGl1czogMnB4Owp9CgouaW50ZXJuYWwtdGhvdWdodCA+IGJyOmZpcnN0LWNoaWxkLAouaW50ZXJuYWwtdGhvdWdodCA+IGJyOmxhc3QtY2hpbGQgewoJZGlzcGxheTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEtFVklOIFBBVFRFUk4gVFJBQ0tFUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5rZXZpbi1wYXR0ZXJuIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSg0OSwgNjksIDgwLCAwLjcyKSwKCQkJcmdiYSgzNSwgNDksIDU3LCAwLjU1KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExMiwgMTQ4LCAxNjYsIDAuNTIpOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1wb3YtYWNjZW50KTsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6CgkJMCA2cHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMjMpLAoJCTAgMCAxN3B4IHJnYmEoMTEyLCAxNDgsIDE2NiwgMC4wNTUpOwoJY29sb3I6ICNkNGUyZTg7Cglmb250LXNpemU6IDAuOWVtOwoJbGluZS1oZWlnaHQ6IDEuMzsKCW1hcmdpbjogMC42NWVtIDA7CglwYWRkaW5nOiAwLjQyZW0gMC43MmVtOwoJYW5pbWF0aW9uOiBibGFja3dvb2QtcGF0dGVybi1hcnJpdmUgMC4zMnMgZWFzZS1vdXQgYm90aDsKfQoKLmtldmluLXBhdHRlcm46OmJlZm9yZSB7Cgljb250ZW50OiAi4peIIjsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWNvbG9yOiByZ2JhKDE4MCwgMjE5LCAyMzcsIDAuNyk7Cglmb250LXNpemU6IDAuOGVtOwoJbWFyZ2luLXJpZ2h0OiAwLjQ1ZW07Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMDRlbSk7Cn0KCi5rZXZpbi1wYXR0ZXJuIHN0cm9uZyB7Cgljb2xvcjogI2UzZjBmNTsKfQoKLmtldmluLXBhdHRlcm4gPiBiciB7CglkaXNwbGF5OiBub25lOwp9CgpAa2V5ZnJhbWVzIGJsYWNrd29vZC1wYXR0ZXJuLWFycml2ZSB7Cglmcm9tIHsKCQlvcGFjaXR5OiAwOwoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsKCX0KCgl0byB7CgkJb3BhY2l0eTogMTsKCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDTFVFIEJPWEVTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmNsdWUtZGlzY292ZXJlZCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDk0LCA3NiwgNDEsIDAuNzIpLAoJCQlyZ2JhKDU3LCA0OSwgMzMsIDAuNjgpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkzLCAxNTcsIDgwLCAwLjY2KTsKCWJvcmRlci1sZWZ0OiA0cHggc29saWQgI2I4OTM0ODsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6CgkJMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMjQpLAoJCTAgMCAxOHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA1NSksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKCWNvbG9yOiAjZjBkY2FhOwoJZm9udC1zaXplOiAwLjg4ZW07CgltYXJnaW46IDAuNzVlbSAwOwoJcGFkZGluZzogMC41OGVtIDAuNzhlbTsKCXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwoJYW5pbWF0aW9uOgoJCWJsYWNrd29vZC1jbHVlLWFycml2ZSAwLjM4cyBlYXNlLW91dCBib3RoLAoJCWJsYWNrd29vZC1jbHVlLXNldHRsZSAwLjhzIGVhc2Utb3V0IDAuMnMgYm90aDsKfQoKLmNsdWUtZGlzY292ZXJlZDo6YmVmb3JlIHsKCWNvbnRlbnQ6ICLil4YiOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJY29sb3I6IHJnYmEoMjU1LCAyMjEsIDE0MywgMC42OCk7Cglmb250LXNpemU6IDAuN2VtOwoJbWFyZ2luLXJpZ2h0OiAwLjVlbTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4wOGVtKTsKfQoKLmNsdWUtZGlzY292ZXJlZCBzdHJvbmcgewoJY29sb3I6ICNmZmU3YTk7Cn0KCi5jbHVlLWRpc2NvdmVyZWQgPiBiciB7CglkaXNwbGF5OiBub25lOwp9CgpAa2V5ZnJhbWVzIGJsYWNrd29vZC1jbHVlLWFycml2ZSB7CgkwJSB7CgkJb3BhY2l0eTogMDsKCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKCQlib3gtc2hhZG93OiBub25lOwoJfQoKCTYwJSwKCTEwMCUgewoJCW9wYWNpdHk6IDE7CgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwoJfQp9CgpAa2V5ZnJhbWVzIGJsYWNrd29vZC1jbHVlLXNldHRsZSB7Cglmcm9tIHsKCQlib3JkZXItY29sb3I6IHJnYmEoMjMyLCAxOTMsIDEwNCwgMC44Mik7Cgl9CgoJdG8gewoJCWJvcmRlci1jb2xvcjogcmdiYSgxOTMsIDE1NywgODAsIDAuNjYpOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ0hBUFRFUiBTVU1NQVJJRVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouY2hhcHRlci1zdW1tYXJ5LWNsdWVzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxNDVkZWcsCgkJCXJnYmEoODcsIDcwLCAzOSwgMC42NSksCgkJCXJnYmEoNDUsIDQwLCAzMSwgMC43MikKCQkpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC41Mik7Cglib3JkZXItbGVmdC13aWR0aDogNHB4OwoJbWFyZ2luOiAwLjdlbSAwOwoJcGFkZGluZzogMC44ZW0gMC45ZW07CglhbmltYXRpb246IG5vbmU7Cn0KCi5jaGFwdGVyLXN1bW1hcnktY2x1ZXM6OmJlZm9yZSB7CglkaXNwbGF5OiBub25lOwp9CgouY2hhcHRlci1zdW1tYXJ5LWNsdWVzID4gc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJY29sb3I6ICNmZmU0YTQ7Cglmb250LXNpemU6IDEuMDNlbTsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbWFyZ2luLWJvdHRvbTogMC41NWVtOwoJcGFkZGluZy1ib3R0b206IDAuMzhlbTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjI4LCAxNjQsIDAuMTYpOwp9CgouY2hhcHRlci1zdW1tYXJ5LWNsdWVzIHVsIHsKCWxpc3Qtc3R5bGU6IG5vbmU7CgltYXJnaW46IDAuNGVtIDAgMDsKCXBhZGRpbmc6IDA7Cn0KCi5jaGFwdGVyLXN1bW1hcnktY2x1ZXMgbGkgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6IDEuMzg7CgltYXJnaW46IDAuMTJlbSAwOwoJcGFkZGluZzogMC4xNmVtIDAgMC4xNmVtIDEuMjVlbTsKfQoKLmNoYXB0ZXItc3VtbWFyeS1jbHVlcyBsaTo6YmVmb3JlIHsKCWNvbnRlbnQ6ICLigLoiOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMC4xMmVtOwoJdG9wOiAwLjEyZW07Cgljb2xvcjogcmdiYSgyNTUsIDIyMiwgMTQ2LCAwLjY2KTsKCWZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4wMmVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR0VORVJBTCBMSVNUIFNQQUNJTkcKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZSB1bCwKLnBhc3NhZ2Ugb2wgewoJbWFyZ2luLXRvcDogMC42ZW07CgltYXJnaW4tYm90dG9tOiAwLjhlbTsKCXBhZGRpbmctbGVmdDogMS42ZW07Cn0KCi5wYXNzYWdlIGxpIHsKCW1hcmdpbjogMC4yNWVtIDA7Cn0KCi5jbHVlLWRpc2NvdmVyZWQgdWwsCi5jbHVlLWRpc2NvdmVyZWQgb2wgewoJbWFyZ2luLXRvcDogMC40ZW07CgltYXJnaW4tYm90dG9tOiAwOwp9CgouY2x1ZS1kaXNjb3ZlcmVkIGxpIHsKCW1hcmdpbi10b3A6IDAuMTJlbTsKCW1hcmdpbi1ib3R0b206IDAuMTJlbTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENVU1RPTSBCT1ggTk9STUFMSVpBVElPTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wb3Ytbm90aWNlID4gOmZpcnN0LWNoaWxkLAouY2hhcHRlci1vYmplY3RpdmUgPiA6Zmlyc3QtY2hpbGQsCi5rZXZpbi1wYXR0ZXJuID4gOmZpcnN0LWNoaWxkLAouY2x1ZS1kaXNjb3ZlcmVkID4gOmZpcnN0LWNoaWxkLAouaW50ZXJuYWwtdGhvdWdodCA+IDpmaXJzdC1jaGlsZCwKLnN0YXR1cy1vYmplY3RpdmUgPiA6Zmlyc3QtY2hpbGQsCi5zdGF0dXMtcGF0dGVybiA+IDpmaXJzdC1jaGlsZCB7CgltYXJnaW4tdG9wOiAwOwp9CgoucG92LW5vdGljZSA+IDpsYXN0LWNoaWxkLAouY2hhcHRlci1vYmplY3RpdmUgPiA6bGFzdC1jaGlsZCwKLmtldmluLXBhdHRlcm4gPiA6bGFzdC1jaGlsZCwKLmNsdWUtZGlzY292ZXJlZCA+IDpsYXN0LWNoaWxkLAouaW50ZXJuYWwtdGhvdWdodCA+IDpsYXN0LWNoaWxkLAouc3RhdHVzLW9iamVjdGl2ZSA+IDpsYXN0LWNoaWxkLAouc3RhdHVzLXBhdHRlcm4gPiA6bGFzdC1jaGlsZCB7CgltYXJnaW4tYm90dG9tOiAwOwp9CgouY2hhcHRlci1jYXJkICsgLnBvdi1ub3RpY2UsCi5jaGFwdGVyLWNhcmQgKyBwIHsKCW1hcmdpbi10b3A6IDAuN2VtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTE9DQVRJT04tQkFTRUQgQVRNT1NQSEVSRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmJvZHkuYXRtb3NwaGVyZS10aXRsZSB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDkpOwoJLS1hdG1vc3BoZXJlLXNlY29uZGFyeTogcmdiYSg4NywgNjgsIDM5LCAwLjA1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjI3KTsKCS0tYXRtb3NwaGVyZS1zaWRlYmFyOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNTUpOwp9Cgpib2R5LmF0bW9zcGhlcmUtaG91c2UgewoJLS1hdG1vc3BoZXJlLXByaW1hcnk6IHJnYmEoOTEsIDEyMywgMTM3LCAwLjA3NSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDY5LCA4NiwgNzAsIDAuMDQ1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMTEzLCAxNTEsIDE2NiwgMC4yNSk7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSg5MywgMTI2LCAxMzksIDAuMDU1KTsKfQoKYm9keS5hdG1vc3BoZXJlLWZpZWxkIHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDkzLCAxMDUsIDc4LCAwLjA3KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoOTMsIDY3LCA0NCwgMC4wNjUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgxNDEsIDEzMCwgODQsIDAuMjYpOwoJLS1hdG1vc3BoZXJlLXNpZGViYXI6IHJnYmEoOTksIDEwNCwgNzIsIDAuMDU1KTsKfQoKYm9keS5hdG1vc3BoZXJlLXN0cmVldCB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSgxMTMsIDEyOCwgMTM1LCAwLjA1NSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDk1LCAxMDQsIDEwOCwgMC4wMzUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgxMzUsIDE0NywgMTUxLCAwLjIpOwoJLS1hdG1vc3BoZXJlLXNpZGViYXI6IHJnYmEoMTEyLCAxMjUsIDEzMSwgMC4wNCk7Cn0KCmJvZHkuYXRtb3NwaGVyZS1lbGVtZW50YXJ5IHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDE1MSwgMTM3LCAxMDEsIDAuMDYpOwoJLS1hdG1vc3BoZXJlLXNlY29uZGFyeTogcmdiYSgxMDAsIDExNywgMTIxLCAwLjA0NSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDE3MSwgMTUxLCAxMDQsIDAuMjIpOwoJLS1hdG1vc3BoZXJlLXNpZGViYXI6IHJnYmEoMTQ1LCAxMzAsIDk0LCAwLjA0KTsKfQoKYm9keS5hdG1vc3BoZXJlLW1pZGRsZS1zY2hvb2wgewoJLS1hdG1vc3BoZXJlLXByaW1hcnk6IHJnYmEoODcsIDEwNiwgMTE2LCAwLjA2NSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDYxLCA3OCwgODIsIDAuMDQ1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMTAzLCAxMzIsIDE0NCwgMC4yMyk7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSg4NywgMTA4LCAxMTYsIDAuMDQ4KTsKfQoKYm9keS5hdG1vc3BoZXJlLW9mZmljZSB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSgxMTIsIDEyMSwgNzQsIDAuMDc1KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoMTQyLCAxMTEsIDU3LCAwLjA1NSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDE1MSwgMTUxLCA4NywgMC4yNyk7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSgxMTEsIDEyMiwgNzQsIDAuMDU1KTsKfQoKYm9keS5hdG1vc3BoZXJlLWVuZGluZyB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDEwNSwgNzcsIDQ2LCAwLjA1NSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zMSk7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDYpOwp9Cgpib2R5LmF0bW9zcGhlcmUtZmllbGQgI3Bhc3NhZ2VzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxNDVkZWcsCgkJCXJnYmEoMjcsIDMxLCAyOCwgMC43MyksCgkJCXJnYmEoMTQsIDE4LCAxNywgMC44NikKCQkpOwp9Cgpib2R5LmF0bW9zcGhlcmUtaG91c2UgI3Bhc3NhZ2VzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxNDVkZWcsCgkJCXJnYmEoMjQsIDMxLCAzNSwgMC43MiksCgkJCXJnYmEoMTMsIDE3LCAyMCwgMC44NikKCQkpOwp9Cgpib2R5LmF0bW9zcGhlcmUtb2ZmaWNlIC5zdGF0dXMtcGF0dGVybiB7Cglib3JkZXItbGVmdC1jb2xvcjogcmdiYSgxNTEsIDE2NCwgOTEsIDAuNzIpOwp9Cgpib2R5LmF0bW9zcGhlcmUtb2ZmaWNlIC5zdGF0dXMtcGF0dGVybiBzdHJvbmcgewoJY29sb3I6ICNkNmRkYTg7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQT1YgVklTVUFMIElERU5USVRJRVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LnBvdi1rZXZpbiB7CgktLXBvdi1hY2NlbnQ6ICM3ZGE2YmE7CgktLXBvdi1hY2NlbnQtYnJpZ2h0OiAjYzVlNGYxOwoJLS1wb3YtYWNjZW50LXNvZnQ6IHJnYmEoMTI1LCAxNjYsIDE4NiwgMC4xMik7CgktLXBvdi1ib3JkZXI6IHJnYmEoMTI1LCAxNjYsIDE4NiwgMC4yOCk7Cn0KCmJvZHkucG92LXJ5YW4gewoJLS1wb3YtYWNjZW50OiAjYTZhYTczOwoJLS1wb3YtYWNjZW50LWJyaWdodDogI2RkZTFhODsKCS0tcG92LWFjY2VudC1zb2Z0OiByZ2JhKDE2NiwgMTcwLCAxMTUsIDAuMTIpOwoJLS1wb3YtYm9yZGVyOiByZ2JhKDE2NiwgMTcwLCAxMTUsIDAuMyk7Cn0KCmJvZHkucG92LXJ5YW4gLnN0YXR1cy1wYXR0ZXJuIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoNTksIDYzLCA0MiwgMC44OCksCgkJCXJnYmEoMzYsIDQxLCAzMSwgMC45KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cn0KCmJvZHkucG92LXJ5YW4gLnN0YXR1cy1wYXR0ZXJuIHN0cm9uZyB7Cgljb2xvcjogdmFyKC0tcG92LWFjY2VudC1icmlnaHQpOwp9Cgpib2R5LnBvdi1yeWFuIC5jbHVlLWRpc2NvdmVyZWQgewoJYm9yZGVyLWxlZnQtY29sb3I6ICM4Zjk2NjE7Cn0KCmJvZHkucG92LWtldmluIC5pbnRlcm5hbC10aG91Z2h0IHsKCWJvcmRlci1sZWZ0LWNvbG9yOiAjNzQ4OTkzOwp9Cgpib2R5LnBvdi1yeWFuIC5pbnRlcm5hbC10aG91Z2h0IHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgxMzAsIDEzNCwgODcsIDAuMSksCgkJCXJnYmEoMTMwLCAxMzQsIDg3LCAwLjAyNSkKCQkpOwoJYm9yZGVyLWxlZnQtY29sb3I6ICM4NTg5NWU7Cgljb2xvcjogI2Q1ZDdiODsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBMQVlFUiBESVNQTEFZIFNFVFRJTkdTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYm9keS50ZXh0LWNvbXBhY3QgLnBhc3NhZ2UgewoJZm9udC1zaXplOiAxZW07CglsaW5lLWhlaWdodDogMS41ODsKfQoKYm9keS50ZXh0LXN0YW5kYXJkIC5wYXNzYWdlIHsKCWZvbnQtc2l6ZTogMS4wOGVtOwoJbGluZS1oZWlnaHQ6IDEuNjg7Cn0KCmJvZHkudGV4dC1sYXJnZSAucGFzc2FnZSB7Cglmb250LXNpemU6IDEuMThlbTsKCWxpbmUtaGVpZ2h0OiAxLjcyOwp9Cgpib2R5LndpZHRoLW5hcnJvdyAjcGFzc2FnZXMgewoJbWF4LXdpZHRoOiA3NjBweDsKfQoKYm9keS53aWR0aC1zdGFuZGFyZCAjcGFzc2FnZXMgewoJbWF4LXdpZHRoOiA5MDBweDsKfQoKYm9keS53aWR0aC13aWRlICNwYXNzYWdlcyB7CgltYXgtd2lkdGg6IDEwNjBweDsKfQoKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLnBhc3NhZ2UsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5jbHVlLWRpc2NvdmVyZWQsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5rZXZpbi1wYXR0ZXJuIHsKCWFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuY2hvaWNlLWxpc3QgYSwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNob2ljZS1saXN0IGE6OmJlZm9yZSwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNob2ljZS1saXN0IGE6OmFmdGVyLApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuc3RhdHVzLXJvdywKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLnN0YXJ0LWJ1dHRvbiBhIHsKCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKfQoKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNob2ljZS1saXN0IGE6aG92ZXIsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpob3ZlciwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLnN0YXJ0LWJ1dHRvbiBhOmhvdmVyIHsKCXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSElHSC1DT05UUkFTVCBTRVRUSU5HCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgewoJLS1ibGFja3dvb2QtdGV4dDogI2ZmZmRmNTsKLS1ibGFja3dvb2QtZ29sZDogI2UzYjg1ZTsKCS0tYmxhY2t3b29kLWdvbGQtYnJpZ2h0OiAjZmZlNGEzOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjcGFzc2FnZXMgewoJYmFja2dyb3VuZDogcmdiYSgxMCwgMTIsIDEzLCAwLjk2KTsKCWJvcmRlci1jb2xvcjogcmdiYSgyNDAsIDIxMSwgMTU0LCAwLjU0KTsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnBhc3NhZ2UsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5wYXNzYWdlIHAgewoJY29sb3I6ICNmZmZkZjU7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5zdGF0dXMtbGFiZWwgewoJY29sb3I6ICNkNGQ0ZDE7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5zdGF0dXMtdmFsdWUgewoJY29sb3I6ICNmZmZmZmY7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5pbnRlcm5hbC10aG91Z2h0IHsKCWNvbG9yOiAjZTNmMmZhOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuY2x1ZS1kaXNjb3ZlcmVkIHsKCWNvbG9yOiAjZmZmMGJmOwoJYm9yZGVyLWNvbG9yOiAjZDVhYzU3Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuY2hvaWNlLWxpc3QgYSwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsIHsKCWNvbG9yOiAjZmZlMTlhOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDI0MCwgMjExLCAxNTQsIDAuNik7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVUdBUkNVQkUgRElBTE9HIE9WRVJMQVkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktb3ZlcmxheSB7CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IGNlbnRlciwKCQkJcmdiYSgzMCwgMzUsIDM3LCAwLjE1KSwKCQkJcmdiYSgwLCAwLCAwLCAwLjk2KQoJCSk7CgliYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTsKfQoKI3VpLW92ZXJsYXkub3BlbiB7CglvcGFjaXR5OiAwLjg4Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR0VORVJBTCBESUFMT0cgV0lORE9XCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWRpYWxvZyB7Cgljb2xvcjogdmFyKC0tYmxhY2t3b29kLXRleHQpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CglmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMjRweCA1NXB4IHJnYmEoMCwgMCwgMCwgMC43MikpOwp9CgojdWktZGlhbG9nLXRpdGxlYmFyIHsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IDUwJSAwJSwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTYpLAoJCQl0cmFuc3BhcmVudCA3NSUKCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjMjkyNjFmLAoJCQkjMTkxYjFjCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjQpOwoJYm9yZGVyLWJvdHRvbTogMDsKCWJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwOwoJYm94LXNoYWRvdzoKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCksCgkJMCAtMXB4IDE4cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDUpOwp9CgojdWktZGlhbG9nLXRpdGxlIHsKCWNvbG9yOiAjZjBkMzlhOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXNpemU6IDEuMmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjEyZW07CglsaW5lLWhlaWdodDogMS4yNTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNjVlbSAzLjZlbSAwLjU4ZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl0ZXh0LXNoYWRvdzoKCQkwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjg1KSwKCQkwIDAgMTRweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNSk7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgojdWktZGlhbG9nLWNsb3NlIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJYm9yZGVyOiAwOwoJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xOCk7Cgljb2xvcjogI2NkYmI5MTsKCWhlaWdodDogMTAwJTsKCXdpZHRoOiAzLjJlbTsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLAoJCWNvbG9yIDAuMTVzIGVhc2U7Cn0KCiN1aS1kaWFsb2ctY2xvc2U6aG92ZXIsCiN1aS1kaWFsb2ctY2xvc2U6Zm9jdXMgewoJYmFja2dyb3VuZDogcmdiYSgxMjIsIDQ3LCA0NywgMC43Mik7Cglib3JkZXItY29sb3I6IHJnYmEoMTkwLCA5MywgODAsIDAuNik7Cgljb2xvcjogI2ZmZjBlODsKfQoKI3VpLWRpYWxvZy1ib2R5IHsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDAlLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4wMzUpLAoJCQl0cmFuc3BhcmVudCAyNWVtCgkJKSwKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJIzE3MWMxZiwKCQkJIzBmMTMxNQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zNCk7Cglib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsKCWJveC1zaGFkb3c6CgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI1KSwKCQlpbnNldCAwIDAgMzVweCByZ2JhKDAsIDAsIDAsIDAuMjIpOwoJY29sb3I6ICNlOGU0ZDk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWxpbmUtaGVpZ2h0OiAxLjQ7CglwYWRkaW5nOiAxZW07CglzY3JvbGxiYXItY29sb3I6ICM2NjU1MzYgIzExMTUxODsKCXNjcm9sbGJhci13aWR0aDogdGhpbjsKfQoKI3VpLWRpYWxvZy1ib2R5IGgyIHsKCWNvbG9yOiAjZDliZDgwOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEdFTkVSQUwgRElBTE9HIEJVVFRPTlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktZGlhbG9nLWJvZHkgYnV0dG9uIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNjcsIDY5LCA2NCwgMC45NiksCgkJCXJnYmEoNDAsIDQ0LCA0MywgMC45OCkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMzUpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwoJY29sb3I6ICNlMGM0ODQ7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLAoJCWJvcmRlci1jb2xvciAwLjE1cyBlYXNlLAoJCWJveC1zaGFkb3cgMC4xNXMgZWFzZSwKCQljb2xvciAwLjE1cyBlYXNlOwp9CgojdWktZGlhbG9nLWJvZHkgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLAojdWktZGlhbG9nLWJvZHkgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmZvY3VzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoOTEsIDgwLCA1NSwgMC45OCksCgkJCXJnYmEoNTQsIDUxLCA0MywgMC45OCkKCQkpOwoJYm9yZGVyLWNvbG9yOiAjYzlhMTVhOwoJYm94LXNoYWRvdzoKCQkwIDZweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4zKSwKCQkwIDAgMTJweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wOCk7Cgljb2xvcjogI2ZmZjBiODsKCW91dGxpbmU6IG5vbmU7Cn0KCiN1aS1kaWFsb2ctYm9keSBidXR0b246ZGlzYWJsZWQgewoJYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxOCk7Cglib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Cgljb2xvcjogIzVlNjI2MzsKCW9wYWNpdHk6IDAuNzsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNBVkUgRElBTE9HCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHsKCXBhZGRpbmc6IDAgMCAxcHg7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyA+IGgyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTMpLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4wMjUpCgkJKTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yKTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNyk7Cgljb2xvcjogI2Q4YmQ4MjsKCWZvbnQtc2l6ZTogMC44MmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTFlbTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNDhlbSAwLjdlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyA+IDpub3QoOmZpcnN0LWNoaWxkKSB7Cglib3JkZXItdG9wLWNvbG9yOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNik7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0YWJsZSB7Cglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJYm9yZGVyLXNwYWNpbmc6IDA7Cgl3aWR0aDogMTAwJTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRyIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMTIpOwoJdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE0cyBlYXNlOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHI6bnRoLWNoaWxkKGV2ZW4pIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjIpOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHI6aG92ZXIgewoJYmFja2dyb3VuZDogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDU1KTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDY1KTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkIHsKCXBhZGRpbmc6IDAuNDhlbSAwLjRlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkOm50aC1jaGlsZCgzKSB7Cgljb2xvcjogI2U0ZGVjZTsKCWxpbmUtaGVpZ2h0OiAxLjI1Owp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmVtcHR5IHsKCWNvbG9yOiAjNzc3ZDdmOwoJZm9udC1zdHlsZTogaXRhbGljOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmRldGFpbHMgewoJY29sb3I6ICM5ZmE0YTE7Cglmb250LXNpemU6IDAuNzJlbTsKCWxldHRlci1zcGFjaW5nOiAwLjAyZW07CgltYXJnaW4tbGVmdDogMC4yZW07CgltYXJnaW4tdG9wOiAwLjEyZW07Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAjc2F2ZXMtbGlzdCBidXR0b24gewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg2MCwgNjQsIDYyLCAwLjk0KSwKCQkJcmdiYSgzNywgNDEsIDQwLCAwLjk2KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yOCk7Cglib3JkZXItcmFkaXVzOiA0cHg7Cgljb2xvcjogI2Q4YzI4ZTsKCWhlaWdodDogMi4zNWVtOwoJd2lkdGg6IDIuMzVlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbi5zYXZlOm5vdCg6ZGlzYWJsZWQpIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNzUsIDY5LCA0OSwgMC45NSksCgkJCXJnYmEoNDgsIDQ2LCAzOCwgMC45OCkKCQkpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC41NCk7Cgljb2xvcjogI2YwZDM5YTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbi5zYXZlOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM3OTY0M2MsCgkJCSM1NzQ5MmYKCQkpOwoJYm9yZGVyLWNvbG9yOiAjZTBiYzcyOwoJY29sb3I6ICNmZmY0Y2Y7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAjc2F2ZXMtbGlzdCBidXR0b24ubG9hZDpub3QoOmRpc2FibGVkKSB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDUzLCA3NiwgODIsIDAuOTYpLAoJCQlyZ2JhKDM1LCA1MiwgNTcsIDAuOTgpCgkJKTsKCWJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDE2NiwgMTg2LCAwLjU4KTsKCWNvbG9yOiAjY2VlM2ViOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgI3NhdmVzLWxpc3QgYnV0dG9uLmxvYWQ6bm90KDpkaXNhYmxlZCk6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzQ5NmQ3OCwKCQkJIzM2NTQ1ZAoJCSk7Cglib3JkZXItY29sb3I6ICM5MWJkY2Y7Cgljb2xvcjogI2VmZmFmZjsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbi5kZWxldGU6bm90KDpkaXNhYmxlZCksCiN1aS1kaWFsb2ctYm9keS5zYXZlcyBidXR0b25baWQ9InNhdmVzLWNsZWFyIl06bm90KDpkaXNhYmxlZCkgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgxMTIsIDQ4LCA0NCwgMC45NiksCgkJCXJnYmEoNzYsIDM1LCAzMywgMC45OCkKCQkpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDE3NywgODMsIDc0LCAwLjcpOwoJY29sb3I6ICNmMGM0YmI7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAjc2F2ZXMtbGlzdCBidXR0b24uZGVsZXRlOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLAojdWktZGlhbG9nLWJvZHkuc2F2ZXMgYnV0dG9uW2lkPSJzYXZlcy1jbGVhciJdOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM5MTNmMzgsCgkJCSM2ODJmMmIKCQkpOwoJYm9yZGVyLWNvbG9yOiAjZDA2ZDYwOwoJY29sb3I6ICNmZmYwZWE7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAuYnV0dG9ucyB7CgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA5KTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNDJlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zIGxpIHsKCXBhZGRpbmc6IDAuMThlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zIGJ1dHRvbiB7CgltaW4taGVpZ2h0OiAyLjNlbTsKCXBhZGRpbmc6IDAuNDJlbSAwLjY4ZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVRUSU5HUyBESUFMT0cKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgewoJcGFkZGluZzogMWVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgZGl2W2lkfD0ic2V0dGluZy1ib2R5Il0gKyBkaXZbaWR8PSJzZXR0aW5nLWJvZHkiXSB7Cglib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KTsKCW1hcmdpbi10b3A6IDAuNzVlbTsKCXBhZGRpbmctdG9wOiAwLjc1ZW07Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBbaWR8PSJzZXR0aW5nLWxhYmVsIl0gewoJY29sb3I6ICNlNGQ1YjQ7Cglmb250LXdlaWdodDogNzAwOwp9CgojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgcFtpZHw9InNldHRpbmctZGVzYyJdLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgcFtpZHw9ImhlYWRlci1kZXNjIl0gewoJY29sb3I6ICNhZWI0YjU7CglsaW5lLWhlaWdodDogMS4zOwoJbWFyZ2luLXRvcDogMC4yNWVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUkVTVEFSVCBBTkQgQUxFUlQgRElBTE9HUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1kaWFsb2ctYm9keS5yZXN0YXJ0LAojdWktZGlhbG9nLWJvZHkuYWxlcnQgewoJcGFkZGluZzogMWVtOwp9CgojdWktZGlhbG9nLWJvZHkucmVzdGFydCBwLAojdWktZGlhbG9nLWJvZHkuYWxlcnQgcCB7Cgljb2xvcjogI2RkZDdjODsKCW1hcmdpbjogMCAwIDAuOGVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgRU5ELU9GLUNVUlJFTlQtQlVJTEQgU0NSRUVOCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJFcGlzb2RlIDEgQ3VycmVudCBFbmRpbmciXSAuY2hhcHRlci1jYXJkIHsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDEwJSwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTQpLAoJCQl0cmFuc3BhcmVudCA2MCUKCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDU4LCA0NiwgMjgsIDAuNTQpLAoJCQlyZ2JhKDIxLCAyMSwgMTksIDAuNzYpCgkJKTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJFcGlzb2RlIDEgQ3VycmVudCBFbmRpbmciXSAuY2hvaWNlLWxpc3QgewoJbWF4LXdpZHRoOiA0MjBweDsKCW1hcmdpbi1sZWZ0OiBhdXRvOwoJbWFyZ2luLXJpZ2h0OiBhdXRvOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQUNDRVNTSUJMRSBLRVlCT0FSRCBGT0NVUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmE6Zm9jdXMtdmlzaWJsZSwKYnV0dG9uOmZvY3VzLXZpc2libGUgewoJb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJsYWNrd29vZC1nb2xkLWJyaWdodCk7CglvdXRsaW5lLW9mZnNldDogM3B4Owp9CgouY2hvaWNlLWxpc3QgYTpmb2N1cy12aXNpYmxlLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmZvY3VzLXZpc2libGUsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpmb2N1cy12aXNpYmxlIHsKCWJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2t3b29kLWdvbGQtYnJpZ2h0KTsKCWJveC1zaGFkb3c6CgkJMCAwIDAgMnB4IHJnYmEoMjM5LCAyMTEsIDE1NCwgMC4yKSwKCQkwIDdweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFRBQkxFVCBBTkQgTU9CSUxFCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKCSNzdG9yeSB7CgkJcGFkZGluZy10b3A6IDAuNmVtOwoJfQoKCSNwYXNzYWdlcyB7CgkJbWF4LXdpZHRoOiBub25lOwoJCW1hcmdpbjogMCAwLjU1ZW07CgkJcGFkZGluZzogMS4zZW0gMWVtOwoJCWJvcmRlci1yYWRpdXM6IDdweDsKCX0KCglib2R5LndpZHRoLW5hcnJvdyAjcGFzc2FnZXMsCglib2R5LndpZHRoLXN0YW5kYXJkICNwYXNzYWdlcywKCWJvZHkud2lkdGgtd2lkZSAjcGFzc2FnZXMgewoJCW1heC13aWR0aDogbm9uZTsKCX0KCgkucGFzc2FnZSB7CgkJZm9udC1zaXplOiAxZW07CgkJbGluZS1oZWlnaHQ6IDEuNTg7Cgl9CgoJYm9keS50ZXh0LWNvbXBhY3QgLnBhc3NhZ2UgewoJCWZvbnQtc2l6ZTogMC45NmVtOwoJCWxpbmUtaGVpZ2h0OiAxLjU1OwoJfQoKCWJvZHkudGV4dC1zdGFuZGFyZCAucGFzc2FnZSB7CgkJZm9udC1zaXplOiAxZW07CgkJbGluZS1oZWlnaHQ6IDEuNTg7Cgl9CgoJYm9keS50ZXh0LWxhcmdlIC5wYXNzYWdlIHsKCQlmb250LXNpemU6IDEuMWVtOwoJCWxpbmUtaGVpZ2h0OiAxLjY1OwoJfQoKCS50aXRsZS1zY3JlZW4gewoJCXBhZGRpbmc6IDAuNzVlbSAwLjVlbTsKCQlib3JkZXItcmFkaXVzOiA3cHg7Cgl9CgoJLmdhbWUtdGl0bGUgewoJCWZvbnQtc2l6ZTogMS45ZW07Cgl9CgoJLnRpdGxlLXN5bWJvbCB7CgkJZm9udC1zaXplOiAxLjc1ZW07Cgl9CgoJLmVwaXNvZGUtdGl0bGUgewoJCWZvbnQtc2l6ZTogMS44NWVtOwoJfQoKCS5jaGFwdGVyLWNhcmQgewoJCXBhZGRpbmc6IDEuMmVtIDAuOGVtOwoJfQoKCS5wb3YtbmFtZSB7CgkJZm9udC1zaXplOiAxLjc1ZW07Cgl9CgoJLnBhc3NhZ2UgaDIgewoJCWZvbnQtc2l6ZTogMS40MmVtOwoJfQoKCS5jaG9pY2UtbGlzdDo6YmVmb3JlIHsKCQlkaXNwbGF5OiBub25lOwoJfQoKCS5jaG9pY2UtbGlzdCBhLAoJLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbCwKCS5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbCB7CgkJcGFkZGluZy10b3A6IDAuNzVlbTsKCQlwYWRkaW5nLWJvdHRvbTogMC43NWVtOwoJfQoKCS5jaG9pY2UtbGlzdCBhOmhvdmVyLAoJLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDpob3ZlciwKCS5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpob3ZlciB7CgkJdHJhbnNmb3JtOiBub25lOwoJfQoKCS5zdGF0dXMtcm93OmhvdmVyIHsKCQlwYWRkaW5nLWxlZnQ6IDA7CgkJcGFkZGluZy1yaWdodDogMDsKCX0KCgkuY2hhcHRlci1zdW1tYXJ5LWNsdWVzIGxpIHsKCQlwYWRkaW5nLWxlZnQ6IDEuMDhlbTsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNNQUxMLVNDUkVFTiBESUFMT0dTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKCSN1aS1kaWFsb2cgewoJCW1heC13aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOwoJfQoKCSN1aS1kaWFsb2ctdGl0bGUgewoJCWZvbnQtc2l6ZTogMWVtOwoJCXBhZGRpbmctdG9wOiAwLjdlbTsKCQlwYWRkaW5nLWJvdHRvbTogMC42NWVtOwoJfQoKCSN1aS1kaWFsb2ctYm9keSB7CgkJbWluLXdpZHRoOiAwOwoJfQoKCSN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZCB7CgkJcGFkZGluZzogMC40MmVtIDAuMjVlbTsKCX0KCgkjdWktZGlhbG9nLWJvZHkuc2F2ZXMgI3NhdmVzLWxpc3QgYnV0dG9uIHsKCQloZWlnaHQ6IDIuNDVlbTsKCQl3aWR0aDogMi40NWVtOwoJfQoKCSN1aS1kaWFsb2ctYm9keS5zYXZlcyAuYnV0dG9ucyBsaSB7CgkJZGlzcGxheTogYmxvY2s7CgkJcGFkZGluZzogMC4xNmVtOwoJfQoKCSN1aS1kaWFsb2ctYm9keS5zYXZlcyAuYnV0dG9ucyBidXR0b24gewoJCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgkJbWFyZ2luOiAwICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDEwMCU7Cgl9CgoJI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zLnNsb3RzID4gbGk6bGFzdC1jaGlsZCB7CgkJZmxvYXQ6IG5vbmU7Cgl9CgoJLnN0YXR1cy1wYW5lbCB7CgkJZm9udC1zaXplOiAwLjc5ZW07Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBSRURVQ0VEIE1PVElPTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7Cglib2R5LAoJI3Bhc3NhZ2VzLAoJI3VpLWJhciwKCSN1aS1vdmVybGF5LAoJI3VpLWRpYWxvZywKCSN1aS1kaWFsb2cgYnV0dG9uLAoJI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRyLAoJLmNob2ljZS1saXN0IGEsCgkuY2hvaWNlLWxpc3QgYTo6YmVmb3JlLAoJLmNob2ljZS1saXN0IGE6OmFmdGVyLAoJLnN0YXJ0LWJ1dHRvbiBhLAoJLnN0YXR1cy1yb3csCgkjbWVudSBsaSBhIHsKCQl0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl9CgoJLnBhc3NhZ2UsCgkuY2x1ZS1kaXNjb3ZlcmVkLAoJLmtldmluLXBhdHRlcm4gewoJCWFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OwoJfQoKCS5jaG9pY2UtbGlzdCBhOmhvdmVyLAoJLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDpob3ZlciwKCS5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpob3ZlciwKCS5zdGFydC1idXR0b24gYTpob3ZlciB7CgkJdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cgl9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIE5PVkVMIEJBTk5FUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ub3ZlbC1iYW5uZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1heC13aWR0aDogMTAwJTsKCW1hcmdpbjogMCBhdXRvIDEuMTVlbTsKCWJhY2tncm91bmQ6ICMwYjBlMTA7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zOCk7Cglib3JkZXItcmFkaXVzOiA4cHg7Cglib3gtc2hhZG93OgoJCTAgMThweCA0MnB4IHJnYmEoMCwgMCwgMCwgMC41MiksCgkJMCAwIDI0cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDgpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTsKfQoKLm5vdmVsLWJhbm5lcjo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogMDsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwoJYm9yZGVyLXJhZGl1czogN3B4OwoJYm94LXNoYWRvdzogaW5zZXQgMCAtMjBweCAzNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLm5vdmVsLWJhbm5lciBpbWcgewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogYXV0bzsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDA7Cglib3JkZXI6IDA7Cn0KCi50aXRsZS1zY3JlZW46aGFzKC5ub3ZlbC1iYW5uZXIpIHsKCW1heC13aWR0aDogMTAwMHB4OwoJcGFkZGluZzogMWVtOwp9CgoudGl0bGUtc2NyZWVuOmhhcygubm92ZWwtYmFubmVyKSAudGl0bGUtZGVzY3JpcHRpb24gewoJbWF4LXdpZHRoOiA2ODBweDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKCS5ub3ZlbC1iYW5uZXIgewoJCW1hcmdpbi1ib3R0b206IDAuOWVtOwoJCWJvcmRlci1yYWRpdXM6IDZweDsKCX0KCgkubm92ZWwtYmFubmVyOjphZnRlciB7CgkJYm9yZGVyLXJhZGl1czogNXB4OwoJfQoKCS50aXRsZS1zY3JlZW46aGFzKC5ub3ZlbC1iYW5uZXIpIHsKCQlwYWRkaW5nOiAwLjY1ZW07Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSURFQkFSIEJPT0sgUFJPTU9USU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJvb2stc2lkZWJhci1jdGEgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1hcmdpbjogMC43NWVtIDAgMDsKCXBhZGRpbmc6IDAuNDhlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMzgsIDQ1LCA0NiwgMC45NCksCgkJCXJnYmEoMjEsIDI3LCAyOSwgMC45NikKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMjgpOwoJYm9yZGVyLXJhZGl1czogN3B4OwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJvb2stc2lkZWJhci1oZWFkaW5nIHsKCWNvbG9yOiAjZTFjNDgxOwoJZm9udC1zaXplOiAwLjk1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJbWFyZ2luOiAwLjFlbSAwIDAuNTVlbTsKCXRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKfQouYm9vay1zaWRlYmFyLWltYWdlLWxpbmsgewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTk1cHg7CgltYXgtd2lkdGg6IDE5NXB4OwoJbWFyZ2luOiAwIGF1dG87Cglib3JkZXI6IDAgIWltcG9ydGFudDsKCWxpbmUtaGVpZ2h0OiAwOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl0cmFuc2l0aW9uOgoJCWZpbHRlciAwLjE2cyBlYXNlLAoJCXRyYW5zZm9ybSAwLjE2cyBlYXNlOwp9CgouYm9vay1zaWRlYmFyLWltYWdlLWxpbmsgaW1nLmJvb2stc2lkZWJhci1pbWFnZSB7CglkaXNwbGF5OiBibG9jazsKCXdpZHRoOiAxOTVweDsKCW1heC13aWR0aDogMTk1cHg7CgloZWlnaHQ6IGF1dG87CgltYXgtaGVpZ2h0OiBub25lOwoJbWFyZ2luOiAwIGF1dG87CglwYWRkaW5nOiAwOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuNDIpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDdweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC40OCksCgkJMCAwIDE0cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDkpOwoJb2JqZWN0LWZpdDogY29udGFpbjsKfQoKLmJvb2stc2lkZWJhci1pbWFnZS1saW5rOmhvdmVyIHsKCWJvcmRlcjogMCAhaW1wb3J0YW50OwoJZmlsdGVyOiBicmlnaHRuZXNzKDEuMDgpOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwp9CgouYm9vay1zaWRlYmFyLWNvcHkgewoJY29sb3I6ICNkNWNkYjk7Cglmb250LXNpemU6IDAuOTVlbTsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsaW5lLWhlaWdodDogMS4zNTsKCW1hcmdpbjogMC41NWVtIDA7Cn0KCi5ib29rLXNpZGViYXItYnV0dG9uIHsKCWRpc3BsYXk6IGJsb2NrOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzcxNWEzMiwKCQkJIzUwM2YyNwoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC42MikgIWltcG9ydGFudDsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6CgkJMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjgpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKCWNvbG9yOiAjZmZmMGM1ICFpbXBvcnRhbnQ7Cglmb250LXNpemU6IDAuNzJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4yOwoJbWFyZ2luOiAwLjI1ZW0gMCAwLjFlbTsKCXBhZGRpbmc6IDAuNWVtIDAuNGVtOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl0cmFuc2l0aW9uOgoJCWJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwKCQlib3JkZXItY29sb3IgMC4xNXMgZWFzZSwKCQljb2xvciAwLjE1cyBlYXNlLAoJCXRyYW5zZm9ybSAwLjE1cyBlYXNlOwp9CgouYm9vay1zaWRlYmFyLWJ1dHRvbjpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjODg2YzNhLAoJCQkjNjI0ZTJkCgkJKTsKCWJvcmRlci1jb2xvcjogI2UwYmQ3OCAhaW1wb3J0YW50OwoJY29sb3I6ICNmZmY4ZGYgIWltcG9ydGFudDsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKfQoKYS5ib29rLXNpZGViYXItaW1hZ2UtbGluay5saW5rLWV4dGVybmFsOjphZnRlciwKYS5ib29rLXNpZGViYXItaW1hZ2UtbGluazo6YWZ0ZXIsCmEuYm9vay1zaWRlYmFyLWJ1dHRvbi5saW5rLWV4dGVybmFsOjphZnRlciwKYS5ib29rLXNpZGViYXItYnV0dG9uOjphZnRlciB7CglkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cgljb250ZW50OiBub25lICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgIWltcG9ydGFudDsKCWZvbnQtc2l6ZTogMCAhaW1wb3J0YW50Owp9CgouYm9vay1zaWRlYmFyLWN0YSArICNtZW51IHsKCW1hcmdpbi10b3A6IDAuODVlbSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLmJvb2stc2lkZWJhci1pbWFnZS1saW5rLAoJLmJvb2stc2lkZWJhci1idXR0b24gewoJCXRyYW5zaXRpb246IG5vbmU7Cgl9CgoJLmJvb2stc2lkZWJhci1pbWFnZS1saW5rOmhvdmVyLAoJLmJvb2stc2lkZWJhci1idXR0b246aG92ZXIgewoJCXRyYW5zZm9ybTogbm9uZTsKCX0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgS0lNTVkgSU5WRVNUSUdBVElPTiBTVEFUVVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LnBvdi1raW1teSB7CgktLXBvdi1hY2NlbnQ6ICNiNThiOWQ7CgktLXBvdi1hY2NlbnQtYnJpZ2h0OiAjZWZkMWRjOwoJLS1wb3YtYWNjZW50LXNvZnQ6IHJnYmEoMTgxLCAxMzksIDE1NywgMC4xMyk7CgktLXBvdi1ib3JkZXI6IHJnYmEoMTgxLCAxMzksIDE1NywgMC4zKTsKfQoKYm9keS5wb3Yta2ltbXkgLnN0YXR1cy1wYXR0ZXJuLApib2R5LnBvdi1raW1teSAua2ltbXktc3RhdHVzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoNjcsIDQ4LCA1OCwgMC44OCksCgkJCXJnYmEoNDEsIDMzLCAzOSwgMC45KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cgljb2xvcjogI2UzY2NkNTsKfQoKYm9keS5wb3Yta2ltbXkgLnN0YXR1cy1wYXR0ZXJuIHN0cm9uZywKYm9keS5wb3Yta2ltbXkgLmtpbW15LXN0YXR1cyBzdHJvbmcgewoJY29sb3I6IHZhcigtLXBvdi1hY2NlbnQtYnJpZ2h0KTsKfQoKYm9keS5wb3Yta2ltbXkgLmNsdWUtZGlzY292ZXJlZCB7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cn0KCmJvZHkucG92LWtpbW15IC5pbnRlcm5hbC10aG91Z2h0IHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgxNDUsIDEwNCwgMTIzLCAwLjExKSwKCQkJcmdiYSgxNDUsIDEwNCwgMTIzLCAwLjAyNSkKCQkpOwoJYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXBvdi1hY2NlbnQpOwoJY29sb3I6ICNkZGNiZDM7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTQ09PVCBWSVNVQUwgSURFTlRJVFkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LnBvdi1zY29vdCB7CgktLXBvdi1hY2NlbnQ6ICNiNzhhNjM7CgktLXBvdi1hY2NlbnQtYnJpZ2h0OiAjZjBjODlmOwoJLS1wb3YtYWNjZW50LXNvZnQ6IHJnYmEoMTgzLCAxMzgsIDk5LCAwLjEzKTsKCS0tcG92LWJvcmRlcjogcmdiYSgxODMsIDEzOCwgOTksIDAuMyk7Cn0KCmJvZHkucG92LXNjb290IC5zdGF0dXMtcGF0dGVybiwKYm9keS5wb3Ytc2Nvb3QgLnNjb290LXN0YXR1cyB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDcyLCA1NCwgNDIsIDAuODgpLAoJCQlyZ2JhKDQzLCAzNSwgMzAsIDAuOSkKCQkpOwoJYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXBvdi1hY2NlbnQpOwoJY29sb3I6ICNlNGQyYzI7Cn0KCmJvZHkucG92LXNjb290IC5zdGF0dXMtcGF0dGVybiBzdHJvbmcsCmJvZHkucG92LXNjb290IC5zY29vdC1zdGF0dXMgc3Ryb25nIHsKCWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50LWJyaWdodCk7Cn0KCmJvZHkucG92LXNjb290IC5jbHVlLWRpc2NvdmVyZWQgewoJYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXBvdi1hY2NlbnQpOwp9Cgpib2R5LnBvdi1zY29vdCAuaW50ZXJuYWwtdGhvdWdodCB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXJnYmEoMTUxLCAxMTEsIDc4LCAwLjExKSwKCQkJcmdiYSgxNTEsIDExMSwgNzgsIDAuMDI1KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cgljb2xvcjogI2UwZDBjMjsKfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQlVJTEQgSU5GT1JNQVRJT04gUEFORUwKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYnVpbGQtaW5mby1wYW5lbCB7CglvdmVyZmxvdzogaGlkZGVuOwoJbWFyZ2luOiAwLjc1ZW0gMCAwOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgzOCwgMzYsIDMwLCAwLjk3KSwKCQkJcmdiYSgyMCwgMjIsIDIxLCAwLjk4KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC40Mik7Cglib3JkZXItcmFkaXVzOiA3cHg7Cglib3gtc2hhZG93OgoJCTAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjMpLAoJCTAgMCAxNHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA0KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwoJZm9udC1zaXplOiAwLjhlbTsKfQoKLmJ1aWxkLWluZm8tdGl0bGUgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDAuNDVlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgxMDUsIDc5LCAzOSwgMC43MiksCgkJCXJnYmEoNTcsIDQ3LCAzMSwgMC4yOCkKCQkpOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjMpOwoJY29sb3I6ICNlMGJkNzg7Cglmb250LXNpemU6IDAuODRlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xZW07CglsaW5lLWhlaWdodDogMS4yOwoJcGFkZGluZzogMC41OGVtIDAuNjVlbTsKCXRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjgpOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJ1aWxkLWluZm8taWNvbiB7CglkaXNwbGF5OiBpbmxpbmUtZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgltaW4td2lkdGg6IDEuNzVlbTsKCWhlaWdodDogMS41NWVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJI2IyOGE0NSwKCQkJIzc2NWIzMQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgMjExLCAxNTQsIDAuNjIpOwoJYm9yZGVyLXJhZGl1czogM3B4OwoJYm94LXNoYWRvdzoKCQkwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMyKSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Cgljb2xvcjogIzE3MTMwZDsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuOTFlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogLTAuMDhlbTsKCWxpbmUtaGVpZ2h0OiAxOwoJcGFkZGluZzogMCAwLjJlbTsKCXRleHQtc2hhZG93OiBub25lOwp9CgouYnVpbGQtaW5mby1yb3cgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwoJanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwoJZ2FwOiAwLjY1ZW07Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KTsKCXBhZGRpbmc6IDAuNTJlbSAwLjY4ZW07Cn0KCi5idWlsZC1pbmZvLXJvdzpudGgtY2hpbGQob2RkKSB7CgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEyKTsKfQoKLmJ1aWxkLWluZm8tbGFiZWwgewoJZmxleDogMCAwIGF1dG87Cgljb2xvcjogI2FhYTE4YzsKCWZvbnQtc2l6ZTogMC45MmVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cgl0ZXh0LWFsaWduOiBsZWZ0Owp9CgouYnVpbGQtaW5mby12YWx1ZSB7Cgljb2xvcjogI2VlZTZkMzsKCWZvbnQtc2l6ZTogMC45MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5idWlsZC1pbmZvLWxpbmsgewoJcGFkZGluZzogMDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJ1aWxkLWluZm8tbGluayBhLAouYnVpbGQtaW5mby1saW5rIGEubGluay1pbnRlcm5hbCB7CglkaXNwbGF5OiBibG9jazsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoOTMsIDcyLCAzOSwgMC44MiksCgkJCXJnYmEoNTksIDQ4LCAzMSwgMC45KQoJCSk7Cglib3JkZXI6IDA7Cgljb2xvcjogI2YxZDY5ODsKCWZvbnQtc2l6ZTogMC45MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJcGFkZGluZzogMC42MmVtIDAuNWVtOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNzgpOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsCgkJY29sb3IgMC4xNXMgZWFzZTsKfQoKLmJ1aWxkLWluZm8tbGluayBhOmhvdmVyLAouYnVpbGQtaW5mby1saW5rIGEubGluay1pbnRlcm5hbDpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjODA2NTM2LAoJCQkjNWY0YzJjCgkJKTsKCWJvcmRlcjogMDsKCWNvbG9yOiAjZmZmNWQ1OwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYnVpbGQtaW5mby1wYW5lbCArICNtZW51IHsKCW1hcmdpbi10b3A6IDAuODVlbSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewoJLmJ1aWxkLWluZm8tcGFuZWwgewoJCWZvbnQtc2l6ZTogMC43OGVtOwoJfQoKCS5idWlsZC1pbmZvLXJvdyB7CgkJZ2FwOiAwLjQ1ZW07CgkJcGFkZGluZy1sZWZ0OiAwLjU1ZW07CgkJcGFkZGluZy1yaWdodDogMC41NWVtOwoJfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewouYnVpbGQtaW5mby1saW5rIGEgewp0cmFuc2l0aW9uOiBub25lOwp9Cn0KICAgICAgCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDT1BZUklHSFQgTk9USUNFIFBBTkVMCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmNvcHlyaWdodC1zaWRlYmFyLXBhbmVsIHsKCW92ZXJmbG93OiBoaWRkZW47CgltYXJnaW46IDAuNzVlbSAwIDA7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDM4LCAzNiwgMzAsIDAuOTcpLAoJCQlyZ2JhKDIwLCAyMiwgMjEsIDAuOTgpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjQyKTsKCWJvcmRlci1yYWRpdXM6IDdweDsKCWJveC1zaGFkb3c6CgkJMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyksCgkJMCAwIDE0cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDQpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzNSk7Cglmb250LXNpemU6IDAuOGVtOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouY29weXJpZ2h0LXNpZGViYXItdGl0bGUgewoJbWFyZ2luOiAwIDAuNjVlbTsKCXBhZGRpbmc6IDAuNjVlbSAwIDAuNDhlbTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yNCk7Cgljb2xvcjogI2UwYmQ3ODsKCWZvbnQtc2l6ZTogMC44NGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjFlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC44KTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci1jb250ZW50IHsKCXBhZGRpbmc6IDAuNjJlbSAwLjY1ZW0gMC43MmVtOwp9CgouY29weXJpZ2h0LXNpZGViYXItb3duZXIgewoJY29sb3I6ICNmMGVhZGI7Cglmb250LXNpemU6IDAuOTNlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4zOwp9CgouY29weXJpZ2h0LXNpZGViYXItY29tcGFueSB7Cgljb2xvcjogI2U1ZGRjOTsKCWZvbnQtc2l6ZTogMC44OWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjM7CgltYXJnaW4tdG9wOiAwLjEyZW07Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci13ZWJzaXRlLAouY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZS5saW5rLWV4dGVybmFsIHsKCWRpc3BsYXk6IGlubGluZS1mbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJZ2FwOiAwLjI0ZW07CgltYXJnaW4tdG9wOiAwLjQyZW07Cglib3JkZXI6IDAgIWltcG9ydGFudDsKCWNvbG9yOiAjZDliOTZmOwoJZm9udC1zaXplOiAwLjkyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKCXRyYW5zaXRpb246CgkJY29sb3IgMC4xNXMgZWFzZSwKCQl0ZXh0LXNoYWRvdyAwLjE1cyBlYXNlOwp9CgouY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZTpob3ZlciwKLmNvcHlyaWdodC1zaWRlYmFyLXdlYnNpdGUubGluay1leHRlcm5hbDpob3ZlciB7Cglib3JkZXI6IDAgIWltcG9ydGFudDsKCWNvbG9yOiAjZmZmMGJkOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl0ZXh0LXNoYWRvdzogMCAwIDhweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zKTsKfQoKLmNvcHlyaWdodC1leHRlcm5hbC1pY29uIHsKCWNvbG9yOiAjZDliOTZmOwoJZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAxLjA1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDE7Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci1yaWdodHMgewoJY29sb3I6ICM5Zjk4ODg7Cglmb250LXNpemU6IDAuNzhlbTsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJbWFyZ2luLXRvcDogMC4zOGVtOwp9CgphLmNvcHlyaWdodC1zaWRlYmFyLXdlYnNpdGUubGluay1leHRlcm5hbDo6YWZ0ZXIsCmEuY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZTo6YWZ0ZXIgewoJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwoJY29udGVudDogbm9uZSAhaW1wb3J0YW50OwoJbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cglmb250LXNpemU6IDAgIWltcG9ydGFudDsKfQoKLmNvcHlyaWdodC1zaWRlYmFyLXBhbmVsICsgI21lbnUgewoJbWFyZ2luLXRvcDogMC44NWVtICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CgkuY29weXJpZ2h0LXNpZGViYXItcGFuZWwgewoJCWZvbnQtc2l6ZTogMC43OGVtOwoJfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLmNvcHlyaWdodC1zaWRlYmFyLXdlYnNpdGUgewoJCXRyYW5zaXRpb246IG5vbmU7Cgl9Cn0KCS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCUkVDS0VOUklER0UgTVlTVEVSWSBERVNLCiAgIFBIQVNFIDE6IFNUQVJUIFNDUkVFTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSB7Cgl3aWR0aDogMTAwJTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdID4gYnIgewoJZGlzcGxheTogbm9uZTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdICNibS1zdGFydC10aXRsZSB7CgltYXJnaW4tdG9wOiAwOwp9CgovKiBSZW1vdmUgdGhlIHN0YW5kYXJkIGRhcmsgcmVhZGluZy1wYW5lbCBhcHBlYXJhbmNlIG9uIFN0YXJ0IG9ubHkuICovCmJvZHkuYXRtb3NwaGVyZS10aXRsZSAjcGFzc2FnZXMgewoJbWF4LXdpZHRoOiAxMTYwcHg7CglwYWRkaW5nOiAxLjFyZW07CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IDUwJSAwJSwKCQkJcmdiYSg3NSwgMTA1LCAxMDUsIDAuMTcpLAoJCQl0cmFuc3BhcmVudCA0MiUKCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDExLCAxOSwgMjAsIDAuOTQpLAoJCQlyZ2JhKDgsIDEzLCAxNCwgMC45NykKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzMsIDE0OCwgOTgsIDAuMyk7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OgoJCTAgMjRweCA2NXB4IHJnYmEoMCwgMCwgMCwgMC41OCksCgkJMCAwIDM4cHggcmdiYSg2NywgOTgsIDEwMCwgMC4wOCk7Cn0KCmJvZHkuYXRtb3NwaGVyZS10aXRsZSAjcGFzc2FnZXM6OmJlZm9yZSB7CglpbnNldDogNXB4OwoJYm9yZGVyLWNvbG9yOiByZ2JhKDIxMCwgMTg0LCAxMjcsIDAuMDkpOwoJYm9yZGVyLXJhZGl1czogMnB4Owp9CgovKiBNYWluIG9wZW5pbmcgY29udGFpbmVyLiAqLwouYm0tc3RhcnQtc2NyZWVuIHsKCS0tYm0tcGFwZXI6ICNkOGNiYTc7CgktLWJtLXBhcGVyLWxpZ2h0OiAjZjBlNWM1OwoJLS1ibS1wYXBlci1kYXJrOiAjYWE5NTY5OwoJLS1ibS1pbms6ICMyNzI3MWY7CgktLWJtLWZhZGVkLWluazogIzUzNTY0ODsKCS0tYm0tYnVyZ3VuZHk6ICM4MTM0NDc7CgktLWJtLWJ1cmd1bmR5LWxpZ2h0OiAjYWU1MDY1OwoJLS1ibS1ibHVlLWdyZWVuOiAjMjk0ODRjOwoJLS1ibS10ZWFsLWxpZ2h0OiAjNTI3NzdhOwoJLS1ibS1nb2xkOiAjYjQ5YjY0OwoJLS1ibS1wdXJwbGU6ICM3MzU3ZGM7CgktLWJtLWdyZWVuOiAjNGZkNTZhOwoJLS1ibS1vcmFuZ2U6ICNkYjZlMzE7CgoJcG9zaXRpb246IHJlbGF0aXZlOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJbWF4LXdpZHRoOiAxMDgwcHg7CgltYXJnaW46IDAgYXV0bzsKfQoKLyogQmFubmVyIGFydHdvcmsuICovCi5ibS1zdGFydC1iYW5uZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6ICMwNzEwMTE7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5NiwgMTY5LCAxMTEsIDAuNSk7Cglib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsKCWJveC1zaGFkb3c6CgkJMCAxN3B4IDM2cHggcmdiYSgwLCAwLCAwLCAwLjQ2KSwKCQlpbnNldCAwIDAgMCA0cHggcmdiYSgxMCwgMTUsIDE0LCAwLjQ4KTsKfQoKLmJtLXN0YXJ0LWJhbm5lcjo6YmVmb3JlIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDdweDsKCXotaW5kZXg6IDM7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxOSwgMTkxLCAxMzAsIDAuMjUpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5ibS1zdGFydC1iYW5uZXI6OmFmdGVyIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDA7Cgl6LWluZGV4OiAyOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDEwLCA5LCA3LCAwLjIpLAoJCQl0cmFuc3BhcmVudCAxNSUsCgkJCXRyYW5zcGFyZW50IDg1JSwKCQkJcmdiYSgxMCwgOSwgNywgMC4yKQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXRyYW5zcGFyZW50IDYyJSwKCQkJcmdiYSg0LCA5LCAxMCwgMC40OCkKCQkpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5ibS1zdGFydC1iYW5uZXIgaW1nIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IGF1dG87CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwoJYm9yZGVyOiAwOwp9CgouYm0tYmFubmVyLXNoYWRlIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWluc2V0OiAwOwoJei1pbmRleDogMTsKCWJveC1zaGFkb3c6CgkJaW5zZXQgMCAwIDM1cHggcmdiYSgwLCAwLCAwLCAwLjQ2KSwKCQlpbnNldCAwIC0yNXB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjI2KTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoKLyogQWdlZCBjYXNlLWZpbGUgcGFuZWwuICovCi5ibS1zdGFydC1jYXNlLWZpbGUgewpwb3NpdGlvbjogcmVsYXRpdmU7CmJveC1zaXppbmc6IGJvcmRlci1ib3g7Cm1heC13aWR0aDogOTMwcHg7Cm1hcmdpbjogLTMuMjVyZW0gYXV0byAwOwoJcGFkZGluZzogMi43cmVtIDMuMnJlbSAyLjJyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyNSksCgkJCXJnYmEoNjAsIDQ3LCAyNCwgMC4wMzUpCgkJKSwKCQlyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAoJCQkwZGVnLAoJCQlyZ2JhKDc2LCA2NSwgNDMsIDAuMDI1KSAwLAoJCQlyZ2JhKDc2LCA2NSwgNDMsIDAuMDI1KSAxcHgsCgkJCXRyYW5zcGFyZW50IDFweCwKCQkJdHJhbnNwYXJlbnQgNHB4CgkJKSwKCQkjZDhjYmE3OwoJYm9yZGVyOiAxcHggc29saWQgIzllODY1NzsKCWJvcmRlci1yYWRpdXM6IDJweDsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQ1cHggcmdiYSgwLCAwLCAwLCAwLjQ4KSwKCQlpbnNldCAwIDAgMjhweCByZ2JhKDU0LCA0MiwgMjMsIDAuMTMpOwoJY29sb3I6IHZhcigtLWJtLWluayk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1zdGFydC1jYXNlLWZpbGU6OmJlZm9yZSwKLmJtLXN0YXJ0LWNhc2UtZmlsZTo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLmJtLXN0YXJ0LWNhc2UtZmlsZTo6YmVmb3JlIHsKCWluc2V0OiA4cHg7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkwLCA2OSwgMzcsIDAuMjYpOwp9CgouYm0tc3RhcnQtY2FzZS1maWxlOjphZnRlciB7CglsZWZ0OiAyLjUlOwoJcmlnaHQ6IDIuNSU7Cgl0b3A6IDA7CgloZWlnaHQ6IDRweDsKCWJhY2tncm91bmQ6CgkJcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXRyYW5zcGFyZW50IDAsCgkJCXRyYW5zcGFyZW50IDE0cHgsCgkJCXJnYmEoNjUsIDUyLCAzMCwgMC4yKSAxNXB4LAoJCQl0cmFuc3BhcmVudCAxN3B4CgkJKTsKfQoKLmJtLXN0YXJ0LXNlcmllcyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWFyZ2luLWJvdHRvbTogMC40NXJlbTsKCWNvbG9yOiAjNGM1NTRhOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC44MnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xOWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLXN0YXJ0LXRpdGxlIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CgltYXgtd2lkdGg6IDc4MHB4OwoJbWFyZ2luOiAwIGF1dG87Cgljb2xvcjogdmFyKC0tYm0tYnVyZ3VuZHkpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNXZ3LCAzLjVyZW0pOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAwNWVtOwoJbGluZS1oZWlnaHQ6IDEuMDI7Cgl0ZXh0LXNoYWRvdzogMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTsKfQoKLmJtLXN0YXJ0LWRhdGUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCW1hcmdpbjogMC45cmVtIGF1dG8gMC42NXJlbTsKCXBhZGRpbmc6IDAuM3JlbSAwLjdyZW07Cglib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg3MSwgNzAsIDU0LCAwLjM1KTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDcxLCA3MCwgNTQsIDAuMzUpOwoJY29sb3I6IHZhcigtLWJtLWZhZGVkLWluayk7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjc4cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA5NWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLXN0YXJ0LXRhZ2xpbmUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1heC13aWR0aDogNjUwcHg7CgltYXJnaW46IDAuN3JlbSBhdXRvIDAuNXJlbSAhaW1wb3J0YW50OwoJY29sb3I6ICMzNDNiMzcgIWltcG9ydGFudDsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7Cglmb250LXNpemU6IDEuMThyZW07Cglmb250LXN0eWxlOiBpdGFsaWM7Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMzU7Cn0KCi5ibS1zdGFydC1kZXNjcmlwdGlvbiB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWF4LXdpZHRoOiA2ODBweCAhaW1wb3J0YW50OwoJbWFyZ2luOiAwLjdyZW0gYXV0byAxcmVtICFpbXBvcnRhbnQ7Cgljb2xvcjogIzM0MzUyZCAhaW1wb3J0YW50OwoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDFyZW07CglsaW5lLWhlaWdodDogMS41NTsKfQoKLyogUGlubmVkIG5vdGUuICovCi5ibS1zdGFydC1ub3RlIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CgltYXgtd2lkdGg6IDYyMHB4OwoJbWFyZ2luOiAxLjE1cmVtIGF1dG8gMS4zNXJlbTsKCXBhZGRpbmc6IDAuNzVyZW0gMXJlbSAwLjdyZW07CgliYWNrZ3JvdW5kOiAjZThkZWI5OwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSg5NCwgNzQsIDM5LCAwLjM2KTsKCWJveC1zaGFkb3c6CgkJMCA1cHggMTFweCByZ2JhKDU0LCA0MiwgMjMsIDAuMTYpLAoJCWluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7Cgljb2xvcjogIzNhMzgyZDsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuODhyZW07CglsaW5lLWhlaWdodDogMS40NTsKCXRyYW5zZm9ybTogcm90YXRlKC0wLjM1ZGVnKTsKfQoKLmJtLXN0YXJ0LW5vdGUgc3Ryb25nIHsKCWNvbG9yOiAjNmQyYzNjOwp9CgouYm0tbm90ZS1waW4gewoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiAtNnB4OwoJbGVmdDogNTAlOwoJd2lkdGg6IDEycHg7CgloZWlnaHQ6IDEycHg7CgliYWNrZ3JvdW5kOiB2YXIoLS1ibS1idXJndW5keSk7Cglib3JkZXI6IDJweCBzb2xpZCAjNWEyNDMwOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zNSk7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7Cn0KCi8qIFByaW1hcnkgYW5kIHNlY29uZGFyeSBhY3Rpb25zLiAqLwouYm0tc3RhcnQtYWN0aW9ucyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMC44NXJlbTsKCW1heC13aWR0aDogNzIwcHg7CgltYXJnaW46IDAgYXV0bzsKfQoKLmJtLXN0YXJ0LXByaW1hcnksCi5ibS1zdGFydC1zZWNvbmRhcnkgewoJZGlzcGxheTogZmxleDsKCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CgltaW4td2lkdGg6IDA7Cn0KCi5ibS1zdGFydC1wcmltYXJ5IGEsCi5ibS1zdGFydC1zZWNvbmRhcnkgYSwKLmJtLXN0YXJ0LXByaW1hcnkgYS5saW5rLWludGVybmFsLAouYm0tc3RhcnQtc2Vjb25kYXJ5IGEubGluay1pbnRlcm5hbCwKLmJtLXN0YXJ0LXByaW1hcnkgYS5tYWNyby1saW5rLAouYm0tc3RhcnQtc2Vjb25kYXJ5IGEubWFjcm8tbGluayB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBibG9jazsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuOXJlbSAxcmVtOwoJYm9yZGVyLXJhZGl1czogM3B4OwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4wOHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsKCWxpbmUtaGVpZ2h0OiAxLjIyOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdHJhbnNmb3JtOiBub25lOwp9CgouYm0tc3RhcnQtcHJpbWFyeSBhLAouYm0tc3RhcnQtcHJpbWFyeSBhLmxpbmstaW50ZXJuYWwgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJdmFyKC0tYm0tYnVyZ3VuZHktbGlnaHQpLAoJCQl2YXIoLS1ibS1idXJndW5keSkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzY5MjUzNjsKCWJveC1zaGFkb3c6CgkJMCA2cHggMTNweCByZ2JhKDU3LCAyNSwgMzIsIDAuMjgpLAoJCWluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNyk7Cgljb2xvcjogI2ZmZjNkYTsKfQoKLmJtLXN0YXJ0LXNlY29uZGFyeSBhLAouYm0tc3RhcnQtc2Vjb25kYXJ5IGEubWFjcm8tbGluayB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNDY2MjY2LAoJCQkjMjk0NjRhCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkICMyMDNhM2Q7Cglib3gtc2hhZG93OgoJCTAgNnB4IDEzcHggcmdiYSgyNiwgNDUsIDQ3LCAwLjI1KSwKCQlpbnNldCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpOwoJY29sb3I6ICNmMmU4Yzk7Cn0KCi5ibS1zdGFydC1wcmltYXJ5IGE6OmJlZm9yZSwKLmJtLXN0YXJ0LXByaW1hcnkgYTo6YWZ0ZXIsCi5ibS1zdGFydC1zZWNvbmRhcnkgYTo6YmVmb3JlLAouYm0tc3RhcnQtc2Vjb25kYXJ5IGE6OmFmdGVyIHsKCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKCWNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLXN0YXJ0LXByaW1hcnkgYTpob3ZlciwKLmJtLXN0YXJ0LXByaW1hcnkgYS5saW5rLWludGVybmFsOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSNjMDVkNzIsCgkJCSM5NzNiNTAKCQkpOwoJYm9yZGVyLWNvbG9yOiAjN2QyODNiOwoJY29sb3I6ICNmZmZmZmY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7Cn0KCi5ibS1zdGFydC1zZWNvbmRhcnkgYTpob3ZlciwKLmJtLXN0YXJ0LXNlY29uZGFyeSBhLm1hY3JvLWxpbms6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzU2NzY3YSwKCQkJIzM0NTY1YQoJCSk7Cglib3JkZXItY29sb3I6ICMyOTQ4NGI7Cgljb2xvcjogI2ZmZmZmZjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKfQoKLmJtLXN0YXJ0LXByaW1hcnkgPiBzcGFuLAouYm0tc3RhcnQtc2Vjb25kYXJ5ID4gc3BhbiB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi10b3A6IDAuMzVyZW07Cgljb2xvcjogIzViNTk0YjsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjc2cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cn0KCi8qIEluZm9ybWF0aW9uIHRvb2xzLiAqLwouYm0tc3RhcnQtdG9vbHMgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCWRpc3BsYXk6IGZsZXg7CglmbGV4LXdyYXA6IHdyYXA7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCWdhcDogMC41NXJlbSAxLjJyZW07CgltYXJnaW46IDEuMzVyZW0gYXV0byAwOwoJcGFkZGluZy10b3A6IDFyZW07Cglib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoNzUsIDY1LCA0MywgMC4zNCk7Cn0KCi5ibS1zdGFydC10b29sIHsKCWRpc3BsYXk6IGlubGluZS1mbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWdhcDogMC40cmVtOwoJY29sb3I6ICM0MTQ4M2Y7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC44NnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1zdGFydC10b29sIGEsCi5ibS1zdGFydC10b29sIGEubGluay1pbnRlcm5hbCwKLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rIHsKCWRpc3BsYXk6IGlubGluZTsKCXdpZHRoOiBhdXRvOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwoJYm9yZGVyOiAwOwoJYm94LXNoYWRvdzogbm9uZTsKCWNvbG9yOiAjNDk1ZjYwOwoJZm9udC1mYW1pbHk6IGluaGVyaXQ7Cglmb250LXNpemU6IGluaGVyaXQ7Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDA7CglsaW5lLWhlaWdodDogaW5oZXJpdDsKCXRleHQtYWxpZ246IGxlZnQ7Cgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKCXRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSg3MywgOTUsIDk2LCAwLjQ1KTsKCXRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7Cgl0cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1zdGFydC10b29sIGE6OmJlZm9yZSwKLmJtLXN0YXJ0LXRvb2wgYTo6YWZ0ZXIgewoJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwoJY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tc3RhcnQtdG9vbCBhOmhvdmVyLAouYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5ibS1zdGFydC10b29sIGEubWFjcm8tbGluazpob3ZlciB7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKCWJvcmRlcjogMDsKCWJveC1zaGFkb3c6IG5vbmU7Cgljb2xvcjogdmFyKC0tYm0tYnVyZ3VuZHkpOwoJdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7Cgl0cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS10b29sLWljb24gewoJZGlzcGxheTogaW5saW5lLWZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cgl3aWR0aDogMS40NXJlbTsKCWhlaWdodDogMS40NXJlbTsKCWJhY2tncm91bmQ6ICM1MjY3Njk7Cglib3JkZXI6IDFweCBzb2xpZCAjMzM0OTRiOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJY29sb3I6ICNmNGU3YmM7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC43OHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1zdGFydC1mb290ZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1hcmdpbi10b3A6IDEuM3JlbTsKCWNvbG9yOiAjNjg2NDUyOwoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDAuNzZyZW07CglsaW5lLWhlaWdodDogMS40Owp9CgovKiBIaWdoIGNvbnRyYXN0IHN1cHBvcnQuICovCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC1jYXNlLWZpbGUgewoJYmFja2dyb3VuZDogI2YyZTdjNzsKCWNvbG9yOiAjMTcxNzEyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc3RhcnQtZGVzY3JpcHRpb24sCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC10YWdsaW5lIHsKCWNvbG9yOiAjMTcxNzEyICFpbXBvcnRhbnQ7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC10b29sIGEgewoJY29sb3I6ICMyMDNmNDM7Cn0KCi8qIFRhYmxldCBhbmQgbW9iaWxlLiAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoJYm9keS5hdG1vc3BoZXJlLXRpdGxlICNwYXNzYWdlcyB7CgkJbWFyZ2luOiAwIDAuNHJlbTsKCQlwYWRkaW5nOiAwLjU1cmVtOwoJfQoKCS5ibS1zdGFydC1jYXNlLWZpbGUgewoJCW1hcmdpbi10b3A6IC0xLjJyZW07CgkJcGFkZGluZzogMnJlbSAxLjJyZW0gMS41cmVtOwoJfQoKCS5ibS1zdGFydC1hY3Rpb25zIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCQltYXgtd2lkdGg6IDQ4MHB4OwoJfQoKCS5ibS1zdGFydC1zZWNvbmRhcnkgewoJCW1hcmdpbi10b3A6IDAuMTVyZW07Cgl9CgoJLmJtLWhpZGRlbi1leWVzIHNwYW4gewoJCXdpZHRoOiA4cHg7CgkJaGVpZ2h0OiA0cHg7Cgl9CgoJLmJtLXN0YXJ0LXRpdGxlIHsKCQlmb250LXNpemU6IGNsYW1wKDEuODVyZW0sIDl2dywgMi42NXJlbSk7Cgl9CgoJLmJtLXN0YXJ0LWRlc2NyaXB0aW9uIHsKCQlmb250LXNpemU6IDAuOTZyZW07Cgl9CgoJLmJtLXN0YXJ0LXRvb2xzIHsKCQlmbGV4LWRpcmVjdGlvbjogY29sdW1uOwoJCWFsaWduLWl0ZW1zOiBjZW50ZXI7CgkJZ2FwOiAwLjY1cmVtOwoJfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewoJLmJtLXN0YXJ0LWJhbm5lcjo6YmVmb3JlIHsKCQlpbnNldDogNHB4OwoJfQoKCS5ibS1zdGFydC1jYXNlLWZpbGUgewoJCW1hcmdpbi10b3A6IC0wLjQ1cmVtOwoJCXBhZGRpbmc6IDEuNnJlbSAwLjlyZW0gMS4yNXJlbTsKCX0KCgkuYm0tc3RhcnQtc2VyaWVzIHsKCQlmb250LXNpemU6IDAuN3JlbTsKCQlsZXR0ZXItc3BhY2luZzogMC4xM2VtOwoJfQoKCS5ibS1zdGFydC1kYXRlIHsKCQlmb250LXNpemU6IDAuNjhyZW07CgkJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKCX0KCgkuYm0tc3RhcnQtdGFnbGluZSB7CgkJZm9udC1zaXplOiAxLjA1cmVtOwoJfQoKCS5ibS1zdGFydC1ub3RlIHsKCQlmb250LXNpemU6IDAuOHJlbTsKCX0KCgkuYm0tc3RhcnQtcHJpbWFyeSBhLAoJLmJtLXN0YXJ0LXNlY29uZGFyeSBhLAoJLmJtLXN0YXJ0LXByaW1hcnkgYS5saW5rLWludGVybmFsLAoJLmJtLXN0YXJ0LXNlY29uZGFyeSBhLmxpbmstaW50ZXJuYWwsCgkuYm0tc3RhcnQtc2Vjb25kYXJ5IGEubWFjcm8tbGluayB7CgkJcGFkZGluZzogMC44MnJlbSAwLjc1cmVtOwoJCWZvbnQtc2l6ZTogMXJlbTsKCX0KfQoKLyogUmVzcGVjdCB0aGUgcGxheWVyJ3MgbW90aW9uIHByZWZlcmVuY2VzLiAqLwpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuYm0tc3RhcnQtcHJpbWFyeSBhLApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuYm0tc3RhcnQtc2Vjb25kYXJ5IGEsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1zdGFydC10b29sIGEsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1oaWRkZW4tZXllcyB7Cgl0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CglhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKCS5ibS1zdGFydC1wcmltYXJ5IGEsCgkuYm0tc3RhcnQtc2Vjb25kYXJ5IGEsCgkuYm0tc3RhcnQtdG9vbCBhLAoJLmJtLWhpZGRlbi1leWVzIHsKCQl0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CgkJYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJSRUNLRU5SSURHRSBNWVNURVJZIERFU0sKICAgUEhBU0UgMTogQ1VSUkVOVCBDQVNFIEFORCBNWVNURVJZIEtJVAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1jYXNlLXNpZGViYXIgewoJLS1ibS1zaWRlLXBhcGVyOiAjZDRjNjlmOwoJLS1ibS1zaWRlLXBhcGVyLWxpZ2h0OiAjZThkY2JhOwoJLS1ibS1zaWRlLWluazogIzI5MmEyMzsKCS0tYm0tc2lkZS1tdXRlZDogIzY3NjY1MzsKCS0tYm0tc2lkZS1idXJndW5keTogIzhiM2I1MDsKCS0tYm0tc2lkZS10ZWFsOiAjNDk2YjZlOwoJLS1ibS1zaWRlLWdvbGQ6ICNiNzlhNWQ7CgoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cn0KCi8qIEN1cnJlbnQgQ2FzZSBjYXJkLiAqLwouYm0tY2FzZS1jYXJkIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOgoJCXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCgkJCTBkZWcsCgkJCXJnYmEoNzEsIDU3LCAzNCwgMC4wMjUpIDAsCgkJCXJnYmEoNzEsIDU3LCAzNCwgMC4wMjUpIDFweCwKCQkJdHJhbnNwYXJlbnQgMXB4LAoJCQl0cmFuc3BhcmVudCA0cHgKCQkpLAoJCXZhcigtLWJtLXNpZGUtcGFwZXIpOwoJYm9yZGVyOiAxcHggc29saWQgIzkyN2E0ZTsKCWJvcmRlci1yYWRpdXM6IDNweDsKCWJveC1zaGFkb3c6CgkJMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMzQpLAoJCWluc2V0IDAgMCAyMHB4IHJnYmEoNTksIDQ0LCAyMCwgMC4xMik7Cgljb2xvcjogdmFyKC0tYm0tc2lkZS1pbmspOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC43MmVtOwoJdGV4dC1hbGlnbjogbGVmdDsKfQoKLmJtLWNhc2UtY2FyZDo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogNXB4OwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSg3NCwgNTcsIDMwLCAwLjE3KTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgouYm0tY2FzZS1jYXJkLXRvcCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CglnYXA6IDAuNWVtOwoJbWFyZ2luOiAtMC43MmVtIC0wLjcyZW0gMC41NWVtOwoJcGFkZGluZzogMC41MmVtIDAuNjVlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJIzc3MzE0NSwKCQkJIzliNDM1OQoJCSk7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY2MjYzODsKCWNvbG9yOiAjZmZmMGQyOwp9CgouYm0tY2FzZS10YWIgewoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjEzZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY2FzZS1leWVzIHsKCWRpc3BsYXk6IGZsZXg7CglnYXA6IDNweDsKCWNvbG9yOiAjZDc4N2ZmOwoJZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNHB4IHJnYmEoMTgxLCAxMDQsIDI1NSwgMC42NSkpOwp9CgouYm0tY2FzZS1leWVzIHNwYW4gewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogOHB4OwoJaGVpZ2h0OiA0cHg7CgliYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7Cglib3JkZXItcmFkaXVzOiA4MCUgMTUlIDgwJSAxNSU7Cgl0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7Cn0KCi5ibS1jYXNlLWV5ZXMgc3BhbjpsYXN0LWNoaWxkIHsKCXRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMThkZWcpOwp9CgouYm0tY2FzZS1udW1iZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCWNvbG9yOiAjNzQ2NDQ3OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC42N2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjEyZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY2FzZS1uYW1lIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CgltYXJnaW46IDAuMTJlbSAwIDAuNTVlbTsKCXBhZGRpbmctYm90dG9tOiAwLjQyZW07Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg3MSwgNTcsIDMzLCAwLjMpOwoJY29sb3I6ICM1ZjI2MzY7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAxLjA4ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMTU7Cn0KCi5ibS1jYXNlLWRldGFpbHMgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKfQoKLmJtLWNhc2UtZGV0YWlsIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogZmxleC1zdGFydDsKCWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCWdhcDogMC41ZW07CglwYWRkaW5nOiAwLjIyZW0gMDsKCWJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgcmdiYSg3MiwgNjEsIDM5LCAwLjIyKTsKfQoKLmJtLWNhc2UtbGFiZWwgewoJY29sb3I6IHZhcigtLWJtLXNpZGUtbXV0ZWQpOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC42OWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLXZhbHVlIHsKCWNvbG9yOiAjMzMzNTJkOwoJZm9udC1zaXplOiAwLjc4ZW07Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5ibS1jYXNlLWxvY2F0aW9uLAouYm0tY2FzZS1vYmplY3RpdmUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1hcmdpbi10b3A6IDAuNjJlbTsKCXBhZGRpbmc6IDAuNTJlbSAwLjU4ZW07CgliYWNrZ3JvdW5kOiByZ2JhKDI0NCwgMjM0LCAyMDIsIDAuNTIpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OCwgNzAsIDM5LCAwLjI2KTsKfQoKLmJtLWNhc2UtbG9jYXRpb24gewoJYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1ibS1zaWRlLXRlYWwpOwp9CgouYm0tY2FzZS1vYmplY3RpdmUgewoJYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1ibS1zaWRlLWJ1cmd1bmR5KTsKfQoKLmJtLWNhc2Utc2VjdGlvbi1sYWJlbCB7CgltYXJnaW4tYm90dG9tOiAwLjJlbTsKCWNvbG9yOiAjNzU1YTM0OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC42NWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA4ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY2FzZS1sb2NhdGlvbi1uYW1lLAouYm0tY2FzZS1vYmplY3RpdmUtdGV4dCB7Cgljb2xvcjogIzMzMzUyZDsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjMyOwp9CgouYm0tY2hhcmFjdGVyLXRyYWNrZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1hcmdpbi10b3A6IDAuNjVlbTsKfQoKLmJtLWNoYXJhY3Rlci10cmFja2VyLWhlYWRpbmcgewoJcGFkZGluZzogMC40ZW0gMC41ZW07Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY5LCA1OSwgNDAsIDAuMjgpOwoJYm9yZGVyLWJvdHRvbTogMDsKCWNvbG9yOiAjZjVlYWQwOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC42N2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA2ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tdHJhY2tlci1rZXZpbiB7CgliYWNrZ3JvdW5kOiAjNGM2YzdhOwp9CgouYm0tdHJhY2tlci1yeWFuIHsKCWJhY2tncm91bmQ6ICM3MTc1NDg7Cn0KCi5ibS10cmFja2VyLWtpbW15IHsKCWJhY2tncm91bmQ6ICM4YzYwNzI7Cn0KCi5ibS10cmFja2VyLXNjb290IHsKCWJhY2tncm91bmQ6ICM5NTY5NDM7Cn0KCi5ibS10cmFja2VyLWdyb3VwIHsKCWJhY2tncm91bmQ6ICM2ZjQwNTI7Cn0KCi5ibS10cmFja2VyLWNvdW50LAouYm0tdHJhY2tlci1wYWlyIHsKCWJhY2tncm91bmQ6IHJnYmEoMjQzLCAyMzIsIDE5OCwgMC42Mik7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY5LCA1OSwgNDAsIDAuMjgpOwoJY29sb3I6ICMzMzM1MmQ7Cn0KCi5ibS10cmFja2VyLWNvdW50IHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJZ2FwOiAwLjU1ZW07CglwYWRkaW5nOiAwLjQ1ZW0gMC41NWVtOwp9CgouYm0tdHJhY2tlci1wYWlyIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7Cn0KCi5ibS10cmFja2VyLXNtYWxsIHsKCXBhZGRpbmc6IDAuNDJlbSAwLjNlbTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLXRyYWNrZXItc21hbGwgKyAuYm0tdHJhY2tlci1zbWFsbCB7Cglib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoNjksIDU5LCA0MCwgMC4yNCk7Cn0KCi5ibS10cmFja2VyLW51bWJlciB7CglkaXNwbGF5OiBibG9jazsKCWNvbG9yOiAjNzAyZDNlOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMS4yZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDE7Cn0KCi5ibS10cmFja2VyLWxhYmVsIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLXRvcDogMC4xNGVtOwoJY29sb3I6ICM1OTU5NDc7Cglmb250LXNpemU6IDAuNjVlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4yOwp9CgouYm0tY2FzZS13YWl0aW5nIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CglwYWRkaW5nOiAwLjc1ZW0gMC4zZW0gMC4zNWVtOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tY2FzZS13YWl0aW5nLXRpdGxlIHsKCWNvbG9yOiAjNjYyODNhOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWNhc2Utd2FpdGluZy10ZXh0IHsKCW1hcmdpbi10b3A6IDAuMzVlbTsKCWNvbG9yOiAjNTU1NjQ2OwoJZm9udC1zaXplOiAwLjc1ZW07CglsaW5lLWhlaWdodDogMS4zNTsKfQoKLyogTXlzdGVyeSBLaXQuICovCi5ibS1teXN0ZXJ5LWtpdCB7CglvdmVyZmxvdzogaGlkZGVuOwoJbWFyZ2luLXRvcDogMC43MmVtOwoJYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDI0LCAwLjk0KTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTY2LCAxMzksIDgyLCAwLjM0KTsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6IDAgN3B4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjI4KTsKfQoKLmJtLWtpdC1oZWFkaW5nIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJZ2FwOiAwLjQyZW07CglwYWRkaW5nOiAwLjUyZW0gMC42MmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDExMiwgNDYsIDY1LCAwLjg2KSwKCQkJcmdiYSg1NSwgMzksIDQzLCAwLjM4KQoJCSk7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzgsIDEzMCwgMTQzLCAwLjI1KTsKCWNvbG9yOiAjZWZkOWIwOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjExZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0ta2l0LWhlYWRpbmctaWNvbiB7Cgljb2xvcjogIzc1ZDc4MTsKCXRleHQtc2hhZG93OiAwIDAgN3B4IHJnYmEoNzgsIDIxNywgMTA0LCAwLjQ1KTsKfQoKLmJtLWtpdC1ncmlkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDFweDsKCWJhY2tncm91bmQ6IHJnYmEoMTc4LCAxNTQsIDEwMiwgMC4xNSk7Cn0KCi5ibS1raXQtZ3JpZCBhLAouYm0ta2l0LWdyaWQgYS5saW5rLWludGVybmFsLAouYm0ta2l0LWdyaWQgYS5tYWNyby1saW5rIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJZ2FwOiAwLjQyZW07Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogMC41OGVtIDAuNDhlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMzksIDUwLCA1MSwgMC45OCksCgkJCXJnYmEoMjYsIDM1LCAzNiwgMC45OCkKCQkpOwoJYm9yZGVyOiAwOwoJY29sb3I6ICNlMWQ0YjM7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC43ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMTU7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1raXQtZ3JpZCBhOjpiZWZvcmUsCi5ibS1raXQtZ3JpZCBhOjphZnRlciB7CglkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cgljb250ZW50OiBub25lICFpbXBvcnRhbnQ7Cn0KCi5ibS1raXQtZ3JpZCBhOmhvdmVyLAouYm0ta2l0LWdyaWQgYS5saW5rLWludGVybmFsOmhvdmVyLAouYm0ta2l0LWdyaWQgYS5tYWNyby1saW5rOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoODAsIDYwLCA2MSwgMC45OCksCgkJCXJnYmEoNTUsIDQzLCA0NSwgMC45OCkKCQkpOwoJY29sb3I6ICNmZmYxY2M7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5ibS1raXQtaWNvbiB7CglkaXNwbGF5OiBpbmxpbmUtZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCWZsZXg6IDAgMCAxLjdlbTsKCXdpZHRoOiAxLjdlbTsKCWhlaWdodDogMS43ZW07CgliYWNrZ3JvdW5kOiAjN2U0MDUyOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzUsIDIwNiwgMTYwLCAwLjI4KTsKCWJvcmRlci1yYWRpdXM6IDUwJTsKCWNvbG9yOiAjZjNkZmI3OwoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDAuOTVlbTsKfQoKLmJtLWljb24tY2x1ZSB7CgliYWNrZ3JvdW5kOiAjNzY2NDM4Owp9CgouYm0taWNvbi1ub3RlIHsKCWJhY2tncm91bmQ6ICM4YjY4NDI7Cn0KCi5ibS1pY29uLW1hcCB7CgliYWNrZ3JvdW5kOiAjNDE2NjY4Owp9CgouYm0taWNvbi1wZW9wbGUgewoJYmFja2dyb3VuZDogIzVlNjU3MzsKfQoKLmJtLWljb24tc2F2ZSB7CgliYWNrZ3JvdW5kOiAjNTU2ZjRiOwp9CgouYm0ta2l0LWxhYmVsIHsKCW92ZXJmbG93OiBoaWRkZW47Cgl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCXdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi8qIFRvb2wgcGFnZXMuICovCi5ibS10b29sLXBhZ2UgewoJbWF4LXdpZHRoOiA5MDBweDsKCW1hcmdpbjogMCBhdXRvOwp9CgouYm0tdG9vbC1wYWdlLWhlYWRpbmcgewoJbWFyZ2luLWJvdHRvbTogMS4xZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS10b29sLXBhZ2Uta2lja2VyIHsKCWNvbG9yOiAjYjU5YjYyOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tdG9vbC1wYWdlLWhlYWRpbmcgaDEgewoJbWFyZ2luOiAwLjE1ZW0gMCAwLjJlbTsKCWNvbG9yOiAjZWFkY2I5OwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMi4yZW07Cn0KCi5ibS10b29sLXBhZ2UtaGVhZGluZyBwIHsKCW1heC13aWR0aDogNjIwcHg7CgltYXJnaW46IDAgYXV0bzsKCWNvbG9yOiAjYmNiNDlmOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tZmlsZS1mb2xkZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWFyZ2luLXRvcDogMmVtOwoJcGFkZGluZzogMS41ZW07CgliYWNrZ3JvdW5kOiAjZDNjMzljOwoJYm9yZGVyOiAxcHggc29saWQgIzliODE1MDsKCWJvcmRlci1yYWRpdXM6IDNweDsKCWJveC1zaGFkb3c6CgkJMCAxN3B4IDM2cHggcmdiYSgwLCAwLCAwLCAwLjM3KSwKCQlpbnNldCAwIDAgMjVweCByZ2JhKDcxLCA1MiwgMjIsIDAuMTIpOwoJY29sb3I6ICMyOTJhMjM7Cn0KCi5ibS1mb2xkZXItdGFiIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDFlbTsKCXRvcDogLTEuNjVlbTsKCW1pbi13aWR0aDogOGVtOwoJcGFkZGluZzogMC40MmVtIDAuOGVtOwoJYmFja2dyb3VuZDogI2E4OGY1ZDsKCWJvcmRlcjogMXB4IHNvbGlkICM4MDZhNDI7Cglib3JkZXItYm90dG9tOiAwOwoJYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7Cgljb2xvcjogIzI5MjYxZTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuODJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY2FzZS1maWxlLWdyaWQgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMC43ZW07Cn0KCi5ibS1maWxlLWNhcmQsCi5ibS1maWxlLW9iamVjdGl2ZSB7CgliYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjMxLCAxOTYsIDAuNjUpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MSwgNzAsIDM3LCAwLjMpOwoJcGFkZGluZzogMC43ZW07Cn0KCi5ibS1maWxlLWxhYmVsIHsKCWNvbG9yOiAjNzY1YzM1OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA3ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tZmlsZS12YWx1ZSB7CgltYXJnaW4tdG9wOiAwLjJlbTsKCWNvbG9yOiAjMzAzMTJhOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWZpbGUtb2JqZWN0aXZlIHsKCW1hcmdpbi10b3A6IDAuN2VtOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjODczODRkOwp9CgouYm0tZmlsZS1vYmplY3RpdmUgcCB7CgltYXJnaW46IDAuMjVlbSAwIDA7Cgljb2xvcjogIzMwMzEyYTsKfQoKLmJtLWZpbGUtdG90YWxzIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDAuNmVtOwoJbWFyZ2luLXRvcDogMC43ZW07Cn0KCi5ibS1maWxlLXRvdGFsIHsKCXBhZGRpbmc6IDAuNjVlbTsKCWJhY2tncm91bmQ6ICMzMTRmNTI7Cglib3JkZXI6IDFweCBzb2xpZCAjMjMzYzNlOwoJY29sb3I6ICNlZWUwYmQ7Cglmb250LXNpemU6IDAuNzhlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1maWxlLXRvdGFsIHNwYW4gewoJZGlzcGxheTogYmxvY2s7Cgljb2xvcjogI2ZmZjBjODsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDEuNWVtOwoJbGluZS1oZWlnaHQ6IDE7Cn0KCi8qIENsdWUgYm9hcmQuICovCi5ibS1jbHVlLWJvYXJkIHsKCXBhZGRpbmc6IDEuMmVtOwoJYmFja2dyb3VuZDoKCQlyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAoJCQk0NWRlZywKCQkJcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxOCkgMCwKCQkJcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxOCkgMnB4LAoJCQl0cmFuc3BhcmVudCAycHgsCgkJCXRyYW5zcGFyZW50IDdweAoJCSksCgkJIzRiMzcyNzsKCWJvcmRlcjogOHB4IHNvbGlkICMyZjI0MWM7Cglib3gtc2hhZG93OgoJCTAgMThweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC40MiksCgkJaW5zZXQgMCAwIDMwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsKfQoKLmJtLWNsdWUtYm9hcmQtY291bnQgewoJbWFyZ2luLWJvdHRvbTogMC45ZW07Cgljb2xvcjogI2ViZDhhZTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuNzZlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOWVtOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWNsdWUtY2FyZC1ncmlkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDAuOWVtOwp9CgouYm0tY2x1ZS1jYXJkIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW1pbi1oZWlnaHQ6IDUuNWVtOwoJcGFkZGluZzogMWVtIDAuOWVtIDAuOGVtOwoJYmFja2dyb3VuZDogI2RmZDFhODsKCWJvcmRlcjogMXB4IHNvbGlkICNhOTkwNjA7Cglib3gtc2hhZG93OiAwIDdweCAxM3B4IHJnYmEoMCwgMCwgMCwgMC4yNyk7Cgljb2xvcjogIzMwMzEyOTsKCXRyYW5zZm9ybTogcm90YXRlKC0wLjNkZWcpOwp9CgouYm0tY2x1ZS1jYXJkOm50aC1jaGlsZChldmVuKSB7Cgl0cmFuc2Zvcm06IHJvdGF0ZSgwLjRkZWcpOwp9CgouYm0tY2x1ZS1waW4gewoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogNTAlOwoJdG9wOiAtNnB4OwoJd2lkdGg6IDExcHg7CgloZWlnaHQ6IDExcHg7CgliYWNrZ3JvdW5kOiAjOGYzZDUwOwoJYm9yZGVyOiAycHggc29saWQgIzVmMjgzNzsKCWJvcmRlci1yYWRpdXM6IDUwJTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKfQoKLmJtLWNsdWUtbnVtYmVyIHsKCWNvbG9yOiAjNzk1ZjM5OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC42N2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jbHVlLXRleHQgewoJbWFyZ2luLXRvcDogMC4zZW07Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC44OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjM4Owp9CgouYm0tY29ubmVjdGlvbnMtc2VjdGlvbiB7CgltYXJnaW4tdG9wOiAxLjI1ZW07CglwYWRkaW5nLXRvcDogMWVtOwoJYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDIzMywgMjEyLCAxNzAsIDAuMzIpOwp9CgouYm0tY29ubmVjdGlvbnMtc2VjdGlvbiBoMiB7Cgljb2xvcjogI2YwZGRiMjsKfQoKLmJtLWNvbm5lY3Rpb24tbGlzdCB7CglkaXNwbGF5OiBncmlkOwoJZ2FwOiAwLjU1ZW07Cn0KCi5ibS1jb25uZWN0aW9uLWNhcmQgewoJcGFkZGluZzogMC43ZW0gMC44ZW07CgliYWNrZ3JvdW5kOiByZ2JhKDMwLCA1MCwgNTEsIDAuOTMpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDksIDE1NSwgMTU1LCAwLjQyKTsKCWNvbG9yOiAjZGJlNGQ1Owp9CgouYm0tY29ubmVjdGlvbi1jYXJkIHNwYW4gewoJbWFyZ2luLXJpZ2h0OiAwLjM1ZW07Cgljb2xvcjogIzY1ZGI3OTsKfQoKLyogTm90ZWJvb2suICovCi5ibS1ub3RlYm9vay1zaGVldCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgltaW4taGVpZ2h0OiAzODBweDsKCXBhZGRpbmc6IDJlbSAyZW0gMmVtIDQuNGVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl0cmFuc3BhcmVudCAwLAoJCQl0cmFuc3BhcmVudCAzLjRlbSwKCQkJcmdiYSgxODQsIDY4LCA4MiwgMC40MikgMy40ZW0sCgkJCXJnYmEoMTg0LCA2OCwgODIsIDAuNDIpIDMuNDhlbSwKCQkJdHJhbnNwYXJlbnQgMy40OGVtCgkJKSwKCQlyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAoJCQkwZGVnLAoJCQl0cmFuc3BhcmVudCAwLAoJCQl0cmFuc3BhcmVudCAxLjc1ZW0sCgkJCXJnYmEoODIsIDEyNSwgMTU4LCAwLjIyKSAxLjc1ZW0sCgkJCXJnYmEoODIsIDEyNSwgMTU4LCAwLjIyKSAxLjgxZW0KCQkpLAoJCSNlNmRiYjg7Cglib3JkZXI6IDFweCBzb2xpZCAjOWU4OTVjOwoJYm94LXNoYWRvdzogMCAxOHB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjM4KTsKCWNvbG9yOiAjMzAzMTI4Owp9CgouYm0tbm90ZWJvb2stc2hlZXQgaDIgewoJY29sb3I6ICM2ZDMwNDE7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwp9CgouYm0tbm90ZWJvb2staG9sZXMgewoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMC43ZW07Cgl0b3A6IDJlbTsKCWJvdHRvbTogMmVtOwoJZGlzcGxheTogZmxleDsKCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KCi5ibS1ub3RlYm9vay1ob2xlcyBzcGFuIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDE0cHg7CgloZWlnaHQ6IDE0cHg7CgliYWNrZ3JvdW5kOiAjMzEzNDM0OwoJYm9yZGVyOiAzcHggc29saWQgI2FhOTk2ZTsKCWJvcmRlci1yYWRpdXM6IDUwJTsKCWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNyk7Cn0KCi5ibS1ub3RlYm9vay1saXN0IHsKCW1hcmdpbi1sZWZ0OiAwOwoJcGFkZGluZy1sZWZ0OiAxLjVlbTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cn0KCi5ibS1ub3RlYm9vay1saXN0IGxpIHsKCW1hcmdpbjogMC41NWVtIDA7CglwYWRkaW5nLWxlZnQ6IDAuM2VtOwoJbGluZS1oZWlnaHQ6IDEuNDsKfQoKLmJtLW5vdGVib29rLWVtcHR5IHsKCWNvbG9yOiAjNmI2ODU3OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLyogTWFwLiAqLwouYm0tbWFwLXBsYWNlaG9sZGVyIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CgltaW4taGVpZ2h0OiA0ODBweDsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNzUlIDMwJSwKCQkJcmdiYSg2OSwgMTAzLCA4MiwgMC4xOCksCgkJCXRyYW5zcGFyZW50IDI0JQoJCSksCgkJcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKCQkJMGRlZywKCQkJcmdiYSg3NCwgNjIsIDM5LCAwLjAyNSkgMCwKCQkJcmdiYSg3NCwgNjIsIDM5LCAwLjAyNSkgMXB4LAoJCQl0cmFuc3BhcmVudCAxcHgsCgkJCXRyYW5zcGFyZW50IDVweAoJCSksCgkJI2QyYzU5ZDsKCWJvcmRlcjogMXB4IHNvbGlkICM5OTgwNGU7Cglib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7Cgljb2xvcjogIzMwMzEyODsKfQoKLmJtLW1hcC1yb2FkIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWJhY2tncm91bmQ6IHJnYmEoMTAxLCA4NSwgNTUsIDAuMzMpOwoJYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoNzgsIDY1LCA0MiwgMC41NSk7Cn0KCi5ibS1tYXAtcm9hZC1vbmUgewoJbGVmdDogLTUlOwoJdG9wOiA0NiU7Cgl3aWR0aDogMTE1JTsKCWhlaWdodDogMi4yZW07Cgl0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7Cn0KCi5ibS1tYXAtcm9hZC10d28gewoJbGVmdDogNDglOwoJdG9wOiAtMTAlOwoJd2lkdGg6IDIuMmVtOwoJaGVpZ2h0OiAxMjAlOwoJdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpOwp9CgouYm0tbWFwLWxvY2F0aW9uIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXotaW5kZXg6IDI7CgltYXgtd2lkdGg6IDE4MHB4OwoJcGFkZGluZzogMC42NWVtIDAuNzVlbTsKCWJhY2tncm91bmQ6ICNlN2RiYjg7Cglib3JkZXI6IDFweCBzb2xpZCAjOTA3NzQ3OwoJYm94LXNoYWRvdzogMCA3cHggMTNweCByZ2JhKDU2LCA0MywgMjIsIDAuMjUpOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLW1hcC1jdXJyZW50IHsKCWxlZnQ6IDM3JTsKCXRvcDogMzklOwoJYm9yZGVyOiAycHggc29saWQgIzg3Mzg0ZDsKfQoKLmJtLW1hcC1ob3VzZSB7CglsZWZ0OiA4JTsKCXRvcDogMTglOwp9CgouYm0tbWFwLXNjaG9vbCB7CglyaWdodDogOCU7Cgl0b3A6IDE5JTsKfQoKLmJtLW1hcC13b29kcyB7CglyaWdodDogMTMlOwoJYm90dG9tOiAxOCU7Cn0KCi5ibS1tYXAtc3ltYm9sIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLWJvdHRvbTogMC4yZW07Cgljb2xvcjogIzUwNmM1NzsKCWZvbnQtc2l6ZTogMS42ZW07Cn0KCi5ibS1tYXAtcGluIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDEycHg7CgloZWlnaHQ6IDEycHg7CgltYXJnaW46IDAgYXV0byAwLjM1ZW07CgliYWNrZ3JvdW5kOiAjOTEzYzUxOwoJYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgMDsKCXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7Cn0KCi5ibS1tYXAtbm90ZSB7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiA4JTsKCWJvdHRvbTogOCU7Cgl6LWluZGV4OiAyOwoJbWF4LXdpZHRoOiAyNzBweDsKCXBhZGRpbmc6IDAuNzVlbTsKCWJhY2tncm91bmQ6ICNlZWUyYmQ7Cglib3JkZXI6IDFweCBzb2xpZCAjOWU4NzU4OwoJYm94LXNoYWRvdzogMCA2cHggMTNweCByZ2JhKDAsIDAsIDAsIDAuMik7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjc0ZW07CglsaW5lLWhlaWdodDogMS40OwoJdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOwp9CgovKiBQZW9wbGUuICovCi5ibS1wZW9wbGUtZ3JpZCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAwLjg1ZW07Cn0KCi5ibS1wZXJzb24tY2FyZCB7CglkaXNwbGF5OiBmbGV4OwoJZ2FwOiAwLjhlbTsKCXBhZGRpbmc6IDAuOWVtOwoJYmFja2dyb3VuZDogI2Q3YzlhMzsKCWJvcmRlcjogMXB4IHNvbGlkICM5MTdhNGQ7Cglib3gtc2hhZG93OiAwIDlweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7Cgljb2xvcjogIzMwMzEyODsKfQoKLmJtLXBlcnNvbi1pbml0aWFsIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CglmbGV4OiAwIDAgM2VtOwoJd2lkdGg6IDNlbTsKCWhlaWdodDogM2VtOwoJYmFja2dyb3VuZDogIzRkNjk3NjsKCWJvcmRlcjogM3B4IHNvbGlkICNlZWUxYmM7Cglib3JkZXItcmFkaXVzOiAzcHg7Cglib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI0KTsKCWNvbG9yOiAjZmZmZmZmOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMS4yZW07Cglmb250LXdlaWdodDogNzAwOwp9CgouYm0tcGVyc29uLXJ5YW4gLmJtLXBlcnNvbi1pbml0aWFsIHsKCWJhY2tncm91bmQ6ICM3Mzc3NDY7Cn0KCi5ibS1wZXJzb24ta2ltbXkgLmJtLXBlcnNvbi1pbml0aWFsIHsKCWJhY2tncm91bmQ6ICM5MTYzNzY7Cn0KCi5ibS1wZXJzb24tc2Nvb3QgLmJtLXBlcnNvbi1pbml0aWFsIHsKCWJhY2tncm91bmQ6ICM5ODZiNDU7Cn0KCi5ibS1wZXJzb24taW5mb3JtYXRpb24gaDIgewoJbWFyZ2luOiAwOwoJY29sb3I6ICM2MTMwNDM7Cglmb250LXNpemU6IDEuMTVlbTsKfQoKLmJtLXBlcnNvbi1pbmZvcm1hdGlvbiBwIHsKCW1hcmdpbjogMC4zNWVtIDAgMDsKCWNvbG9yOiAjM2QzZTM0OwoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDAuODZlbTsKCWxpbmUtaGVpZ2h0OiAxLjM4Owp9CgouYm0tcGVyc29uLXRvb2wgewoJbWFyZ2luLXRvcDogMC4xNWVtOwoJY29sb3I6ICM2OTYzNGY7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjdlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tcGVvcGxlLW5vdGUgewoJbWFyZ2luLXRvcDogMWVtOwoJcGFkZGluZzogMC43NWVtOwoJYmFja2dyb3VuZDogcmdiYSg0NCwgNjUsIDY2LCAwLjU1KTsKCWJvcmRlci1sZWZ0OiA0cHggc29saWQgIzYzOGE4YzsKCWNvbG9yOiAjZDlkNWM2OwoJZm9udC1zaXplOiAwLjg2ZW07Cn0KCi8qIFNoYXJlZCBlbXB0eSBzdGF0ZSBhbmQgcmV0dXJuIGJ1dHRvbi4gKi8KLmJtLXRvb2wtZW1wdHkgewoJcGFkZGluZzogMmVtIDFlbTsKCWJhY2tncm91bmQ6IHJnYmEoMjMxLCAyMTcsIDE3OCwgMC45Mik7Cglib3JkZXI6IDFweCBzb2xpZCAjOWU4NjU2OwoJY29sb3I6ICMzNzM4MmY7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS10b29sLWVtcHR5LXN5bWJvbCB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJd2lkdGg6IDIuNWVtOwoJaGVpZ2h0OiAyLjVlbTsKCW1hcmdpbjogMCBhdXRvIDAuN2VtOwoJYmFja2dyb3VuZDogIzdiM2E0YzsKCWJvcmRlci1yYWRpdXM6IDUwJTsKCWNvbG9yOiAjZmZmMGNmOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMS4yZW07Cglmb250LXdlaWdodDogNzAwOwp9CgouYm0tdG9vbC1lbXB0eSBwIHsKCW1hcmdpbjogMC40NWVtIGF1dG8gMDsKCWNvbG9yOiAjNTA1MTQ0OwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tdG9vbC1yZXR1cm4gewoJbWF4LXdpZHRoOiAzNDBweDsKCW1hcmdpbjogMS4yNWVtIGF1dG8gMDsKfQoKLmJtLXRvb2wtcmV0dXJuIGEsCi5ibS10b29sLXJldHVybiBhLmxpbmstaW50ZXJuYWwsCi5ibS10b29sLXJldHVybiBhLm1hY3JvLWxpbmsgewoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CglwYWRkaW5nOiAwLjc1ZW0gMWVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzhmNDA1NSwKCQkJIzZlMmQ0MAoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCAjYTg1YTZlOwoJYm9yZGVyLXJhZGl1czogM3B4OwoJY29sb3I6ICNmZmYwY2Y7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmJtLXRvb2wtcmV0dXJuIGE6OmJlZm9yZSwKLmJtLXRvb2wtcmV0dXJuIGE6OmFmdGVyIHsKCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKCWNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLXRvb2wtcmV0dXJuIGE6aG92ZXIsCi5ibS10b29sLXJldHVybiBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5ibS10b29sLXJldHVybiBhLm1hY3JvLWxpbms6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJI2E5NGI2MywKCQkJIzgwMzQ0OAoJCSk7Cgljb2xvcjogI2ZmZmZmZjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLyogSGlnaCBjb250cmFzdC4gKi8KYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNhc2UtY2FyZCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWZpbGUtZm9sZGVyLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbm90ZWJvb2stc2hlZXQsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1tYXAtcGxhY2Vob2xkZXIsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1wZXJzb24tY2FyZCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNsdWUtY2FyZCB7Cgljb2xvcjogIzE1MTUxMDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNhc2UtbG9jYXRpb24tbmFtZSwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNhc2Utb2JqZWN0aXZlLXRleHQsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1maWxlLXZhbHVlLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tZmlsZS1vYmplY3RpdmUgcCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXBlcnNvbi1pbmZvcm1hdGlvbiBwIHsKCWNvbG9yOiAjMTUxNTEwOwp9CgovKiBSZXNwb25zaXZlIHRvb2wgcGFnZXMuICovCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CgkuYm0tY2FzZS1maWxlLWdyaWQsCgkuYm0tY2x1ZS1jYXJkLWdyaWQsCgkuYm0tcGVvcGxlLWdyaWQgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQoKCS5ibS1maWxlLXRvdGFscyB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLmJtLW5vdGVib29rLXNoZWV0IHsKCQlwYWRkaW5nLXJpZ2h0OiAxZW07CgkJcGFkZGluZy1sZWZ0OiAzLjdlbTsKCX0KCgkuYm0tbWFwLXBsYWNlaG9sZGVyIHsKCQltaW4taGVpZ2h0OiA1NDBweDsKCX0KCgkuYm0tbWFwLWN1cnJlbnQgewoJCWxlZnQ6IDMwJTsKCQl0b3A6IDQxJTsKCX0KCgkuYm0tbWFwLWhvdXNlIHsKCQlsZWZ0OiA0JTsKCQl0b3A6IDE0JTsKCX0KCgkuYm0tbWFwLXNjaG9vbCB7CgkJcmlnaHQ6IDQlOwoJCXRvcDogMTglOwoJfQoKCS5ibS1tYXAtd29vZHMgewoJCXJpZ2h0OiA1JTsKCQlib3R0b206IDE5JTsKCX0KCgkuYm0tbWFwLW5vdGUgewoJCWxlZnQ6IDUlOwoJCXJpZ2h0OiA1JTsKCQlib3R0b206IDQlOwoJCW1heC13aWR0aDogbm9uZTsKCX0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsKCS5ibS1raXQtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLmJtLWZpbGUtZm9sZGVyLAoJLmJtLWNsdWUtYm9hcmQgewoJCXBhZGRpbmc6IDAuOGVtOwoJfQoKCS5ibS1wZXJzb24tY2FyZCB7CgkJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCX0KCgkuYm0tbWFwLXBsYWNlaG9sZGVyIHsKCQltaW4taGVpZ2h0OiA2MjBweDsKCX0KCgkuYm0tbWFwLWxvY2F0aW9uIHsKCQltYXgtd2lkdGg6IDEyNXB4OwoJCWZvbnQtc2l6ZTogMC42OGVtOwoJfQoKCS5ibS1tYXAtY3VycmVudCB7CgkJbGVmdDogMjUlOwoJCXRvcDogNDAlOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1RBUlQgU0NSRUVOIEJBTk5FUiBPVkVSTEFQIEZJWAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1zdGFydC1jYXNlLWZpbGUgewoJbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoJLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgkJbWFyZ2luLXRvcDogMC43NXJlbSAhaW1wb3J0YW50OwoJfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewoJLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgkJbWFyZ2luLXRvcDogMC42cmVtICFpbXBvcnRhbnQ7Cgl9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJSRUNLRU5SSURHRSBTSURFQkFSIE5BVklHQVRJT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojbWVudS1zdG9yeSB7CgltYXJnaW4tYm90dG9tOiAwLjU1ZW0gIWltcG9ydGFudDsKCWJvcmRlci1jb2xvcjogcmdiYSgxMzksIDYxLCA4MSwgMC4zOCkgIWltcG9ydGFudDsKfQoKI21lbnUtc3RvcnkgbGkgYSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglwYWRkaW5nOiAwLjQ4ZW0gMC42NWVtIDAuNDhlbSAyLjE1ZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDY0LCA0NywgNTEsIDAuOCksCgkJCXJnYmEoNDAsIDM0LCAzNiwgMC44NikKCQkpOwoJY29sb3I6ICNlYWQ4YjM7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKCXRleHQtYWxpZ246IGxlZnQ7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKfQoKI21lbnUtc3RvcnkgbGkgYTo6YmVmb3JlIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDAuN2VtOwoJdG9wOiA1MCU7Cgljb2xvcjogI2JkNzI4NTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDFlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCiNtZW51LXN0b3J5IGxpOm50aC1jaGlsZCgxKSBhOjpiZWZvcmUgewoJY29udGVudDogIuKMgiI7Cn0KCiNtZW51LXN0b3J5IGxpOm50aC1jaGlsZCgyKSBhOjpiZWZvcmUgewoJY29udGVudDogIj8iOwp9CgojbWVudS1zdG9yeSBsaTpudGgtY2hpbGQoMykgYTo6YmVmb3JlIHsKCWNvbnRlbnQ6ICLilqQiOwp9CgojbWVudS1zdG9yeSBsaSBhOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMTE2LCA1NywgNzQsIDAuOSksCgkJCXJnYmEoNzAsIDQzLCA1MSwgMC45MikKCQkpOwoJY29sb3I6ICNmZmYxY2U7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCiNtZW51LXN0b3J5IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIwMiwgMTYwLCAxMTEsIDAuMTQpOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjbWVudS1zdG9yeSBsaSBhIHsKCWNvbG9yOiAjZmZmNWQ2Owp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAjbWVudS1zdG9yeSBsaSBhIHsKCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKCSNtZW51LXN0b3J5IGxpIGEgewoJCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKCX0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSU5WRVNUSUdBVE9SIEZJTEUgU1RBVFVTCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBlbmQgb2YgdGhlIFR3aW5lIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLXBlcnNvbi1zdGF0dXMgewogICAgbWFyZ2luLXRvcDogMC40MmVtOwogICAgcGFkZGluZy10b3A6IDAuMzhlbTsKICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgcmdiYSg3NCwgNjIsIDM5LCAwLjMpOwogICAgY29sb3I6ICM0YzRkNDE7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBsaW5lLWhlaWdodDogMS4zNTsKfQoKLmJtLXBlcnNvbi1zdGF0dXMgc3Ryb25nIHsKICAgIGNvbG9yOiAjNjgyZjQyOwp9CgouYm0tcGVvcGxlLW5vdGUgc3Ryb25nIHsKICAgIGNvbG9yOiAjZjBjZjgzOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tcGVyc29uLXN0YXR1cyB7CiAgICBjb2xvcjogIzFhMWExNjsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXBlcnNvbi1zdGF0dXMgc3Ryb25nIHsKICAgIGNvbG9yOiAjNTAyMDMzOwp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDQVNFIEZJTEUgQ0hBUFRFUiBQUk9HUkVTUwogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1jYXNlLXByb2dyZXNzIHsKICAgIG1hcmdpbi10b3A6IDAuODVlbTsKICAgIHBhZGRpbmc6IDAuOGVtOwogICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDIzMSwgMTk2LCAwLjY1KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTEsIDcwLCAzNywgMC4zKTsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3MtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMC41NWVtOwogICAgY29sb3I6ICM3NjVjMzU7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLXByb2dyZXNzLXRyYWNrIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDAuMzVlbTsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtaW4td2lkdGg6IDA7CiAgICBwYWRkaW5nOiAwLjU1ZW0gMC4yZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDkzLCA4MywgNjEsIDAuMTYpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OCwgNjYsIDQzLCAwLjMpOwogICAgY29sb3I6ICM2ZDY5NTg7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjdlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4xNTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3Mtc3RlcC5pcy1jb21wbGV0ZSB7CiAgICBiYWNrZ3JvdW5kOiAjNGY2YzU5OwogICAgYm9yZGVyLWNvbG9yOiAjM2U1OTQ4OwogICAgY29sb3I6ICNmNGU4Yzk7Cn0KCi5ibS1jYXNlLXByb2dyZXNzLXN0ZXAuaXMtY3VycmVudCB7CiAgICBiYWNrZ3JvdW5kOiAjODczODRkOwogICAgYm9yZGVyLWNvbG9yOiAjYTU1NTZhOwogICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTM1LCA1NiwgNzcsIDAuMTgpOwogICAgY29sb3I6ICNmZmYwY2Y7Cn0KCi5ibS1jYXNlLXByb2dyZXNzLXN0ZXAuaXMtbG9ja2VkIHsKICAgIG9wYWNpdHk6IDAuNTg7Cn0KCi5ibS1jYXNlLXByb2dyZXNzLXN0ZXAgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi10b3A6IDAuMmVtOwogICAgZm9udC1zaXplOiAwLjc4ZW07CiAgICBmb250LXdlaWdodDogNDAwOwp9CgouYm0tY2FzZS1wcm9ncmVzcy1zdW1tYXJ5IHsKICAgIG1hcmdpbi10b3A6IDAuNmVtOwogICAgY29sb3I6ICM0ZjUwNDQ7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC43OGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1wcm9ncmVzcyB7CiAgICBiYWNrZ3JvdW5kOiAjZjRlOWM4Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1wcm9ncmVzcy1zdGVwIHsKICAgIGJvcmRlci1jb2xvcjogIzI5MjkxZjsKICAgIGNvbG9yOiAjMjkyOTFmOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1wcm9ncmVzcy1zdGVwLmlzLWNvbXBsZXRlLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1wcm9ncmVzcy1zdGVwLmlzLWN1cnJlbnQgewogICAgY29sb3I6ICNmZmZmZmY7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAuYm0tY2FzZS1wcm9ncmVzcy10cmFjayB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDTFVFIEJPQVJEIEVYUEFOU0lPTgogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1jbHVlLXN1bW1hcnkgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsKICAgIGdhcDogMC41NWVtOwogICAgbWFyZ2luLWJvdHRvbTogMC44NWVtOwp9CgouYm0tY2x1ZS1zdW1tYXJ5LWl0ZW0gewogICAgcGFkZGluZzogMC43ZW0gMC40NWVtOwogICAgYmFja2dyb3VuZDogIzMxNGY1MjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTZkNzA7CiAgICBjb2xvcjogI2U4ZGFiODsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAwLjc1ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1jbHVlLXN1bW1hcnktaXRlbSBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLWJvdHRvbTogMC4xMmVtOwogICAgY29sb3I6ICNmZmYwYzg7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxLjU1ZW07CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLmJtLWxhdGVzdC1jbHVlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi1ib3R0b206IDFlbTsKICAgIHBhZGRpbmc6IDAuOWVtIDFlbTsKICAgIGJhY2tncm91bmQ6ICNlNWQ4YjA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYTI4YTU5OwogICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjODczODRkOwogICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMjYpOwogICAgY29sb3I6ICMzMDMxMjg7Cn0KCi5ibS1sYXRlc3QtY2x1ZS1sYWJlbCB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTsKICAgIGNvbG9yOiAjNzQzMjQ3OwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC43MmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tbGF0ZXN0LWNsdWUtdGV4dCB7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC45MmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7Cn0KCi5ibS1zaGFyZWQtZXZpZGVuY2Utc2VjdGlvbiB7CiAgICBtYXJnaW4tdG9wOiAxLjI1ZW07CiAgICBwYWRkaW5nLXRvcDogMWVtOwogICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDIzMywgMjEyLCAxNzAsIDAuMzIpOwp9CgouYm0tc2hhcmVkLWV2aWRlbmNlLXNlY3Rpb24gaDIgewogICAgbWFyZ2luLWJvdHRvbTogMC4xNWVtOwogICAgY29sb3I6ICNmMGRkYjI7Cn0KCi5ibS1ib2FyZC1zZWN0aW9uLW5vdGUgewogICAgbWFyZ2luOiAwIDAgMC43ZW07CiAgICBjb2xvcjogI2NhYmY5ZjsKICAgIGZvbnQtc2l6ZTogMC44MmVtOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7Cn0KCi5ibS1zaGFyZWQtZXZpZGVuY2UtbGlzdCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiAwLjU1ZW07Cn0KCi5ibS1zaGFyZWQtZXZpZGVuY2UtY2FyZCB7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjhlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNzIsIDY2LCA0MywgMC45NCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MCwgMTY1LCAxMDEsIDAuNDgpOwogICAgY29sb3I6ICNlZWUwYmE7CiAgICBmb250LXNpemU6IDAuODZlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7Cn0KCi5ibS1zaGFyZWQtZXZpZGVuY2UtY2FyZCBzcGFuIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDEuMzVlbTsKICAgIGhlaWdodDogMS4zNWVtOwogICAgbWFyZ2luLXJpZ2h0OiAwLjRlbTsKICAgIGJhY2tncm91bmQ6ICM4YjZlMzU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBjb2xvcjogI2ZmZjFjNjsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXdlaWdodDogNzAwOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbGF0ZXN0LWNsdWUgewogICAgYmFja2dyb3VuZDogI2Y0ZTljODsKICAgIGNvbG9yOiAjMTcxNzEyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc2hhcmVkLWV2aWRlbmNlLWNhcmQgewogICAgYmFja2dyb3VuZDogIzMzMmYyMDsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLmJtLWNsdWUtc3VtbWFyeSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIElOVkVTVElHQVRPUiBOT1RFQk9PSyBFWFBBTlNJT04KICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tbm90ZWJvb2stc3VtbWFyeSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOwogICAgZ2FwOiAwLjU1ZW07CiAgICBtYXJnaW4tYm90dG9tOiAwLjg1ZW07Cn0KCi5ibS1ub3RlYm9vay1zdW1tYXJ5LWNhcmQgewogICAgcGFkZGluZzogMC42OGVtIDAuNDVlbTsKICAgIGJhY2tncm91bmQ6ICM1MTNiMzI7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzk1YjQ5OwogICAgY29sb3I6ICNlNWQ3YmE7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC43NGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tbm90ZWJvb2stc3VtbWFyeS1jYXJkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMC4xMmVtOwogICAgY29sb3I6ICNmZmYwY2I7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxLjM1ZW07CiAgICBsaW5lLWhlaWdodDogMS4xOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgouYm0tbm90ZWJvb2stc2VjdGlvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5ibS1ub3RlYm9vay1zZWN0aW9uICsgLmJtLW5vdGVib29rLXNlY3Rpb24gewogICAgbWFyZ2luLXRvcDogMS40ZW07CiAgICBwYWRkaW5nLXRvcDogMS4xZW07CiAgICBib3JkZXItdG9wOiAycHggZGFzaGVkIHJnYmEoOTIsIDc1LCA0OCwgMC4zNCk7Cn0KCi5ibS1ub3RlYm9vay1zZWN0aW9uIGgyIHsKICAgIG1hcmdpbjogMCAwIDAuNGVtOwp9CgouYm0tbm90ZWJvb2stc2VjdGlvbi1ub3RlIHsKICAgIG1hcmdpbjogMCAwIDAuNzVlbTsKICAgIGNvbG9yOiAjNjY2MjUwOwogICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDAuOGVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKfQoKLmJtLW5vdGVib29rLXNoYXJlZC1zZWN0aW9uIGgyIHsKICAgIGNvbG9yOiAjNTM2ZTVhOwp9CgouYm0tbm90ZWJvb2stY29ubmVjdGlvbnMtc2VjdGlvbiBoMiB7CiAgICBjb2xvcjogIzc0MzI0NzsKfQoKLmJtLW5vdGVib29rLWNvbm5lY3Rpb25zLXNlY3Rpb24gLmJtLW5vdGVib29rLWxpc3QgbGkgewogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLW5vdGVib29rLXN1bW1hcnktY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiAjMmQyMzFmOwogICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1ub3RlYm9vay1zZWN0aW9uLW5vdGUgewogICAgY29sb3I6ICMyMDIwMTg7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAuYm0tbm90ZWJvb2stc3VtbWFyeSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB9CgogICAgLmJtLW5vdGVib29rLXN1bW1hcnktY2FyZCBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDEuMTVlbTsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1RBUlQgU0NSRUVOIFRPT0wgVklTSUJJTElUWSBGSVgKICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tc3RhcnQtdG9vbHMgewogICAgZ2FwOiAwLjdyZW07CiAgICBwYWRkaW5nLXRvcDogMS4xcmVtOwp9CgouYm0tc3RhcnQtdG9vbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICBnYXA6IDA7CiAgICBtaW4td2lkdGg6IDEyLjVyZW07CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKLmJtLXN0YXJ0LXRvb2wgLmJtLXRvb2wtaWNvbiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleDogMCAwIDIuNnJlbTsKICAgIHdpZHRoOiAyLjZyZW07CiAgICBoZWlnaHQ6IGF1dG87CiAgICBtaW4taGVpZ2h0OiAyLjZyZW07CiAgICBiYWNrZ3JvdW5kOiAjMjk0ODRjOwogICAgYm9yZGVyOiAxcHggc29saWQgIzFkMzUzODsKICAgIGJvcmRlci1yaWdodDogMDsKICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OwogICAgY29sb3I6ICNmZmYyY2E7CiAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICBib3gtc2hhZG93OiBub25lOwp9CgouYm0tc3RhcnQtdG9vbCBhLAouYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWwsCi5ibS1zdGFydC10b29sIGEubWFjcm8tbGluayB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleDogMSAxIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIG1pbi1oZWlnaHQ6IDIuNnJlbTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwLjU1cmVtIDAuOHJlbTsKICAgIGJhY2tncm91bmQ6ICMzZDYwNjQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjk0ODRjOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBib3gtc2hhZG93OiAwIDRweCA5cHggcmdiYSg0NCwgNDksIDQwLCAwLjE4KTsKICAgIGNvbG9yOiAjZmZmNGQ0OwogICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDAuODhyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwp9CgouYm0tc3RhcnQtdG9vbCBhOmhvdmVyLAouYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5ibS1zdGFydC10b29sIGEubWFjcm8tbGluazpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjODEzNDQ3OwogICAgYm9yZGVyLWNvbG9yOiAjNjkyNTM2OwogICAgY29sb3I6ICNmZmZmZmY7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1zdGFydC10b29sIGE6Zm9jdXMtdmlzaWJsZSwKLmJtLXN0YXJ0LXRvb2wgYS5saW5rLWludGVybmFsOmZvY3VzLXZpc2libGUsCi5ibS1zdGFydC10b29sIGEubWFjcm8tbGluazpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDNweCBzb2xpZCAjODEzNDQ3OwogICAgb3V0bGluZS1vZmZzZXQ6IDNweDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXN0YXJ0LXRvb2wgYSwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXN0YXJ0LXRvb2wgYS5saW5rLWludGVybmFsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc3RhcnQtdG9vbCBhLm1hY3JvLWxpbmsgewogICAgYmFja2dyb3VuZDogIzE3MzgzZDsKICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKICAgIGNvbG9yOiAjZmZmZmZmOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc3RhcnQtdG9vbCAuYm0tdG9vbC1pY29uIHsKICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5ibS1zdGFydC10b29scyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmJtLXN0YXJ0LXRvb2wgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMjJyZW07CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIERJU0NPVkVSRUQgTE9DQVRJT05TIFRPV04gTUFQCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBlbmQgb2YgdGhlIFR3aW5lIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLW1hcC1zdW1tYXJ5IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjdmcikgbWlubWF4KDAsIDEuM2ZyKTsKICAgIGdhcDogMC41NWVtOwogICAgbWFyZ2luLWJvdHRvbTogMC44NWVtOwp9CgouYm0tbWFwLXN1bW1hcnktY2FyZCB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjU1ZW07CiAgICBiYWNrZ3JvdW5kOiAjMzE0ZjUyOwogICAgYm9yZGVyOiAxcHggc29saWQgIzQ5NmQ3MDsKICAgIGNvbG9yOiAjZThkYWI4OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tbWFwLXN1bW1hcnktY2FyZCBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi1ib3R0b206IDAuMTVlbTsKICAgIGNvbG9yOiAjZmZmMGM4OwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMS4zNWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5ibS1tYXAtc3VtbWFyeS1jdXJyZW50IHNwYW4gewogICAgZm9udC1zaXplOiAwLjk1ZW07Cn0KCi5ibS1kaXNjb3ZlcnktbWFwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1pbi1oZWlnaHQ6IDYyMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA3NSUgMjIlLCByZ2JhKDUwLCA5MiwgNzAsIDAuMTgpLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3NCwgNjIsIDM5LCAwLjAyNSkgMCwgcmdiYSg3NCwgNjIsIDM5LCAwLjAyNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDVweCksCiAgICAgICAgI2QyYzU5ZDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTgwNGU7CiAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7Cn0KCi5ibS1tYXAtcGF0aCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgxMDEsIDg1LCA1NSwgMC4yOCk7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg3OCwgNjUsIDQyLCAwLjUyKTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgouYm0tbWFwLXBhdGgtbWFpbiB7CiAgICBsZWZ0OiAtOCU7CiAgICB0b3A6IDQ3JTsKICAgIHdpZHRoOiAxMTYlOwogICAgaGVpZ2h0OiAyLjFlbTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsKfQoKLmJtLW1hcC1wYXRoLXNjaG9vbCB7CiAgICBsZWZ0OiA0OSU7CiAgICB0b3A6IC04JTsKICAgIHdpZHRoOiAyZW07CiAgICBoZWlnaHQ6IDExNSU7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxM2RlZyk7Cn0KCi5ibS1tYXAtcGF0aC13b29kcyB7CiAgICByaWdodDogMTglOwogICAgdG9wOiAyMiU7CiAgICB3aWR0aDogMS41ZW07CiAgICBoZWlnaHQ6IDcyJTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yOGRlZyk7Cn0KCi5ibS1kaXNjb3ZlcnktbG9jYXRpb24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjQ1ZW07CiAgICBtYXgtd2lkdGg6IDIzNXB4Owp9CgouYm0tbG9jYXRpb24tbWFya2VyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmbGV4OiAwIDAgMi4xZW07CiAgICB3aWR0aDogMi4xZW07CiAgICBoZWlnaHQ6IDIuMWVtOwogICAgYmFja2dyb3VuZDogIzQ3Njg1OTsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNlOWRjYjg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2hhZG93OiAwIDRweCA5cHggcmdiYSgwLCAwLCAwLCAwLjMyKTsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1sb2NhdGlvbi1jYXJkIHsKICAgIG1pbi13aWR0aDogMDsKICAgIHBhZGRpbmc6IDAuNTVlbSAwLjY1ZW07CiAgICBiYWNrZ3JvdW5kOiAjZTZkYWI2OwogICAgYm9yZGVyOiAxcHggc29saWQgIzkwNzc0NzsKICAgIGJveC1zaGFkb3c6IDAgNnB4IDEzcHggcmdiYSg1NiwgNDMsIDIyLCAwLjIyKTsKICAgIGNvbG9yOiAjMzAzMTI4Owp9CgouYm0tbG9jYXRpb24tY2FyZCBzdHJvbmcgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogIzY1MzA0NDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7CiAgICBmb250LXNpemU6IDAuOWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMTU7Cn0KCi5ibS1sb2NhdGlvbi1jYXJkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAwLjE1ZW07CiAgICBjb2xvcjogIzU1NTU0NTsKICAgIGZvbnQtc2l6ZTogMC42OGVtOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbi5pcy1jdXJyZW50IC5ibS1sb2NhdGlvbi1tYXJrZXIgewogICAgYmFja2dyb3VuZDogIzg3Mzg0ZDsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDEzNSwgNTYsIDc3LCAwLjIpLCAwIDRweCA5cHggcmdiYSgwLCAwLCAwLCAwLjMyKTsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbi5pcy1jdXJyZW50IC5ibS1sb2NhdGlvbi1jYXJkIHsKICAgIGJvcmRlcjogMnB4IHNvbGlkICM4NzM4NGQ7Cn0KCi5ibS1kaXNjb3ZlcnktbG9jYXRpb24uaXMtbG9ja2VkIHsKICAgIG9wYWNpdHk6IDAuNTg7Cn0KCi5ibS1kaXNjb3ZlcnktbG9jYXRpb24uaXMtbG9ja2VkIC5ibS1sb2NhdGlvbi1tYXJrZXIgewogICAgYmFja2dyb3VuZDogIzY3NjQ1MjsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbi5pcy1sb2NrZWQgLmJtLWxvY2F0aW9uLWNhcmQgewogICAgYmFja2dyb3VuZDogI2M3YmI5OTsKICAgIGZpbHRlcjogZ3JheXNjYWxlKDAuNTUpOwp9CgouYm0tbG9jYXRpb24taG91c2UgewogICAgbGVmdDogNSU7CiAgICB0b3A6IDEwJTsKfQoKLmJtLWxvY2F0aW9uLWVsZW1lbnRhcnkgewogICAgcmlnaHQ6IDUlOwogICAgdG9wOiAxMiU7Cn0KCi5ibS1sb2NhdGlvbi1taWRkbGUgewogICAgbGVmdDogMzYlOwogICAgdG9wOiAzOCU7Cn0KCi5ibS1sb2NhdGlvbi1wYXNzYWdlIHsKICAgIHJpZ2h0OiA2JTsKICAgIGJvdHRvbTogMTclOwp9CgouYm0tbG9jYXRpb24tb2xkLXRvd24gewogICAgbGVmdDogNyU7CiAgICBib3R0b206IDE1JTsKfQoKLmJtLW1hcC1sZWdlbmQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgYm90dG9tOiAyLjIlOwogICAgei1pbmRleDogMzsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogMC43NWVtOwogICAgd2lkdGg6IDgwJTsKICAgIHBhZGRpbmc6IDAuNWVtOwogICAgYmFja2dyb3VuZDogcmdiYSgyMjksIDIxNiwgMTc2LCAwLjg4KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTAsIDcyLCA0MiwgMC4zNSk7CiAgICBjb2xvcjogIzQ2NDczYzsKICAgIGZvbnQtc2l6ZTogMC43ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwp9CgouYm0tbWFwLWxlZ2VuZCBzcGFuIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMC4zZW07Cn0KCi5ibS1tYXAtbGVnZW5kIGkgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDAuOGVtOwogICAgaGVpZ2h0OiAwLjhlbTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKfQoKLmJtLWxlZ2VuZC1mb3VuZCB7CiAgICBiYWNrZ3JvdW5kOiAjNDc2ODU5Owp9CgouYm0tbGVnZW5kLWN1cnJlbnQgewogICAgYmFja2dyb3VuZDogIzg3Mzg0ZDsKfQoKLmJtLWxlZ2VuZC1sb2NrZWQgewogICAgYmFja2dyb3VuZDogIzg1ODA2YjsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWxvY2F0aW9uLWNhcmQgewogICAgYmFja2dyb3VuZDogI2Y1ZTljNjsKICAgIGNvbG9yOiAjMTcxNzEyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbG9jYXRpb24tY2FyZCBzcGFuIHsKICAgIGNvbG9yOiAjMTcxNzEyOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkgewogICAgLmJtLW1hcC1zdW1tYXJ5IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgIH0KCiAgICAuYm0tZGlzY292ZXJ5LW1hcCB7CiAgICAgICAgbWluLWhlaWdodDogNzYwcHg7CiAgICB9CgogICAgLmJtLWRpc2NvdmVyeS1sb2NhdGlvbiB7CiAgICAgICAgbWF4LXdpZHRoOiAxOTBweDsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24taG91c2UgewogICAgICAgIGxlZnQ6IDMlOwogICAgICAgIHRvcDogNyU7CiAgICB9CgogICAgLmJtLWxvY2F0aW9uLWVsZW1lbnRhcnkgewogICAgICAgIHJpZ2h0OiAzJTsKICAgICAgICB0b3A6IDI0JTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tbWlkZGxlIHsKICAgICAgICBsZWZ0OiA4JTsKICAgICAgICB0b3A6IDQyJTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tcGFzc2FnZSB7CiAgICAgICAgcmlnaHQ6IDMlOwogICAgICAgIGJvdHRvbTogMjAlOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1vbGQtdG93biB7CiAgICAgICAgbGVmdDogMyU7CiAgICAgICAgYm90dG9tOiA3JTsKICAgIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMwcHgpIHsKICAgIC5ibS1kaXNjb3ZlcnktbWFwIHsKICAgICAgICBtaW4taGVpZ2h0OiA4NTBweDsKICAgIH0KCiAgICAuYm0tZGlzY292ZXJ5LWxvY2F0aW9uIHsKICAgICAgICBsZWZ0OiA1JTsKICAgICAgICByaWdodDogNSU7CiAgICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1ob3VzZSB7CiAgICAgICAgdG9wOiA1JTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tZWxlbWVudGFyeSB7CiAgICAgICAgdG9wOiAyMyU7CiAgICB9CgogICAgLmJtLWxvY2F0aW9uLW1pZGRsZSB7CiAgICAgICAgdG9wOiA0MSU7CiAgICB9CgogICAgLmJtLWxvY2F0aW9uLXBhc3NhZ2UgewogICAgICAgIHRvcDogNTklOwogICAgICAgIGJvdHRvbTogYXV0bzsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tb2xkLXRvd24gewogICAgICAgIHRvcDogNzclOwogICAgICAgIGJvdHRvbTogYXV0bzsKICAgIH0KCiAgICAuYm0tbWFwLWxlZ2VuZCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTVlTVEVSWSBCQURHRVMKICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tYmFkZ2UtcHJvZ3Jlc3MgewogICAgbWFyZ2luLWJvdHRvbTogMWVtOwogICAgcGFkZGluZzogMC44NWVtOwogICAgYmFja2dyb3VuZDogI2Q4Y2JhNzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM5ZDg1NTU7CiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7CiAgICBjb2xvcjogIzMwMzEyODsKfQoKLmJtLWJhZGdlLXByb2dyZXNzLWNvdW50IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogMC40NWVtOwogICAgbWFyZ2luLWJvdHRvbTogMC41NWVtOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1iYWRnZS1wcm9ncmVzcy1jb3VudCBzdHJvbmcgewogICAgY29sb3I6ICM4MTM0NDc7CiAgICBmb250LXNpemU6IDEuN2VtOwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5ibS1iYWRnZS1wcm9ncmVzcy1jb3VudCBzcGFuIHsKICAgIGNvbG9yOiAjNTU1NTQ1OwogICAgZm9udC1zaXplOiAwLjc4ZW07Cn0KCi5ibS1iYWRnZS1wcm9ncmVzcy10cmFjayB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgaGVpZ2h0OiAwLjdlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNzIsIDY0LCA0NSwgMC4yKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzIsIDY0LCA0NSwgMC4zNSk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKfQoKLmJtLWJhZGdlLXByb2dyZXNzLWZpbGwgewogICAgaGVpZ2h0OiAxMDAlOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNDk2YjU5LCAjODEzNDQ3KTsKICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7Cn0KCi5ibS1iYWRnZS1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDAuOGVtOwp9CgouYm0tYmFkZ2UtY2FyZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtaW4td2lkdGg6IDA7CiAgICBwYWRkaW5nOiAxZW07CiAgICBiYWNrZ3JvdW5kOiAjZDhjYmE3OwogICAgYm9yZGVyOiAxcHggc29saWQgIzlkODU1NTsKICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsKICAgIGNvbG9yOiAjMzAzMTI4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tYmFkZ2UtY2FyZC5pcy1lYXJuZWQgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2U4ZGRiZCwgI2QyYzI5NSk7CiAgICBib3JkZXItY29sb3I6ICNiOTlhNWQ7Cn0KCi5ibS1iYWRnZS1jYXJkLmlzLWxvY2tlZCB7CiAgICBiYWNrZ3JvdW5kOiAjYmRiMzk3OwogICAgZmlsdGVyOiBncmF5c2NhbGUoMC43Mik7CiAgICBvcGFjaXR5OiAwLjc7Cn0KCi5ibS1iYWRnZS1zZWFsIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMy40ZW07CiAgICBoZWlnaHQ6IDMuNGVtOwogICAgbWFyZ2luOiAwIGF1dG8gMC42ZW07CiAgICBiYWNrZ3JvdW5kOiAjNjg2NTU0OwogICAgYm9yZGVyOiA0cHggZG91YmxlICNlZWUwYmE7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDFlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1iYWRnZS1ibHVlIHsKICAgIGJhY2tncm91bmQ6ICM0YzZjN2E7Cn0KCi5ibS1iYWRnZS1nb2xkIHsKICAgIGJhY2tncm91bmQ6ICM4NTZkM2I7Cn0KCi5ibS1iYWRnZS1wdXJwbGUgewogICAgYmFja2dyb3VuZDogIzZkNTE5NjsKfQoKLmJtLWJhZGdlLWdyZWVuIHsKICAgIGJhY2tncm91bmQ6ICM1OTZmNDM7Cn0KCi5ibS1iYWRnZS1yb3NlIHsKICAgIGJhY2tncm91bmQ6ICM4YzYwNzI7Cn0KCi5ibS1iYWRnZS1vcmFuZ2UgewogICAgYmFja2dyb3VuZDogIzk1Njk0MzsKfQoKLmJtLWJhZGdlLWdyb3VwIHsKICAgIGJhY2tncm91bmQ6ICM0MTZiNjg7Cn0KCi5ibS1iYWRnZS1maW5hbCB7CiAgICBiYWNrZ3JvdW5kOiAjODEzNDQ3Owp9CgouYm0tYmFkZ2UtY2FyZCBoMiB7CiAgICBtYXJnaW46IDAgMCAwLjNlbTsKICAgIGNvbG9yOiAjNjczMDQ0OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMS4wNWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKLmJtLWJhZGdlLWNhcmQgcCB7CiAgICBtYXJnaW46IDA7CiAgICBjb2xvcjogIzQ4NDkzZTsKICAgIGZvbnQtc2l6ZTogMC44MmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWJhZGdlLXN0YXR1cyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAwLjdlbTsKICAgIHBhZGRpbmc6IDAuMjVlbSAwLjU1ZW07CiAgICBiYWNrZ3JvdW5kOiAjNDk2YjU5OwogICAgY29sb3I6ICNmZmYwY2Y7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjY2ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1iYWRnZS1jYXJkLmlzLWxvY2tlZCAuYm0tYmFkZ2Utc3RhdHVzIHsKICAgIGJhY2tncm91bmQ6ICM2NjYzNTQ7Cn0KCi5ibS1iYWRnZS1ub3RlIHsKICAgIG1hcmdpbi10b3A6IDFlbTsKICAgIHBhZGRpbmc6IDAuNzVlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNDQsIDY1LCA2NiwgMC41OCk7CiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM2MzhhOGM7CiAgICBjb2xvcjogI2Q5ZDVjNjsKICAgIGZvbnQtc2l6ZTogMC44MmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWJhZGdlLXByb2dyZXNzLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tYmFkZ2UtY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiAjZjNlOGM3OwogICAgY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1iYWRnZS1jYXJkIHAsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1iYWRnZS1wcm9ncmVzcy1jb3VudCBzcGFuIHsKICAgIGNvbG9yOiAjMTcxNzEyOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewogICAgLmJtLWJhZGdlLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCQURHRSBFQVJORUQgTk9USUZJQ0FUSU9OCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBlbmQgb2YgdGhlIFR3aW5lIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWJhZGdlLXRvYXN0IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bzsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNzVlbTsKICAgIG1hcmdpbjogMS4xNWVtIDAgMC4yNWVtOwogICAgcGFkZGluZzogMC44ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZThkZGJkLCAjZDFjMDkyKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNzk1NTQ7CiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM0YzZjN2E7CiAgICBib3gtc2hhZG93OiAwIDlweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC4zMik7CiAgICBjb2xvcjogIzJmMzAyODsKfQoKLmJtLWJhZGdlLXRvYXN0LXNlYWwgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAzLjFlbTsKICAgIGhlaWdodDogMy4xZW07CiAgICBiYWNrZ3JvdW5kOiAjNGM2YzdhOwogICAgYm9yZGVyOiA0cHggZG91YmxlICNmMWUzYmQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2hhZG93OiAwIDRweCA5cHggcmdiYSgwLCAwLCAwLCAwLjI2KTsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tYmFkZ2UtdG9hc3QtY29weSB7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5ibS1iYWRnZS10b2FzdC1raWNrZXIgewogICAgbWFyZ2luLWJvdHRvbTogMC4wOGVtOwogICAgY29sb3I6ICM3NjQwNWE7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjY2ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWJhZGdlLXRvYXN0LWNvcHkgc3Ryb25nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29sb3I6ICM2NTMwNDQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwogICAgZm9udC1zaXplOiAxLjA1ZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwp9CgouYm0tYmFkZ2UtdG9hc3QtY29weSBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLXRvcDogMC4xNmVtOwogICAgY29sb3I6ICM1MDUxNDQ7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC43NmVtOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7Cn0KCi5ibS1iYWRnZS10b2FzdC1hY3Rpb24gYSwKLmJtLWJhZGdlLXRvYXN0LWFjdGlvbiBhLmxpbmstaW50ZXJuYWwsCi5ibS1iYWRnZS10b2FzdC1hY3Rpb24gYS5tYWNyby1saW5rIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogMC41ZW0gMC43ZW07CiAgICBiYWNrZ3JvdW5kOiAjM2Q2MDY0OwogICAgYm9yZGVyOiAxcHggc29saWQgIzI5NDg0YzsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGNvbG9yOiAjZmZmMWNmOwogICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYm0tYmFkZ2UtdG9hc3QtYWN0aW9uIGE6aG92ZXIsCi5ibS1iYWRnZS10b2FzdC1hY3Rpb24gYS5saW5rLWludGVybmFsOmhvdmVyLAouYm0tYmFkZ2UtdG9hc3QtYWN0aW9uIGEubWFjcm8tbGluazpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjODEzNDQ3OwogICAgYm9yZGVyLWNvbG9yOiAjNjkyNTM2OwogICAgY29sb3I6ICNmZmZmZmY7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5ibS10b2FzdC1nb2xkIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjODU2ZDNiOwp9CgouYm0tdG9hc3QtZ29sZCAuYm0tYmFkZ2UtdG9hc3Qtc2VhbCB7CiAgICBiYWNrZ3JvdW5kOiAjODU2ZDNiOwp9CgouYm0tdG9hc3QtcHVycGxlIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNmQ1MTk2Owp9CgouYm0tdG9hc3QtcHVycGxlIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM2ZDUxOTY7Cn0KCi5ibS10b2FzdC1ncmVlbiB7CiAgICBib3JkZXItbGVmdC1jb2xvcjogIzU5NmY0MzsKfQoKLmJtLXRvYXN0LWdyZWVuIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM1OTZmNDM7Cn0KCi5ibS10b2FzdC1yb3NlIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOGM2MDcyOwp9CgouYm0tdG9hc3Qtcm9zZSAuYm0tYmFkZ2UtdG9hc3Qtc2VhbCB7CiAgICBiYWNrZ3JvdW5kOiAjOGM2MDcyOwp9CgouYm0tdG9hc3Qtb3JhbmdlIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTU2OTQzOwp9CgouYm0tdG9hc3Qtb3JhbmdlIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM5NTY5NDM7Cn0KCi5ibS10b2FzdC10ZWFsIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNDE2YjY4Owp9CgouYm0tdG9hc3QtdGVhbCAuYm0tYmFkZ2UtdG9hc3Qtc2VhbCB7CiAgICBiYWNrZ3JvdW5kOiAjNDE2YjY4Owp9CgouYm0tdG9hc3QtYnVyZ3VuZHkgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM4MTM0NDc7Cn0KCi5ibS10b2FzdC1idXJndW5keSAuYm0tYmFkZ2UtdG9hc3Qtc2VhbCB7CiAgICBiYWNrZ3JvdW5kOiAjODEzNDQ3Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tYmFkZ2UtdG9hc3QgewogICAgYmFja2dyb3VuZDogI2Y0ZTljODsKICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKICAgIGNvbG9yOiAjMTcxNzEyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tYmFkZ2UtdG9hc3QtY29weSBzcGFuIHsKICAgIGNvbG9yOiAjMTcxNzEyOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewogICAgLmJtLWJhZGdlLXRvYXN0IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7CiAgICB9CgogICAgLmJtLWJhZGdlLXRvYXN0LWFjdGlvbiB7CiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgVElFUkVEIEJBREdFIENBQklORVQKICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5ibS1jYWJpbmV0LXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKTtnYXA6LjU1ZW07bWFyZ2luLWJvdHRvbToxZW19LmJtLWNhYmluZXQtc3VtbWFyeS1jYXJke3BhZGRpbmc6LjdlbSAuNGVtO2JhY2tncm91bmQ6IzMxNGY1Mjtib3JkZXI6MXB4IHNvbGlkICM0OTZkNzA7Y29sb3I6I2U4ZGFiODtmb250LXNpemU6LjcyZW07Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVyfS5ibS1jYWJpbmV0LXN1bW1hcnktY2FyZCBzcGFue2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2ZmZjBjODtmb250LWZhbWlseToiQ291cmllciBOZXciLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxLjM1ZW19LmJtLWNhYmluZXQtc3VtbWFyeS1jYXJkLmlzLXJhcmV7YmFja2dyb3VuZDojNTU1OTY0O2JvcmRlci1jb2xvcjojODI4ODk1fS5ibS1jYWJpbmV0LXN1bW1hcnktY2FyZC5pcy1zZWNyZXR7YmFja2dyb3VuZDojM2YzMDRiO2JvcmRlci1jb2xvcjojNzM1NjhhfS5ibS1jYWJpbmV0e21hcmdpbi10b3A6MS4yZW07cGFkZGluZzoxZW07YmFja2dyb3VuZDojMmMyMTFhO2JvcmRlcjo4cHggc29saWQgIzE3MTEwZTtib3gtc2hhZG93OjAgMTVweCAzNXB4IHJnYmEoMCwwLDAsLjQ1KSxpbnNldCAwIDAgMjhweCByZ2JhKDAsMCwwLC4zMil9LmJtLWNhYmluZXQtaGVhZGluZ3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjFlbTttYXJnaW4tYm90dG9tOi44ZW07cGFkZGluZzouN2VtO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCM2YzRiMmYsIzNkMmIyMCk7Ym9yZGVyOjFweCBzb2xpZCAjOTI3MDRjfS5ibS1jYWJpbmV0LWhlYWRpbmcgaDJ7bWFyZ2luOi4xZW0gMCAwO3BhZGRpbmc6MDtjb2xvcjojZjFkZmI2O2ZvbnQtc2l6ZToxLjI1ZW19LmJtLWNhYmluZXQtaGVhZGluZyBoMjo6YWZ0ZXJ7ZGlzcGxheTpub25lfS5ibS1jYWJpbmV0LXRpZXJ7Y29sb3I6I2Q1Yjk3YTtmb250LWZhbWlseToiQ291cmllciBOZXciLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZTouNjVlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmJtLWNhYmluZXQtY291bnR7Y29sb3I6I2YzZTRjMTtmb250LWZhbWlseToiQ291cmllciBOZXciLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZTouNzZlbTtmb250LXdlaWdodDo3MDB9LmJtLWNhYmluZXQtc2hlbGZ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKTtnYXA6LjdlbTtwYWRkaW5nOi44NWVtO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMzkyOTFmLCMyNDFhMTUpO2JvcmRlci1ib3R0b206MTJweCBzb2xpZCAjNWMzZjI5O2JveC1zaGFkb3c6aW5zZXQgMCAtNXB4IDhweCByZ2JhKDAsMCwwLC40NSl9LmJtLWNhYmluZXQtYmFkZ2V7bWluLXdpZHRoOjA7cGFkZGluZzouNzVlbSAuNWVtO2JhY2tncm91bmQ6I2Q4Y2JhNztib3JkZXI6MXB4IHNvbGlkICM5ZDg1NTU7Y29sb3I6IzMwMzEyODt0ZXh0LWFsaWduOmNlbnRlcn0uYm0tY2FiaW5ldC1iYWRnZS5pcy1sb2NrZWR7YmFja2dyb3VuZDojOTM4Yjc3O2ZpbHRlcjpncmF5c2NhbGUoLjgpO29wYWNpdHk6LjYyfS5ibS1jYWJpbmV0LWJhZGdlLmlzLWhpZGRlbntiYWNrZ3JvdW5kOiMyODIzMzE7Ym9yZGVyOjFweCBzb2xpZCAjNjU1NDc3O2NvbG9yOiNjZmM1ZDl9LmJtLWNhYmluZXQtbWVkYWx7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMuMjVlbTtoZWlnaHQ6My4yNWVtO21hcmdpbjowIGF1dG8gLjVlbTtiYWNrZ3JvdW5kOiM2NjYzNTQ7Ym9yZGVyOjRweCBkb3VibGUgI2VmZTFiYTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMyk7Y29sb3I6I2ZmZjtmb250LWZhbWlseToiQ291cmllciBOZXciLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZTouOTVlbTtmb250LXdlaWdodDo3MDB9LmJtLWNhYmluZXQtYmFkZ2UgaDN7bWFyZ2luOjA7Y29sb3I6IzY3MzA0NDtmb250LXNpemU6LjllbTtsaW5lLWhlaWdodDoxLjJ9LmJtLWNhYmluZXQtYmFkZ2UgcHttYXJnaW46LjNlbSAwIDA7Y29sb3I6IzRjNGQ0MTtmb250LXNpemU6LjdlbTtsaW5lLWhlaWdodDoxLjM1O3RleHQtYWxpZ246Y2VudGVyfS5ibS1jYWJpbmV0LWJhZGdlLmlzLWhpZGRlbiBoMywuYm0tY2FiaW5ldC1iYWRnZS5pcy1oaWRkZW4gcHtjb2xvcjojZDhjZGUyfS5ibS1jYWJpbmV0LXN0YXR1c3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOi41NWVtO3BhZGRpbmc6LjJlbSAuNGVtO2JhY2tncm91bmQ6IzQ5NmI1OTtjb2xvcjojZmZmMGNmO2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOi41N2VtO2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmlzLWxvY2tlZCAuYm0tY2FiaW5ldC1zdGF0dXN7YmFja2dyb3VuZDojNjY2MzU0fS5pcy1oaWRkZW4gLmJtLWNhYmluZXQtc3RhdHVze2JhY2tncm91bmQ6IzVmNDY3Mn0udGllci1yYXJlLmlzLWVhcm5lZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2VjZThkYywjYWFhZWJhKTtib3JkZXItY29sb3I6I2Q3ZDlkZn0udGllci1zZWNyZXQuaXMtZWFybmVke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZGRkMGU4LCM4YzZhYTMpO2JvcmRlci1jb2xvcjojZDViOWU4fS5jb2xvci1ibHVlIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzRjNmM3YX0uY29sb3ItZ29sZCAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM4NTZkM2J9LmNvbG9yLXB1cnBsZSAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM2ZDUxOTZ9LmNvbG9yLWdyZWVuIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzU5NmY0M30uY29sb3Itcm9zZSAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM4YzYwNzJ9LmNvbG9yLW9yYW5nZSAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM5NTY5NDN9LmNvbG9yLXRlYWwgLmJtLWNhYmluZXQtbWVkYWx7YmFja2dyb3VuZDojNDE2YjY4fS5jb2xvci1idXJndW5keSAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM4MTM0NDd9LmNvbG9yLXNpbHZlciAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM2Yzc0ODJ9LmNvbG9yLXNlY3JldCAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM1OTNkNmN9LmJtLXNlY3JldC1pbnRyb3ttYXJnaW46MCAwIC44ZW07Y29sb3I6I2NmYzNkODtmb250LXNpemU6LjhlbTt0ZXh0LWFsaWduOmNlbnRlcn0uYm0tY2VydGlmaWNhdGUtcHJldmlld3ttYXJnaW4tdG9wOjFlbTtwYWRkaW5nOi44ZW07YmFja2dyb3VuZDojZDhjYmE3O2JvcmRlcjoxcHggc29saWQgIzlkODU1NTtjb2xvcjojMzAzMTI4O3RleHQtYWxpZ246Y2VudGVyfS5ibS1jZXJ0aWZpY2F0ZS1wcmV2aWV3IHN0cm9uZywuYm0tY2VydGlmaWNhdGUtcHJldmlldyBzcGFue2Rpc3BsYXk6YmxvY2t9LmJtLWNlcnRpZmljYXRlLXByZXZpZXcgc3Ryb25ne2NvbG9yOiM4MTM0NDd9LmJtLWNlcnRpZmljYXRlLXByZXZpZXcgc3BhbnttYXJnaW4tdG9wOi4yZW07Zm9udC1zaXplOi43OGVtfS5ibS10b2FzdC1zaWx2ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6IzdmODc5NH0uYm0tdG9hc3Qtc2lsdmVyIC5ibS1iYWRnZS10b2FzdC1zZWFse2JhY2tncm91bmQ6IzZjNzQ4Mn0uYm0tdG9hc3Qtc2VjcmV0e2JvcmRlci1sZWZ0LWNvbG9yOiM3MzU2OGF9LmJtLXRvYXN0LXNlY3JldCAuYm0tYmFkZ2UtdG9hc3Qtc2VhbHtiYWNrZ3JvdW5kOiM1OTNkNmN9LmJtLWljb24tYmFkZ2V7YmFja2dyb3VuZDojNmQ1MTk2fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODUwcHgpey5ibS1jYWJpbmV0LXNoZWxme2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uYm0tY2FiaW5ldC1zdW1tYXJ5e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7LmJtLWNhYmluZXQtc2hlbGYsLmJtLWNhYmluZXQtc3VtbWFyeXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5ibS1jYWJpbmV0LWhlYWRpbmd7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmJtLWNhYmluZXR7cGFkZGluZzouNTVlbTtib3JkZXItd2lkdGg6NXB4fX0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1RBUlQgRk9PVEVSIENFTlRFUklORyBBTkQgQk9PSyBMSU5LIC0gRklOQUwgT1ZFUlJJREUKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWZvb3RlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAxOwogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDEuMzVyZW0gYXV0byAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogIzVkNTk0YjsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuOXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS40NTsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWZvb3Rlci1wcmVmaXggewogICAgZGlzcGxheTogaW5saW5lOwogICAgY29sb3I6ICM1ZDU5NGI7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1mb290ZXItcHJlZml4OjphZnRlciB7CiAgICBjb250ZW50OiAiICI7Cn0KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtYm9vay1saW5rLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluay5saW5rLWV4dGVybmFsIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwogICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjksIDUyLCA3MSwgMC40OCkgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjODEzNDQ3ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbms6OmJlZm9yZSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbms6OmFmdGVyLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluay5saW5rLWV4dGVybmFsOjpiZWZvcmUsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtYm9vay1saW5rLmxpbmstZXh0ZXJuYWw6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbms6aG92ZXIsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtYm9vay1saW5rLmxpbmstZXh0ZXJuYWw6aG92ZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzNTU5NWQgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjMzU1OTVkICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbms6Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAzcHggc29saWQgIzgxMzQ0NzsKICAgIG91dGxpbmUtb2Zmc2V0OiA0cHg7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtZm9vdGVyLXByZWZpeCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbmsgewogICAgY29sb3I6ICMxNzE3MTIgIWltcG9ydGFudDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtZm9vdGVyIHsKICAgICAgICBwYWRkaW5nOiAwIDAuNDVyZW0gIWltcG9ydGFudDsKICAgICAgICBmb250LXNpemU6IDAuODZyZW07CiAgICB9CgogICAgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1mb290ZXItcHJlZml4LAogICAgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbmsgewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1mb290ZXItcHJlZml4OjphZnRlciB7CiAgICAgICAgY29udGVudDogbm9uZTsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1RBUlQgU0NSRUVOIERFU0NSSVBUSU9OIEFORCBDSE9JQ0VTIEZPTlQKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWRlc2NyaXB0aW9uLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LW5vdGUsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtbm90ZSBzdHJvbmcgewogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1kZXNjcmlwdGlvbiB7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ub3RlIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMTVlbTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ub3RlIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNzAwOwp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVEFSVCBTQ1JFRU4gQUNUSU9OIEFORCBUT09MIEZPTlRTCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1wcmltYXJ5IGEsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtcHJpbWFyeSBhLmxpbmstaW50ZXJuYWwsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtc2Vjb25kYXJ5IGEsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtc2Vjb25kYXJ5IGEubWFjcm8tbGluaywKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1wcmltYXJ5ID4gc3BhbiwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1zZWNvbmRhcnkgPiBzcGFuLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXRvb2wgYSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC10b29sIGEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC10b29sIGEubWFjcm8tbGluayB7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXByaW1hcnkgPiBzcGFuLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXNlY29uZGFyeSA+IHNwYW4gewogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07Cn0KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtdG9vbCBhLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXRvb2wgYS5saW5rLWludGVybmFsLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJMQUNLV09PRCBTVUdBUkNVQkUgU1lTVEVNIENPTlRST0xTCiAgIFNhdmVzLCBTZXR0aW5ncywgYW5kIFJlc3RhcnQgdGhlbWUKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiBTaWRlYmFyIHN5c3RlbSBtZW51IGl0ZW1zLiAqLwojbWVudS1pdGVtLXNhdmVzIGEsCiNtZW51LWl0ZW0tc2V0dGluZ3MgYSwKI21lbnUtaXRlbS1yZXN0YXJ0IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBtaW4taGVpZ2h0OiAyLjdlbTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBwYWRkaW5nOiAwLjYyZW0gMC43MmVtIDAuNjJlbSAzLjJlbTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzMTRmNTIsICMyMDM4M2IpOwogICAgYm9yZGVyOiAxcHggc29saWQgIzQ4NjY2YTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI4KTsKICAgIGNvbG9yOiAjZjBkZmI4OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CiAgICBmb250LXNpemU6IDAuODZlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCiNtZW51LWl0ZW0tc2F2ZXMgYTo6YmVmb3JlLAojbWVudS1pdGVtLXNldHRpbmdzIGE6OmJlZm9yZSwKI21lbnUtaXRlbS1yZXN0YXJ0IGE6OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwLjcyZW07CiAgICB0b3A6IDUwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMS43NWVtOwogICAgaGVpZ2h0OiAxLjc1ZW07CiAgICBiYWNrZ3JvdW5kOiAjN2IzYTRjOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDAsIDIyMCwgMTc3LCAwLjM0KTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZmZmMGM4OwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC44NmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKfQoKI21lbnUtaXRlbS1zYXZlcyBhOjpiZWZvcmUgewogICAgY29udGVudDogIlMiOwogICAgYmFja2dyb3VuZDogIzU1NmY0YjsKfQoKI21lbnUtaXRlbS1zZXR0aW5ncyBhOjpiZWZvcmUgewogICAgY29udGVudDogIlIiOwogICAgYmFja2dyb3VuZDogIzQxNjY2ODsKfQoKI21lbnUtaXRlbS1yZXN0YXJ0IGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiISI7CiAgICBiYWNrZ3JvdW5kOiAjN2IzYTRjOwp9CgojbWVudS1pdGVtLXNhdmVzIGE6aG92ZXIsCiNtZW51LWl0ZW0tc2V0dGluZ3MgYTpob3ZlciwKI21lbnUtaXRlbS1yZXN0YXJ0IGE6aG92ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzhmNDA1NSwgIzZlMmQ0MCk7CiAgICBib3JkZXItY29sb3I6ICNhODVhNmU7CiAgICBjb2xvcjogI2ZmZjJkMjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKI21lbnUtaXRlbS1zYXZlcyBhOmZvY3VzLXZpc2libGUsCiNtZW51LWl0ZW0tc2V0dGluZ3MgYTpmb2N1cy12aXNpYmxlLAojbWVudS1pdGVtLXJlc3RhcnQgYTpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDNweCBzb2xpZCAjZDBhZDY4OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKfQoKLyogU2hhcmVkIGRpYWxvZyBmcmFtZS4gKi8KI3VpLWRpYWxvZyB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwp9CgojdWktZGlhbG9nLXRpdGxlYmFyIHsKICAgIHBhZGRpbmc6IDAuN2VtIDMuMmVtIDAuN2VtIDFlbTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzgxMzQ0NywgIzRkMmUzOCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYTU1NTZhOwogICAgYm9yZGVyLWJvdHRvbTogMDsKICAgIGNvbG9yOiAjZjRlM2JkOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsKfQoKI3VpLWRpYWxvZy10aXRsZSB7CiAgICBjb2xvcjogI2Y0ZTNiZDsKfQoKI3VpLWRpYWxvZy1jbG9zZSB7CiAgICB0b3A6IDUwJTsKICAgIHJpZ2h0OiAwLjYyZW07CiAgICB3aWR0aDogMmVtOwogICAgaGVpZ2h0OiAyZW07CiAgICBtYXJnaW46IDA7CiAgICBiYWNrZ3JvdW5kOiAjMmI0NTQ4OwogICAgYm9yZGVyOiAxcHggc29saWQgIzZmOGE4ZDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZmZmMGM4OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwp9CgojdWktZGlhbG9nLWNsb3NlOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICNhMjQ2NWQ7CiAgICBib3JkZXItY29sb3I6ICNkMTg0OTY7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKI3VpLWRpYWxvZy1ib2R5IHsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKICAgICAgICAgICAgMGRlZywKICAgICAgICAgICAgcmdiYSg3NiwgNTgsIDMxLCAwLjAzKSAwLAogICAgICAgICAgICByZ2JhKDc2LCA1OCwgMzEsIDAuMDMpIDFweCwKICAgICAgICAgICAgdHJhbnNwYXJlbnQgMXB4LAogICAgICAgICAgICB0cmFuc3BhcmVudCA1cHgKICAgICAgICApLAogICAgICAgICNkOGNiYTc7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWQ4NTU1OwogICAgYm94LXNoYWRvdzogMCAyMnB4IDU1cHggcmdiYSgwLCAwLCAwLCAwLjUyKTsKICAgIGNvbG9yOiAjMzAzMTI4Owp9CgojdWktZGlhbG9nLWJvZHkgaDIsCiN1aS1kaWFsb2ctYm9keSBoMyB7CiAgICBjb2xvcjogIzcwMzI0NzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwp9CgojdWktZGlhbG9nLWJvZHkgcCwKI3VpLWRpYWxvZy1ib2R5IGxhYmVsLAojdWktZGlhbG9nLWJvZHkgLnNldHRpbmctZGVzYyB7CiAgICBjb2xvcjogIzQ1NDYzYjsKfQoKLyogRGlhbG9nIGJ1dHRvbnMuICovCiN1aS1kaWFsb2ctYm9keSBidXR0b24sCiN1aS1kaWFsb2ctYm9keSAuYnV0dG9ucyBidXR0b24sCiN1aS1kaWFsb2ctYm9keSAudWktY2xvc2UgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzNmNjI2NiwgIzI5NDc0YSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjQ0MDQ0OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgYm94LXNoYWRvdzogMCA0cHggOXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgIGNvbG9yOiAjZmZmMGNhOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgojdWktZGlhbG9nLWJvZHkgYnV0dG9uOmhvdmVyLAojdWktZGlhbG9nLWJvZHkgLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLAojdWktZGlhbG9nLWJvZHkgLnVpLWNsb3NlOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM5OTQ2NWQsICM3MTMwNDQpOwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCiN1aS1kaWFsb2ctYm9keSBidXR0b246Zm9jdXMtdmlzaWJsZSwKI3VpLWRpYWxvZy1ib2R5IHNlbGVjdDpmb2N1cy12aXNpYmxlLAojdWktZGlhbG9nLWJvZHkgaW5wdXQ6Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAzcHggc29saWQgIzgxMzQ0NzsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KCi8qIFNhdmVzIGRpYWxvZyBhcyBhIENhc2UgQXJjaGl2ZS4gKi8KI3VpLWRpYWxvZy1ib2R5LnNhdmVzIGgyIHsKICAgIG1hcmdpbjogMC44ZW0gMCAwLjVlbTsKICAgIHBhZGRpbmctYm90dG9tOiAwLjM1ZW07CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMDMsIDc3LCAzOSwgMC4zNSk7CiAgICBjb2xvcjogIzcwMzI0NzsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKICAgIGJvcmRlci1zcGFjaW5nOiAwIDAuNDhlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyMzAsIDE5NSwgMC44Mik7CiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoNzAsIDUyLCAyNSwgMC4xNik7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZCB7CiAgICBwYWRkaW5nOiAwLjZlbTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDExOSwgOTIsIDQ4LCAwLjMyKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExOSwgOTIsIDQ4LCAwLjMyKTsKICAgIGNvbG9yOiAjMzYzNzJlOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQ6Zmlyc3QtY2hpbGQgewogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjODEzNDQ3Owp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQ6bGFzdC1jaGlsZCB7CiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDExOSwgOTIsIDQ4LCAwLjMyKTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5lbXB0eSB7CiAgICBjb2xvcjogIzZiNjc1NjsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIGJ1dHRvbi5zYXZlIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM2MDdiNTEsICM0MzVkM2IpOwogICAgYm9yZGVyLWNvbG9yOiAjMzY0ZjMxOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgYnV0dG9uLmxvYWQgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzQ2NmI3MCwgIzJkNGY1Myk7CiAgICBib3JkZXItY29sb3I6ICMyNzQ2NGE7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyBidXR0b24uZGVsZXRlIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM4ZDQ4NTcsICM2NjMxM2UpOwogICAgYm9yZGVyLWNvbG9yOiAjNTcyNzMzOwp9CgovKiBSZWFkaW5nIHNldHRpbmdzIGNvbnRyb2xzLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctYm9keSB7CiAgICBtYXJnaW46IDAuNjVlbSAwOwogICAgcGFkZGluZzogMC43NWVtOwogICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDIzMCwgMTk1LCAwLjcyKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNDE2NjY4Owp9CgojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctbGFiZWwgewogICAgY29sb3I6ICM3MDMyNDc7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBzZWxlY3QsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBpbnB1dCB7CiAgICBiYWNrZ3JvdW5kOiAjZjNlN2M1OwogICAgYm9yZGVyOiAxcHggc29saWQgIzhkNzc0ZDsKICAgIGNvbG9yOiAjMjkyYTIzOwp9CgovKiBSZXN0YXJ0IHdhcm5pbmcuICovCiN1aS1kaWFsb2ctYm9keS5yZXN0YXJ0IHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKI3VpLWRpYWxvZy1ib2R5LnJlc3RhcnQgcCB7CiAgICBtYXgtd2lkdGg6IDM0ZW07CiAgICBtYXJnaW46IDFlbSBhdXRvOwogICAgZm9udC1zaXplOiAxZW07CiAgICBsaW5lLWhlaWdodDogMS41Owp9CgojdWktZGlhbG9nLWJvZHkucmVzdGFydCAjcmVzdGFydC1vayB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOTk0NjVkLCAjNzEzMDQ0KTsKICAgIGJvcmRlci1jb2xvcjogI2E4NWE2ZTsKfQoKI3VpLWRpYWxvZy1ib2R5LnJlc3RhcnQgI3Jlc3RhcnQtY2FuY2VsIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM0NjZiNzAsICMyZDRmNTMpOwogICAgYm9yZGVyLWNvbG9yOiAjMjc0NjRhOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkgewogICAgYmFja2dyb3VuZDogI2Y0ZTljODsKICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKICAgIGNvbG9yOiAjMTcxNzEyOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkgcCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5IGxhYmVsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkgdGQgewogICAgY29sb3I6ICMxNzE3MTI7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAjdWktZGlhbG9nLWJvZHkgewogICAgICAgIHBhZGRpbmc6IDAuNzVlbTsKICAgIH0KCiAgICAjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGFibGUsCiAgICAjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGJvZHksCiAgICAjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHIsCiAgICAjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB9CgogICAgI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDExOSwgOTIsIDQ4LCAwLjMyKTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwogICAgfQoKICAgICN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjODEzNDQ3OwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVUdBUkNVQkUgU1lTVEVNIE1FTlUgSUNPTiBBTkQgQUxJR05NRU5UIEZJWAogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIEtlZXAgdGhlIHRocmVlIHN5c3RlbSBjb250cm9scyBpbnNpZGUgdGhlIHNpZGViYXIgd2lkdGguICovCiNtZW51LWl0ZW0tc2F2ZXMsCiNtZW51LWl0ZW0tc2V0dGluZ3MsCiNtZW51LWl0ZW0tcmVzdGFydCB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Owp9CgovKiBSZXNldCBTdWdhckN1YmUgYW5kIGVhcmxpZXIgdGhlbWUgcG9zaXRpb25pbmcgb24gdGhlIGxpbmtzLiAqLwojbWVudS1pdGVtLXNhdmVzID4gYSwKI21lbnUtaXRlbS1zZXR0aW5ncyA+IGEsCiNtZW51LWl0ZW0tcmVzdGFydCA+IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtaW4taGVpZ2h0OiAzLjM1cmVtICFpbXBvcnRhbnQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAuNzJyZW0gMC44NXJlbSAwLjcycmVtIDQuMTVyZW0gIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yOCkgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZjBkZmI4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIFJlcGxhY2UgU3VnYXJDdWJlJ3MgaWNvbi1mb250IGdseXBoIHdpdGggYSBjb250cm9sbGVkIHRoZW1lZCBiYWRnZS4gKi8KI21lbnUtaXRlbS1zYXZlcyA+IGE6OmJlZm9yZSwKI21lbnUtaXRlbS1zZXR0aW5ncyA+IGE6OmJlZm9yZSwKI21lbnUtaXRlbS1yZXN0YXJ0ID4gYTo6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogICAgbGVmdDogMC45cmVtICFpbXBvcnRhbnQ7CiAgICB0b3A6IDUwJSAhaW1wb3J0YW50OwogICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgIHdpZHRoOiAyLjE1cmVtICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDQsIDIyNSwgMTg0LCAwLjQyKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjBjOCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OwogICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tc2F2ZXMgPiBhOjpiZWZvcmUgewogICAgY29udGVudDogIlMiICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNjA3OTRmICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tc2V0dGluZ3MgPiBhOjpiZWZvcmUgewogICAgY29udGVudDogIlIiICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNDE2NjY4ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tcmVzdGFydCA+IGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiISIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM4YTNkNTIgIWltcG9ydGFudDsKfQoKLyogRG8gbm90IGFsbG93IGEgc2Vjb25kIGljb24gb24gdGhlIHJpZ2h0IHNpZGUuICovCiNtZW51LWl0ZW0tc2F2ZXMgPiBhOjphZnRlciwKI21lbnUtaXRlbS1zZXR0aW5ncyA+IGE6OmFmdGVyLAojbWVudS1pdGVtLXJlc3RhcnQgPiBhOjphZnRlciB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tc2F2ZXMgPiBhOmhvdmVyLAojbWVudS1pdGVtLXNldHRpbmdzID4gYTpob3ZlciwKI21lbnUtaXRlbS1yZXN0YXJ0ID4gYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjJkMiAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLXNhdmVzID4gYTpmb2N1cy12aXNpYmxlLAojbWVudS1pdGVtLXNldHRpbmdzID4gYTpmb2N1cy12aXNpYmxlLAojbWVudS1pdGVtLXJlc3RhcnQgPiBhOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogM3B4IHNvbGlkICNkMGFkNjggIWltcG9ydGFudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICNtZW51LWl0ZW0tc2F2ZXMgPiBhLAogICAgI21lbnUtaXRlbS1zZXR0aW5ncyA+IGEsCiAgICAjbWVudS1pdGVtLXJlc3RhcnQgPiBhIHsKICAgICAgICBtaW4taGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjhyZW0gIWltcG9ydGFudDsKICAgICAgICBmb250LXNpemU6IDAuOTJyZW0gIWltcG9ydGFudDsKICAgIH0KCiAgICAjbWVudS1pdGVtLXNhdmVzID4gYTo6YmVmb3JlLAogICAgI21lbnUtaXRlbS1zZXR0aW5ncyA+IGE6OmJlZm9yZSwKICAgICNtZW51LWl0ZW0tcmVzdGFydCA+IGE6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogMC44cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6IDJyZW0gIWltcG9ydGFudDsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkFER0UgQ0FCSU5FVCBJTUFHRSBBUlRXT1JLCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWNhYmluZXQtYXJ0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogOS41cmVtOwogICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsKICAgIG1hcmdpbjogMCBhdXRvIDAuNTVlbTsKfQoKLmJtLWNhYmluZXQtYXJ0IGltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC40MikpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwp9CgouYm0tY2FiaW5ldC1iYWRnZS5pcy1lYXJuZWQgLmJtLWNhYmluZXQtYXJ0IGltZyB7CiAgICBvcGFjaXR5OiAxOwogICAgZmlsdGVyOgogICAgICAgIHNhdHVyYXRlKDEuMDgpCiAgICAgICAgY29udHJhc3QoMS4wMykKICAgICAgICBkcm9wLXNoYWRvdygwIDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjQ4KSk7Cn0KCi5ibS1jYWJpbmV0LWJhZGdlLmlzLWVhcm5lZDpob3ZlciAuYm0tY2FiaW5ldC1hcnQgaW1nIHsKICAgIGZpbHRlcjoKICAgICAgICBzYXR1cmF0ZSgxLjIpCiAgICAgICAgYnJpZ2h0bmVzcygxLjA2KQogICAgICAgIGRyb3Atc2hhZG93KDAgOHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjU1KSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGUoMS4wMjUpOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGZpbHRlciAxNjBtcyBlYXNlOwp9CgouYm0tY2FiaW5ldC1iYWRnZS5pcy1sb2NrZWQgLmJtLWNhYmluZXQtYXJ0IGltZyB7CiAgICBvcGFjaXR5OiAwLjI4OwogICAgZmlsdGVyOgogICAgICAgIGdyYXlzY2FsZSgxKQogICAgICAgIGJyaWdodG5lc3MoMC40OCkKICAgICAgICBjb250cmFzdCgxLjE1KQogICAgICAgIGRyb3Atc2hhZG93KDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzUpKTsKfQoKLmJtLWNhYmluZXQtYmFkZ2UuaXMtbG9ja2VkIC5ibS1jYWJpbmV0LWFydDo6YWZ0ZXIgewogICAgY29udGVudDogIj8iOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9wOiA1MCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDIuNHJlbTsKICAgIGhlaWdodDogMi40cmVtOwogICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzEsIDI3LCAwLjg4KTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjM5LCAyMjUsIDE4NiwgMC42OCk7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40OCk7CiAgICBjb2xvcjogI2YwZGZiODsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7CiAgICBmb250LXNpemU6IDEuMzVyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7Cn0KCi5ibS1jYWJpbmV0LXNlY3JldC1jb3ZlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDkuNXJlbTsKICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7CiAgICBtYXJnaW46IDAgYXV0byAwLjU1ZW07CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDoKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDUwJSA0MiUsIHJnYmEoMTEyLCA3OCwgMTMyLCAwLjMyKSwgdHJhbnNwYXJlbnQgNDIlKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjMjkyMDJmLCAjMTUxMTE5KTsKICAgIGJvcmRlcjogMnB4IHNvbGlkICM2YTRkNzk7CiAgICBib3JkZXItcmFkaXVzOiAyMiUgMjIlIDE0JSAxNCU7CiAgICBib3gtc2hhZG93OgogICAgICAgIGluc2V0IDAgMCAyNHB4IHJnYmEoMCwgMCwgMCwgMC43MiksCiAgICAgICAgMCA2cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNDIpOwp9CgouYm0tY2FiaW5ldC1zZWNyZXQtY292ZXI6OmJlZm9yZSwKLmJtLWNhYmluZXQtc2VjcmV0LWNvdmVyOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIHdpZHRoOiA1NCU7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMxNzEyMWIsICM0YjM0NTkgNzIlLCAjMjQxYTJiKTsKfQoKLmJtLWNhYmluZXQtc2VjcmV0LWNvdmVyOjpiZWZvcmUgewogICAgbGVmdDogMDsKICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgNzYlIDQ4JSwgMTAwJSAxMDAlLCAwIDEwMCUpOwp9CgouYm0tY2FiaW5ldC1zZWNyZXQtY292ZXI6OmFmdGVyIHsKICAgIHJpZ2h0OiAwOwogICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMjQlIDQ4JSk7Cn0KCi5ibS1jYWJpbmV0LXNlY3JldC1jb3ZlciBzcGFuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDIuNzVyZW07CiAgICBoZWlnaHQ6IDIuNzVyZW07CiAgICBiYWNrZ3JvdW5kOiAjMTkxNTFjOwogICAgYm9yZGVyOiAycHggc29saWQgI2EzODJiNDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZThkN2VmOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWNhYmluZXQtYmFkZ2UgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi5ibS1jYWJpbmV0LWJhZGdlIGgzIHsKICAgIG1pbi1oZWlnaHQ6IDIuMzVlbTsKfQoKLmJtLWNhYmluZXQtYmFkZ2UgcCB7CiAgICBmbGV4OiAxIDEgYXV0bzsKfQoKLmJtLWNhYmluZXQtc3RhdHVzIHsKICAgIGFsaWduLXNlbGY6IGNlbnRlcjsKfQoKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmJtLWNhYmluZXQtYmFkZ2UuaXMtZWFybmVkOmhvdmVyIC5ibS1jYWJpbmV0LWFydCBpbWcgewogICAgdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNpdGlvbjogbm9uZTsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAgIC5ibS1jYWJpbmV0LWJhZGdlLmlzLWVhcm5lZDpob3ZlciAuYm0tY2FiaW5ldC1hcnQgaW1nIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHsKICAgIC5ibS1jYWJpbmV0LWFydCwKICAgIC5ibS1jYWJpbmV0LXNlY3JldC1jb3ZlciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMXJlbTsKICAgIH0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJBREdFIEVBUk5FRCBOT1RJRklDQVRJT04gQVJUV09SSwogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1iYWRnZS10b2FzdC1hcnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXg6IDAgMCA0LjZlbTsKICAgIHdpZHRoOiA0LjZlbTsKICAgIGhlaWdodDogNC42ZW07CiAgICBtYXJnaW46IC0wLjNlbSAwOwp9CgouYm0tYmFkZ2UtdG9hc3QtYXJ0IGltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIGZpbHRlcjoKICAgICAgICBzYXR1cmF0ZSgxLjEyKQogICAgICAgIGNvbnRyYXN0KDEuMDQpCiAgICAgICAgZHJvcC1zaGFkb3coMCA1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC40MikpOwp9CgouYm0tYmFkZ2UtdG9hc3Q6aG92ZXIgLmJtLWJhZGdlLXRvYXN0LWFydCBpbWcgewogICAgZmlsdGVyOgogICAgICAgIHNhdHVyYXRlKDEuMjQpCiAgICAgICAgYnJpZ2h0bmVzcygxLjA2KQogICAgICAgIGRyb3Atc2hhZG93KDAgN3B4IDlweCByZ2JhKDAsIDAsIDAsIDAuNDgpKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZSgxLjAzNSk7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgZmlsdGVyIDE2MG1zIGVhc2U7Cn0KCi8qIFRoZSBpbWFnZSByZXBsYWNlcyB0aGUgZm9ybWVyIGxldHRlcmVkIGNpcmNsZS4gKi8KLmJtLWJhZGdlLXRvYXN0IC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1iYWRnZS10b2FzdDpob3ZlciAuYm0tYmFkZ2UtdG9hc3QtYXJ0IGltZyB7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBub25lOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgLmJtLWJhZGdlLXRvYXN0OmhvdmVyIC5ibS1iYWRnZS10b2FzdC1hcnQgaW1nIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHsKICAgIC5ibS1iYWRnZS10b2FzdC1hcnQgewogICAgICAgIGZsZXgtYmFzaXM6IDQuMWVtOwogICAgICAgIHdpZHRoOiA0LjFlbTsKICAgICAgICBoZWlnaHQ6IDQuMWVtOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVRUSU5HUyBESUFMT0cgVEVYVCBDT05UUkFTVCBGSVgKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiBNYWluIFNldHRpbmdzIGRpYWxvZyB0ZXh0LiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBwLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgbGFiZWwsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBzcGFuLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgZGl2IHsKICAgIHRleHQtc2hhZG93OiBub25lOwp9CgovKiBTZWN0aW9uIGhlYWRpbmc6IFJlYWRpbmcgRXhwZXJpZW5jZS4gKi8KI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGgyLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgaDMgewogICAgY29sb3I6ICM3MTMyNDcgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgovKiBTZXR0aW5nIG5hbWVzOiBUZXh0IFNpemUsIFJlYWRpbmcgV2lkdGgsIFBhc3NhZ2UgTW90aW9uLCBIaWdoIENvbnRyYXN0LiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctbGFiZWwsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBsYWJlbCwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLW5hbWUgewogICAgY29sb3I6ICMzNDJmMjcgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIERlc2NyaXB0aW9ucyBiZW5lYXRoIGVhY2ggc2V0dGluZy4gKi8KI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLWRlc2MsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1kZXNjcmlwdGlvbiwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHAgewogICAgY29sb3I6ICM1NTYxNWQgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuODhyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIEluZGl2aWR1YWwgc2V0dGluZyByb3dzLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctYm9keSB7CiAgICBtYXJnaW46IDAuNTVlbSAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjc1ZW0gIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAyMzcsIDIwOCwgMC43KSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTUsIDg2LCA0NiwgMC4yNSkgIWltcG9ydGFudDsKICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzQ5NmI2ZSAhaW1wb3J0YW50Owp9CgovKiBEcm9wZG93biBjb250cm9scy4gKi8KI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHNlbGVjdCB7CiAgICBtaW4td2lkdGg6IDYuNGVtOwogICAgYmFja2dyb3VuZDogI2Y3ZWRjZiAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzgwNjgzZiAhaW1wb3J0YW50OwogICAgY29sb3I6ICMyOTI4MjAgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuOTVyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBzZWxlY3Qgb3B0aW9uIHsKICAgIGJhY2tncm91bmQ6ICNmN2VkY2Y7CiAgICBjb2xvcjogIzI5MjgyMDsKfQoKLyogU3VnYXJDdWJlIHRvZ2dsZSBjb250cm9scy4gKi8KI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGJ1dHRvbltpZF49InNldHRpbmctY29udHJvbC0iXSwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGJ1dHRvbltpZF49InNldHRpbmctdG9nZ2xlLSJdLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnRvZ2dsZSB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNDE2YjZlLCAjMjk0YjRlKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzFmM2Q0MCAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmYxY2MgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgYnV0dG9uW2lkXj0ic2V0dGluZy1jb250cm9sLSJdOmhvdmVyLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgYnV0dG9uW2lkXj0ic2V0dGluZy10b2dnbGUtIl06aG92ZXIsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAudG9nZ2xlOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM4ZjQwNTUsICM2ZTJkNDApICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6ICM5ZjUzNjcgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7Cn0KCi8qIEJvdHRvbSBhY3Rpb24gYnV0dG9ucy4gKi8KI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5idXR0b25zIGJ1dHRvbiwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzID4gYnV0dG9uIHsKICAgIGNvbG9yOiAjZmZmMWNjICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogSGlnaCBjb250cmFzdCBtb2RlLiAqLwpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctbGFiZWwsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBsYWJlbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLW5hbWUsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1kZXNjLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctZGVzY3JpcHRpb24sCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBwIHsKICAgIGNvbG9yOiAjMTExMTExICFpbXBvcnRhbnQ7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1ib2R5IHsKICAgIGJhY2tncm91bmQ6ICNmZmY0ZDQgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzExMTExMSAhaW1wb3J0YW50Owp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSURFQkFSIEJVSUxEIElORk9STUFUSU9OIEFORCBDT1BZUklHSFQgUEFORUxTCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLXNpZGViYXItbWV0YSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiAwLjcyZW07CiAgICBtYXJnaW4tdG9wOiAwLjc4ZW07CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKfQoKLmJtLWJ1aWxkLXBhbmVsLAouYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI0LCAzNSwgMzksIDAuOTgpLCByZ2JhKDE3LCAyNywgMzEsIDAuOTgpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNzZiODY7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3gtc2hhZG93OgogICAgICAgIDAgNnB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjI4KSwKICAgICAgICBpbnNldCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKICAgIGNvbG9yOiAjZWRmMGU1Owp9CgouYm0tbWV0YS1oZWFkaW5nIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjQ4ZW07CiAgICBwYWRkaW5nOiAwLjU4ZW0gMC42OGVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIzLCA2NCwgNzksIDAuOSksIHJnYmEoMjIsIDQwLCA0NywgMC4zNSkpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNzIsIDEyNywgMTU3LCAwLjQyKTsKICAgIGNvbG9yOiAjNmZjOWZmOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC43MmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLW1ldGEtaGVhZGluZy1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDEuNjJlbTsKICAgIGhlaWdodDogMS42MmVtOwogICAgYmFja2dyb3VuZDogIzRlYThkNDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGNvbG9yOiAjMTAyMzJjOwogICAgZm9udC1zaXplOiAwLjllbTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wOGVtOwp9CgouYm0tbWV0YS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuOGZyKSBtaW5tYXgoMCwgMS4zNWZyKTsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNTVlbTsKICAgIHBhZGRpbmc6IDAuNTRlbSAwLjdlbTsKfQoKLmJtLW1ldGEtcm93ICsgLmJtLW1ldGEtcm93IHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDg4LCAxMTgsIDEyOCwgMC4yMik7Cn0KCi5ibS1tZXRhLWxhYmVsIHsKICAgIGNvbG9yOiAjYjhkY2YxOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNDAwOwp9CgouYm0tbWV0YS12YWx1ZSB7CiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBwYWRkaW5nOiAwLjcyZW0gMC44MmVtIDAuNzZlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWNvcHlyaWdodC1oZWFkaW5nIHsKICAgIGNvbG9yOiAjYzZkNmRjOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC42NGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY29weXJpZ2h0LXJ1bGUgewogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW46IDAuNWVtIGF1dG8gMC41OGVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMTcsIDE1OCwgMTczLCAwLjU1KSwgdHJhbnNwYXJlbnQpOwp9CgouYm0tY29weXJpZ2h0LWNvcHksCi5ibS1jb3B5cmlnaHQtY29tcGFueSwKLmJtLWNvcHlyaWdodC1zaXRlIHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7Cn0KCi5ibS1jb3B5cmlnaHQtY29weSBhLAouYm0tY29weXJpZ2h0LXNpdGUsCi5ibS1jb3B5cmlnaHQtc2l0ZS5saW5rLWV4dGVybmFsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyOiAwOwogICAgYm94LXNoYWRvdzogbm9uZTsKICAgIGNvbG9yOiAjNzJkOGZmOwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwp9CgouYm0tY29weXJpZ2h0LXNpdGUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLXRvcDogMC4yMmVtOwp9CgouYm0tY29weXJpZ2h0LWNvcHkgYTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LWNvcHkgYTo6YWZ0ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LXNpdGU6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGE6aG92ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiAjZmZmMGM5OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDsKfQoKLmJtLWNvcHlyaWdodC1yaWdodHMgewogICAgbWFyZ2luLXRvcDogMC4zMmVtOwogICAgY29sb3I6ICM5Y2IyYmI7CiAgICBmb250LXNpemU6IDAuNjVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1idWlsZC1wYW5lbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBiYWNrZ3JvdW5kOiAjMTAxNzE5OwogICAgYm9yZGVyLWNvbG9yOiAjOWZkY2ZmOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbWV0YS1sYWJlbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNvcHlyaWdodC1oZWFkaW5nLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY29weXJpZ2h0LXJpZ2h0cyB7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkxBQ0tXT09EIFNJREVCQVIgQlVJTEQgQU5EIENPUFlSSUdIVCBUSEVNRQogICBSZXBsYWNlcyB0aGUgYmx1ZSB0ZXJtaW5hbCBhcHBlYXJhbmNlLgogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1zaWRlYmFyLW1ldGEgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogMC43MmVtOwogICAgbWFyZ2luLXRvcDogMC44MmVtOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKfQoKLmJtLWJ1aWxkLXBhbmVsLAouYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDoKICAgICAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDAsIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA0cHgpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNkOGNjYTksICNjOWI5OGQpOwogICAgYm9yZGVyOiAxcHggc29saWQgIzkxNzk0YzsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpLCBpbnNldCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICBjb2xvcjogIzMwMmMyMzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7Cn0KCi5ibS1tZXRhLWhlYWRpbmcgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNDhlbTsKICAgIHBhZGRpbmc6IDAuNTVlbSAwLjY4ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM3MzMyNDcsICM0ZTI5MzYpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ZjRhNWU7CiAgICBjb2xvcjogI2YxZGZiNzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNzZlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tbWV0YS1oZWFkaW5nLWljb24gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMS42NWVtOwogICAgaGVpZ2h0OiAxLjY1ZW07CiAgICBiYWNrZ3JvdW5kOiAjNDE2NTY4OwogICAgYm9yZGVyOiAxcHggc29saWQgIzZlOGI4ZDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZjJlMWJiOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjg2ZW07CiAgICBsZXR0ZXItc3BhY2luZzogMDsKfQoKLmJtLW1ldGEtcm93IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjcyZnIpIG1pbm1heCgwLCAxLjRmcik7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjVlbTsKICAgIHBhZGRpbmc6IDAuNTJlbSAwLjcyZW07Cn0KCi5ibS1tZXRhLXJvdyArIC5ibS1tZXRhLXJvdyB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDQsIDgwLCA0MywgMC4yNSk7Cn0KCi5ibS1tZXRhLWxhYmVsIHsKICAgIGNvbG9yOiAjNWU1ODQ3OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tbWV0YS12YWx1ZSB7CiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKICAgIGNvbG9yOiAjNjUzMDQ0OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjgyZW0gMC43NmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tY29weXJpZ2h0LWhlYWRpbmcgewogICAgY29sb3I6ICM2NTMwNDQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jb3B5cmlnaHQtcnVsZSB7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogMC40NmVtIGF1dG8gMC41NWVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMDMsIDcwLCA0NywgMC41NSksIHRyYW5zcGFyZW50KTsKfQoKLmJtLWNvcHlyaWdodC1jb3B5LAouYm0tY29weXJpZ2h0LWNvbXBhbnksCi5ibS1jb3B5cmlnaHQtc2l0ZSB7CiAgICBjb2xvcjogIzMwMmMyMzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNzRlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4zODsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGEsCi5ibS1jb3B5cmlnaHQtc2l0ZSwKLmJtLWNvcHlyaWdodC1zaXRlLmxpbmstZXh0ZXJuYWwgewogICAgZGlzcGxheTogaW5saW5lOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgY29sb3I6ICMzZDYyNjUgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwOwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tY29weXJpZ2h0LXNpdGUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IDAuMmVtOyB9CgouYm0tY29weXJpZ2h0LWNvcHkgYTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LWNvcHkgYTo6YWZ0ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LXNpdGU6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGE6aG92ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTpob3ZlciB7CiAgICBjb2xvcjogIzdjMzQ0OSAhaW1wb3J0YW50OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDsKfQoKLmJtLWNvcHlyaWdodC1yaWdodHMgewogICAgbWFyZ2luLXRvcDogMC4zZW07CiAgICBjb2xvcjogIzY4NjA0ZTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNjdlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1idWlsZC1wYW5lbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBiYWNrZ3JvdW5kOiAjZjNlN2M1OwogICAgYm9yZGVyLWNvbG9yOiAjMTExOwogICAgY29sb3I6ICMxMTE7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJMQUNLV09PRCBTSURFQkFSIEJVSUxEIEFORCBDT1BZUklHSFQgVEhFTUUKICAgUmVwbGFjZXMgdGhlIGJsdWUgdGVybWluYWwgYXBwZWFyYW5jZS4KICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tc2lkZWJhci1tZXRhIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDAuNzJlbTsKICAgIG1hcmdpbi10b3A6IDAuODJlbTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7Cn0KCi5ibS1idWlsZC1wYW5lbCwKLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDY3LCA0OSwgMjgsIDAuMDI1KSAwLCByZ2JhKDY3LCA0OSwgMjgsIDAuMDI1KSAxcHgsIHRyYW5zcGFyZW50IDFweCwgdHJhbnNwYXJlbnQgNHB4KSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZDhjY2E5LCAjYzliOThkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MTc5NGM7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgY29sb3I6ICMzMDJjMjM7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50Owp9CgouYm0tbWV0YS1oZWFkaW5nIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjQ4ZW07CiAgICBwYWRkaW5nOiAwLjU1ZW0gMC42OGVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNzMzMjQ3LCAjNGUyOTM2KTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOGY0YTVlOwogICAgY29sb3I6ICNmMWRmYjc7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjc2ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDU1ZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLW1ldGEtaGVhZGluZy1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDEuNjVlbTsKICAgIGhlaWdodDogMS42NWVtOwogICAgYmFja2dyb3VuZDogIzQxNjU2ODsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ZThiOGQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBjb2xvcjogI2YyZTFiYjsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC44NmVtOwogICAgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KCi5ibS1tZXRhLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC43MmZyKSBtaW5tYXgoMCwgMS40ZnIpOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMC41ZW07CiAgICBwYWRkaW5nOiAwLjUyZW0gMC43MmVtOwp9CgouYm0tbWV0YS1yb3cgKyAuYm0tbWV0YS1yb3cgewogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTA0LCA4MCwgNDMsIDAuMjUpOwp9CgouYm0tbWV0YS1sYWJlbCB7CiAgICBjb2xvcjogIzVlNTg0NzsKICAgIGZvbnQtc2l6ZTogMC43NGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLW1ldGEtdmFsdWUgewogICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7CiAgICBjb2xvcjogIzY1MzA0NDsKICAgIGZvbnQtc2l6ZTogMC43NGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5ibS1jb3B5cmlnaHQtcGFuZWwgewogICAgcGFkZGluZzogMC43ZW0gMC44MmVtIDAuNzZlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWNvcHlyaWdodC1oZWFkaW5nIHsKICAgIGNvbG9yOiAjNjUzMDQ0OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC43MmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY29weXJpZ2h0LXJ1bGUgewogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW46IDAuNDZlbSBhdXRvIDAuNTVlbTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMTAzLCA3MCwgNDcsIDAuNTUpLCB0cmFuc3BhcmVudCk7Cn0KCi5ibS1jb3B5cmlnaHQtY29weSwKLmJtLWNvcHlyaWdodC1jb21wYW55LAouYm0tY29weXJpZ2h0LXNpdGUgewogICAgY29sb3I6ICMzMDJjMjM7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzg7Cn0KCi5ibS1jb3B5cmlnaHQtY29weSBhLAouYm0tY29weXJpZ2h0LXNpdGUsCi5ibS1jb3B5cmlnaHQtc2l0ZS5saW5rLWV4dGVybmFsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjM2Q2MjY1ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogMDsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLWNvcHlyaWdodC1zaXRlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tdG9wOiAwLjJlbTsgfQoKLmJtLWNvcHlyaWdodC1jb3B5IGE6OmJlZm9yZSwKLmJtLWNvcHlyaWdodC1jb3B5IGE6OmFmdGVyLAouYm0tY29weXJpZ2h0LXNpdGU6OmJlZm9yZSwKLmJtLWNvcHlyaWdodC1zaXRlOjphZnRlciB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7Cn0KCi5ibS1jb3B5cmlnaHQtY29weSBhOmhvdmVyLAouYm0tY29weXJpZ2h0LXNpdGU6aG92ZXIgewogICAgY29sb3I6ICM3YzM0NDkgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7Cn0KCi5ibS1jb3B5cmlnaHQtcmlnaHRzIHsKICAgIG1hcmdpbi10b3A6IDAuM2VtOwogICAgY29sb3I6ICM2ODYwNGU7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjY3ZW07CiAgICBsaW5lLWhlaWdodDogMS4zOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tYnVpbGQtcGFuZWwsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jb3B5cmlnaHQtcGFuZWwgewogICAgYmFja2dyb3VuZDogI2YzZTdjNTsKICAgIGJvcmRlci1jb2xvcjogIzExMTsKICAgIGNvbG9yOiAjMTExOwp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVE9SWSBNRU5VIFNZU1RFTSBCVVRUT05TIC0gVElUTEUgU0NSRUVOIEFORCBIT1cgVE8gUExBWQogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIE5ldXRyYWxpemUgdGhlIG9sZGVyIFN0b3J5TWVudSByb3cgdHJlYXRtZW50LiAqLwojbWVudS1zdG9yeSBsaTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKSB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7Cn0KCi8qIFByZXNlcnZlIGEgc21hbGwgbWF0Y2hpbmcgZ2FwIHdoZW4gYm90aCBjb250cm9scyBhcmUgdmlzaWJsZS4gKi8KI21lbnUtc3RvcnkgbGk6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluaykgKyBsaTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKSB7CiAgICBtYXJnaW4tdG9wOiAwLjIycmVtICFpbXBvcnRhbnQ7Cn0KCi8qIE1hdGNoIFNhdmVzLCBTZXR0aW5ncywgYW5kIFJlc3RhcnQuICovCiNtZW51LXN0b3J5IGE6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluaykgewogICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtaW4taGVpZ2h0OiAzLjM1cmVtICFpbXBvcnRhbnQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAuNzJyZW0gMC44NXJlbSAwLjcycmVtIDQuMTVyZW0gIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yOCkgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZjBkZmI4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIEV4YWN0IDEtcGl4ZWwgYWxpZ25tZW50IGNvcnJlY3Rpb24gcmVxdWVzdGVkIGZvciBIb3cgdG8gUGxheS4gKi8KI21lbnUtc3RvcnkgYTpoYXMoLmJtLWhvdy10by1wbGF5LWxhYmVsKSB7CiAgICB0b3A6IDFweCAhaW1wb3J0YW50Owp9CgovKiBTaGFyZWQgY2lyY3VsYXIgaWNvbiBnZW9tZXRyeS4gKi8KI21lbnUtc3RvcnkgYTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKTo6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogICAgbGVmdDogMC45cmVtICFpbXBvcnRhbnQ7CiAgICB0b3A6IDUwJSAhaW1wb3J0YW50OwogICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgIHdpZHRoOiAyLjE1cmVtICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDQsIDIyNSwgMTg0LCAwLjQyKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjBjOCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMS4wOHJlbSAhaW1wb3J0YW50OwogICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7Cn0KCi8qIFRpdGxlIFNjcmVlbiByZWNlaXZlcyBhIGhvbWUtc3R5bGUgSCBtYXJrZXIuICovCiNtZW51LXN0b3J5IGE6aGFzKC5ibS10aXRsZS1zY3JlZW4tbGFiZWwpOjpiZWZvcmUgewogICAgY29udGVudDogIkgiICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNTU2ZjRiICFpbXBvcnRhbnQ7Cn0KCi8qIEhvdyB0byBQbGF5IHJldGFpbnMgaXRzIHF1ZXN0aW9uLW1hcmsgbWFya2VyLiAqLwojbWVudS1zdG9yeSBhOmhhcyguYm0taG93LXRvLXBsYXktbGFiZWwpOjpiZWZvcmUgewogICAgY29udGVudDogIj8iICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNzMzMjQ3ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LXN0b3J5IGE6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluayk6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKI21lbnUtc3RvcnkgYTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjJkMiAhaW1wb3J0YW50Owp9CgojbWVudS1zdG9yeSBhOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogM3B4IHNvbGlkICNkMGFkNjggIWltcG9ydGFudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDsKfQoKLmJtLXN5c3RlbS1zdG9yeS1saW5rIHsKICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAjbWVudS1zdG9yeSBhOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspIHsKICAgICAgICBtaW4taGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjhyZW0gIWltcG9ydGFudDsKICAgICAgICBmb250LXNpemU6IDAuOTJyZW0gIWltcG9ydGFudDsKICAgIH0KCiAgICAjbWVudS1zdG9yeSBhOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspOjpiZWZvcmUgewogICAgICAgIGxlZnQ6IDAuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIHdpZHRoOiAycmVtICFpbXBvcnRhbnQ7CiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7CiAgICB9Cn0KLyogUmVtb3ZlIHRoZSB0aW55IGdhcCBiZXR3ZWVuIFN0b3J5TWVudSBhbmQgU3VnYXJDdWJlIGNvbnRyb2xzLiAqLwojbWVudS1zdG9yeSB7CiAgICBtYXJnaW4tYm90dG9tOiAtMXB4ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWNvcmUgewogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Owp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDVVJSRU5UIENBU0UgQk9YIEZPTlQKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tY2FzZS1zaWRlYmFyLAouYm0tY2FzZS1zaWRlYmFyICosCi5ibS1jdXJyZW50LWNhc2UsCi5ibS1jdXJyZW50LWNhc2UgKiB7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50Owp9CgovKiBQcmVzZXJ2ZSBjbGVhciB2aXN1YWwgaGllcmFyY2h5IGluc2lkZSB0aGUgQ3VycmVudCBDYXNlIGJveC4gKi8KLmJtLWNhc2Utc2lkZWJhciAuYm0tY2FzZS1sYWJlbCwKLmJtLWN1cnJlbnQtY2FzZSAuYm0tY2FzZS1sYWJlbCwKLmJtLWNhc2Utc2lkZWJhciAuYm0tY2FzZS1raWNrZXIsCi5ibS1jdXJyZW50LWNhc2UgLmJtLWNhc2Uta2lja2VyIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA0NWVtICFpbXBvcnRhbnQ7Cn0KCi5ibS1jYXNlLXNpZGViYXIgLmJtLWNhc2UtdmFsdWUsCi5ibS1jdXJyZW50LWNhc2UgLmJtLWNhc2UtdmFsdWUsCi5ibS1jYXNlLXNpZGViYXIgc3Ryb25nLAouYm0tY3VycmVudC1jYXNlIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJTkdMRS1TTE9UIEFVVE9TQVZFIE5PVElDRQogICBBZGQgdGhpcyBibG9jayB0byB0aGUgRU5EIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1hdXRvc2F2ZS1ub3RpY2UgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgcmlnaHQ6IDFyZW07CiAgICBib3R0b206IDFyZW07CiAgICB6LWluZGV4OiAxMDA1MDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjYyZW07CiAgICBtYXgtd2lkdGg6IG1pbigyNHJlbSwgY2FsYygxMDB2dyAtIDJyZW0pKTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBwYWRkaW5nOiAwLjY4ZW0gMC44MmVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzMxNTc1YiwgIzIwM2Y0Myk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjI4NTg5OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgYm94LXNoYWRvdzogMCA4cHggMjJweCByZ2JhKDAsIDAsIDAsIDAuNDQpOwogICAgY29sb3I6ICNmMWRmYjk7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMC44NnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjIwbXMgZWFzZSwgdHJhbnNmb3JtIDIyMG1zIGVhc2U7Cn0KCi5ibS1hdXRvc2F2ZS1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleDogMCAwIDJyZW07CiAgICB3aWR0aDogMnJlbTsKICAgIGhlaWdodDogMnJlbTsKICAgIGJhY2tncm91bmQ6ICM2MDc5NGY7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NCwgMjI1LCAxODQsIDAuNDIpOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNmZmYwYzg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tYXV0b3NhdmUtbm90aWNlLmlzLWxlYXZpbmcgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjVyZW0pOwp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuYm0tYXV0b3NhdmUtbm90aWNlIHsKICAgIHRyYW5zaXRpb246IG5vbmU7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgICAuYm0tYXV0b3NhdmUtbm90aWNlIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLmJtLWF1dG9zYXZlLW5vdGljZSB7CiAgICAgICAgcmlnaHQ6IDAuNjVyZW07CiAgICAgICAgYm90dG9tOiAwLjY1cmVtOwogICAgICAgIGxlZnQ6IDAuNjVyZW07CiAgICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT0FEIEFVVE9TQVZFIFNJREVCQVIgQlVUVE9OCiAgIE1hdGNoZXMgU2F2ZXMsIFNldHRpbmdzLCBhbmQgUmVzdGFydC4KICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIEVORCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMCAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWluLWhlaWdodDogMy4zNXJlbSAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwLjcycmVtIDAuODVyZW0gMC43MnJlbSA0LjE1cmVtICFpbXBvcnRhbnQ7CiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzMxNTc1YiwgIzIwM2Y0MykgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZTc0NzggIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjgpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2YwZGZiOCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbSAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiAwLjlyZW0gIWltcG9ydGFudDsKICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7CiAgICByaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgd2lkdGg6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGhlaWdodDogMi4xNXJlbSAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBjb250ZW50OiAiQSIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM2MDc5NGYgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ0LCAyMjUsIDE4NCwgMC40MikgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmYwYzggIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOjphZnRlciB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6aG92ZXIsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6Zm9jdXMgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzhmNDA1NSwgIzZlMmQ0MCkgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogI2E4NWE2ZSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmYyZDIgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYTpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDNweCBzb2xpZCAjZDBhZDY4ICFpbXBvcnRhbnQ7CiAgICBvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGUsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGFbYXJpYS1kaXNhYmxlZD0idHJ1ZSJdIHsKICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50OwogICAgZmlsdGVyOiBncmF5c2NhbGUoMC40NSkgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYS5pcy11bmF2YWlsYWJsZTpob3ZlciwKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYVthcmlhLWRpc2FibGVkPSJ0cnVlIl06aG92ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzMxNTc1YiwgIzIwM2Y0MykgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmMGRmYjggIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYS5pcy1sb2FkaW5nOjpiZWZvcmUgewogICAgY29udGVudDogIi4uLiIgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC43MnJlbSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewogICAgI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYSB7CiAgICAgICAgbWluLWhlaWdodDogM3JlbSAhaW1wb3J0YW50OwogICAgICAgIHBhZGRpbmctbGVmdDogMy44cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgZm9udC1zaXplOiAwLjkycmVtICFpbXBvcnRhbnQ7CiAgICB9CgogICAgI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYTo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAwLjhyZW0gIWltcG9ydGFudDsKICAgICAgICB3aWR0aDogMnJlbSAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogMnJlbSAhaW1wb3J0YW50OwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCRUZPUkUgWU9VIEJFR0lOIC0gU0FWSU5HIFlPVVIgTVlTVEVSWQogICBBZGQgdGhpcyBibG9jayB0byB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1zYXZlLWV4cGxhaW5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpOwogICAgZ2FwOiAwLjg1ZW07CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgbWFyZ2luOiAxLjE1ZW0gMDsKICAgIHBhZGRpbmc6IDAuOTVlbSAxZW07CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgIDBkZWcsCiAgICAgICAgICAgIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDAsCiAgICAgICAgICAgIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDFweCwKICAgICAgICAgICAgdHJhbnNwYXJlbnQgMXB4LAogICAgICAgICAgICB0cmFuc3BhcmVudCA0cHgKICAgICAgICApLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNkZGQwYWMsICNjZGJkOTEpOwogICAgYm9yZGVyOiAxcHggc29saWQgIzk0N2I0YjsKICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzQxNjU2ODsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCA2cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMjQpLAogICAgICAgIGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7CiAgICBjb2xvcjogIzMwMmQyNTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwp9CgouYm0tc2F2ZS1leHBsYWluZXItaWNvbiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDIuNzVlbTsKICAgIGhlaWdodDogMi43NWVtOwogICAgbWFyZ2luLXRvcDogMC4wNWVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzYwNzk0ZiwgIzQzNWIzYyk7CiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjM5LCAxOTcsIDAuNzIpOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm94LXNoYWRvdzogMCA0cHggOXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgIGNvbG9yOiAjZmZmMWNhOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tc2F2ZS1leHBsYWluZXItY29udGVudCB7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5ibS1zYXZlLWV4cGxhaW5lciBoMyB7CiAgICBtYXJnaW46IDAgMCAwLjQ1ZW07CiAgICBwYWRkaW5nOiAwIDAgMC4zMmVtOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTAyLCA3MiwgNDIsIDAuMzUpOwogICAgY29sb3I6ICM3MTMyNDc7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMS4xNWVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKLmJtLXNhdmUtZXhwbGFpbmVyIHAgewogICAgbWFyZ2luOiAwLjUyZW0gMDsKICAgIGNvbG9yOiAjM2QzOTJmOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CiAgICBmb250LXNpemU6IDAuOTRlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjUyOwp9CgouYm0tc2F2ZS1leHBsYWluZXIgcCBzdHJvbmcsCi5ibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zIHN0cm9uZyB7CiAgICBjb2xvcjogIzY1MzA0NDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDAuMzhlbTsKICAgIG1hcmdpbi10b3A6IDAuNzJlbTsKICAgIHBhZGRpbmc6IDAuNjJlbSAwLjdlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyMzUsIDIwMiwgMC42Mik7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDg2LCAxMDUsIDk2LCAwLjM1KTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGNvbG9yOiAjNDY0ODNlOwogICAgZm9udC1zaXplOiAwLjg2ZW07CiAgICBsaW5lLWhlaWdodDogMS40MjsKfQoKLmJtLXNhdmUtZXhwbGFpbmVyLWFjdGlvbnMgc3BhbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmctbGVmdDogMS4wNWVtOwp9CgouYm0tc2F2ZS1leHBsYWluZXItYWN0aW9ucyBzcGFuOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMC4wNWVtOwogICAgY29udGVudDogIuKAoiI7CiAgICBjb2xvcjogIzQxNjU2ODsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zYXZlLWV4cGxhaW5lciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmMWM5OwogICAgYm9yZGVyLWNvbG9yOiAjMTExMTExOwogICAgY29sb3I6ICMxMTExMTE7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zYXZlLWV4cGxhaW5lciBwLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc2F2ZS1leHBsYWluZXItYWN0aW9ucyB7CiAgICBjb2xvcjogIzExMTExMTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5ibS1zYXZlLWV4cGxhaW5lciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgcGFkZGluZzogMC44NWVtOwogICAgfQoKICAgIC5ibS1zYXZlLWV4cGxhaW5lci1pY29uIHsKICAgICAgICB3aWR0aDogMi41ZW07CiAgICAgICAgaGVpZ2h0OiAyLjVlbTsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuYm0tc2F2ZS1leHBsYWluZXIgaDMgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTE9BRCBBVVRPU0FWRSBVTkFWQUlMQUJMRSBTVEFURSAtIFZJU1VBTCBDT05TSVNURU5DWSBGSVgKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgS2VlcHMgdGhlIGJ1dHRvbiBzdHlsZWQgY29ycmVjdGx5IGJlZm9yZSB0aGUgZmlyc3QgYXV0b3NhdmUuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyogS2VlcCB0aGUgY29tcGxldGUgYnV0dG9uIGF0IGZ1bGwgb3BhY2l0eSBiZWZvcmUgYW4gYXV0b3NhdmUgZXhpc3RzLiAqLwojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlLAojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlW2FyaWEtZGlzYWJsZWQ9InRydWUiXSB7CiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDsKICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyZDRhNGQsICMxZTM2MzkpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6ICM0MTVmNjMgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjYmFhZjkxICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCkgIWltcG9ydGFudDsKfQoKLyogT25seSBtdXRlIHRoZSBjaXJjdWxhciBBIG1hcmtlciwgcmF0aGVyIHRoYW4gZmFkaW5nIHRoZSBlbnRpcmUgYnV0dG9uLiAqLwojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlOjpiZWZvcmUsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGVbYXJpYS1kaXNhYmxlZD0idHJ1ZSJdOjpiZWZvcmUgewogICAgY29udGVudDogIkEiICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNDg1NjRhICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA1LCAxOTUsIDE2NCwgMC4zKSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNiYmFlOTAgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMjYpICFpbXBvcnRhbnQ7Cn0KCi8qIFVuYXZhaWxhYmxlIGNvbnRyb2xzIHNob3VsZCBub3QgYWRvcHQgdGhlIGJ1cmd1bmR5IGhvdmVyIHN0YXRlLiAqLwojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlOmhvdmVyLAojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlOmZvY3VzLAojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlW2FyaWEtZGlzYWJsZWQ9InRydWUiXTpob3ZlciwKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYS5pcy11bmF2YWlsYWJsZVthcmlhLWRpc2FibGVkPSJ0cnVlIl06Zm9jdXMgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJkNGE0ZCwgIzFlMzYzOSkgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzQxNWY2MyAhaW1wb3J0YW50OwogICAgY29sb3I6ICNiYWFmOTEgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgovKiBPbmNlIGFuIGF1dG9zYXZlIGV4aXN0cywgcmVzdG9yZSB0aGUgc2FtZSBhcHBlYXJhbmNlIGFzIFNhdmVzLiAqLwojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOm5vdCguaXMtdW5hdmFpbGFibGUpW2FyaWEtZGlzYWJsZWQ9ImZhbHNlIl0gewogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzMTU3NWIsICMyMDNmNDMpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6ICM0ZTc0NzggIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZjBkZmI4ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6bm90KC5pcy11bmF2YWlsYWJsZSlbYXJpYS1kaXNhYmxlZD0iZmFsc2UiXTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJBIiAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogIzYwNzk0ZiAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0NCwgMjI1LCAxODQsIDAuNDIpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjBjOCAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOm5vdCguaXMtdW5hdmFpbGFibGUpW2FyaWEtZGlzYWJsZWQ9ImZhbHNlIl06aG92ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzhmNDA1NSwgIzZlMmQ0MCkgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogI2E4NWE2ZSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmYyZDIgIWltcG9ydGFudDsKfQo8L3N0eWxlPjxzY3JpcHQgcm9sZT0ic2NyaXB0IiBpZD0idHdpbmUtdXNlci1zY3JpcHQiIHR5cGU9InRleHQvdHdpbmUtamF2YXNjcmlwdCI+Q29uZmlnLnBhc3NhZ2VzLm5vYnIgPSB0cnVlOwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIERJU1BMQVkgU0VUVElOR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncyA9IGZ1bmN0aW9uICgpIHsKCXZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKCXZhciB0ZXh0U2l6ZSA9IFNldHRpbmcuZ2V0VmFsdWUoInRleHRTaXplIikgfHwgIlN0YW5kYXJkIjsKCXZhciByZWFkaW5nV2lkdGggPSBTZXR0aW5nLmdldFZhbHVlKCJyZWFkaW5nV2lkdGgiKSB8fCAiU3RhbmRhcmQiOwoJdmFyIHBhc3NhZ2VNb3Rpb24gPSBTZXR0aW5nLmdldFZhbHVlKCJwYXNzYWdlTW90aW9uIik7Cgl2YXIgaGlnaENvbnRyYXN0ID0gU2V0dGluZy5nZXRWYWx1ZSgiaGlnaENvbnRyYXN0Iik7CgoJYm9keS5jbGFzc0xpc3QucmVtb3ZlKAoJCSJ0ZXh0LWNvbXBhY3QiLAoJCSJ0ZXh0LXN0YW5kYXJkIiwKCQkidGV4dC1sYXJnZSIsCgkJIndpZHRoLW5hcnJvdyIsCgkJIndpZHRoLXN0YW5kYXJkIiwKCQkid2lkdGgtd2lkZSIsCgkJInNldHRpbmctbW90aW9uLW9mZiIsCgkJInNldHRpbmctaGlnaC1jb250cmFzdCIKCSk7CgoJaWYgKHRleHRTaXplID09PSAiQ29tcGFjdCIpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoInRleHQtY29tcGFjdCIpOwoJfQoJZWxzZSBpZiAodGV4dFNpemUgPT09ICJMYXJnZSIpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoInRleHQtbGFyZ2UiKTsKCX0KCWVsc2UgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgidGV4dC1zdGFuZGFyZCIpOwoJfQoKCWlmIChyZWFkaW5nV2lkdGggPT09ICJOYXJyb3ciKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJ3aWR0aC1uYXJyb3ciKTsKCX0KCWVsc2UgaWYgKHJlYWRpbmdXaWR0aCA9PT0gIldpZGUiKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJ3aWR0aC13aWRlIik7Cgl9CgllbHNlIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoIndpZHRoLXN0YW5kYXJkIik7Cgl9CgoJaWYgKHBhc3NhZ2VNb3Rpb24gPT09IGZhbHNlKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJzZXR0aW5nLW1vdGlvbi1vZmYiKTsKCX0KCglpZiAoaGlnaENvbnRyYXN0ID09PSB0cnVlKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJzZXR0aW5nLWhpZ2gtY29udHJhc3QiKTsKCX0KfTsKClNldHRpbmcuYWRkSGVhZGVyKCJSZWFkaW5nIEV4cGVyaWVuY2UiKTsKClNldHRpbmcuYWRkTGlzdCgidGV4dFNpemUiLCB7CglsYWJlbDogIlRleHQgU2l6ZSIsCglkZXNjOiAiQWRqdXN0IHRoZSBzaXplIG9mIHN0b3J5IHRleHQuIiwKCWxpc3Q6IFsiQ29tcGFjdCIsICJTdGFuZGFyZCIsICJMYXJnZSJdLAoJZGVmYXVsdDogIlN0YW5kYXJkIiwKCW9uSW5pdDogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MsCglvbkNoYW5nZTogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MKfSk7CgpTZXR0aW5nLmFkZExpc3QoInJlYWRpbmdXaWR0aCIsIHsKCWxhYmVsOiAiUmVhZGluZyBXaWR0aCIsCglkZXNjOiAiQWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbWFpbiByZWFkaW5nIHBhbmVsLiIsCglsaXN0OiBbIk5hcnJvdyIsICJTdGFuZGFyZCIsICJXaWRlIl0sCglkZWZhdWx0OiAiU3RhbmRhcmQiLAoJb25Jbml0OiBzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncywKCW9uQ2hhbmdlOiBzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncwp9KTsKClNldHRpbmcuYWRkVG9nZ2xlKCJwYXNzYWdlTW90aW9uIiwgewoJbGFiZWw6ICJQYXNzYWdlIE1vdGlvbiIsCglkZXNjOiAiVXNlIHN1YnRsZSBwYXNzYWdlIGFuZCBjbHVlIGFuaW1hdGlvbnMuIiwKCWRlZmF1bHQ6IHRydWUsCglvbkluaXQ6IHNldHVwLmFwcGx5RGlzcGxheVNldHRpbmdzLAoJb25DaGFuZ2U6IHNldHVwLmFwcGx5RGlzcGxheVNldHRpbmdzCn0pOwoKU2V0dGluZy5hZGRUb2dnbGUoImhpZ2hDb250cmFzdCIsIHsKCWxhYmVsOiAiSGlnaCBDb250cmFzdCIsCglkZXNjOiAiSW5jcmVhc2UgdGV4dCBhbmQgYm9yZGVyIGNvbnRyYXN0LiIsCglkZWZhdWx0OiBmYWxzZSwKCW9uSW5pdDogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MsCglvbkNoYW5nZTogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MKfSk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTE9DQVRJT04tQkFTRUQgQVRNT1NQSEVSRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCnNldHVwLnVwZGF0ZUxvY2F0aW9uQXRtb3NwaGVyZSA9IGZ1bmN0aW9uICgpIHsKCXZhciBsb2NhdGlvbiA9IFN0cmluZyhTdGF0ZS52YXJpYWJsZXMubG9jYXRpb24gfHwgIiIpLnRvTG93ZXJDYXNlKCk7Cgl2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7CgoJdmFyIGF0bW9zcGhlcmVDbGFzc2VzID0gWwoJCSJhdG1vc3BoZXJlLXRpdGxlIiwKCQkiYXRtb3NwaGVyZS1ob3VzZSIsCgkJImF0bW9zcGhlcmUtZmllbGQiLAoJCSJhdG1vc3BoZXJlLXN0cmVldCIsCgkJImF0bW9zcGhlcmUtZWxlbWVudGFyeSIsCgkJImF0bW9zcGhlcmUtbWlkZGxlLXNjaG9vbCIsCgkJImF0bW9zcGhlcmUtb2ZmaWNlIiwKCQkiYXRtb3NwaGVyZS1lbmRpbmciLAoJCSJhdG1vc3BoZXJlLW5ldXRyYWwiCgldOwoKCWJvZHkuY2xhc3NMaXN0LnJlbW92ZS5hcHBseShib2R5LmNsYXNzTGlzdCwgYXRtb3NwaGVyZUNsYXNzZXMpOwoKCWlmIChTdGF0ZS5wYXNzYWdlID09PSAiU3RhcnQiKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLXRpdGxlIik7CgkJcmV0dXJuOwoJfQoKCWlmIChTdGF0ZS5wYXNzYWdlID09PSAiRXBpc29kZSAxIEN1cnJlbnQgRW5kaW5nIikgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1lbmRpbmciKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJmaWVsZCIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoIm9hayIpCgkpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoImF0bW9zcGhlcmUtZmllbGQiKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJ3aW5jaGVzdGVyIGhvdXNlIikgfHwKCQlsb2NhdGlvbi5pbmNsdWRlcygia2l0Y2hlbiIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoInN0YWlyY2FzZSIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoImhhbGx3YXkgY2xvc2V0IikKCSkgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1ob3VzZSIpOwoJCXJldHVybjsKCX0KCglpZiAobG9jYXRpb24uaW5jbHVkZXMoImVsZW1lbnRhcnkiKSkgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1lbGVtZW50YXJ5Iik7CgkJcmV0dXJuOwoJfQoKCWlmICgKCQlsb2NhdGlvbi5pbmNsdWRlcygicHJpbmNpcGFsIikgfHwKCQlsb2NhdGlvbi5pbmNsdWRlcygibWFpbiBvZmZpY2UiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLW9mZmljZSIpOwoJCXJldHVybjsKCX0KCglpZiAoCgkJbG9jYXRpb24uaW5jbHVkZXMoIm1pZGRsZSBzY2hvb2wiKSB8fAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJtYWluIGhhbGx3YXkiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLW1pZGRsZS1zY2hvb2wiKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJzdHJlZXQiKSB8fAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJzaWRld2FsayIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoInJvYWQiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLXN0cmVldCIpOwoJCXJldHVybjsKCX0KCglib2R5LmNsYXNzTGlzdC5hZGQoImF0bW9zcGhlcmUtbmV1dHJhbCIpOwp9OwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBPViBWSVNVQUwgSURFTlRJVFkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpzZXR1cC51cGRhdGVQb3ZJZGVudGl0eSA9IGZ1bmN0aW9uICgpIHsKCXZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKCXZhciBwb3YgPSBTdHJpbmcoU3RhdGUudmFyaWFibGVzLnBvdiB8fCAiIikudG9Mb3dlckNhc2UoKTsKCglib2R5LmNsYXNzTGlzdC5yZW1vdmUoCgkJInBvdi1rZXZpbiIsCgkJInBvdi1yeWFuIiwKICAgICAgCSJwb3Yta2ltbXkiLAogICAgICAJInBvdi1ncm91cCIsCiAgICAgIAkicG92LXNjb290IiwKCQkicG92LW5ldXRyYWwiCgkpOwoKaWYgKHBvdiA9PT0gImtldmluIikgewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1rZXZpbiIpOwp9IGVsc2UgaWYgKHBvdiA9PT0gInJ5YW4iKSB7CmJvZHkuY2xhc3NMaXN0LmFkZCgicG92LXJ5YW4iKTsKfSBlbHNlIGlmIChwb3YgPT09ICJraW1teSIpIHsKYm9keS5jbGFzc0xpc3QuYWRkKCJwb3Yta2ltbXkiKTsKfSBlbHNlIGlmIChwb3YgPT09ICJzY29vdCIpIHsKYm9keS5jbGFzc0xpc3QuYWRkKCJwb3Ytc2Nvb3QiKTsKfSBlbHNlIGlmIChwb3YgPT09ICJ0aGUgZ3JvdXAiIHx8IHBvdiA9PT0gImdyb3VwIikgewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1ncm91cCIpOwp9IGVsc2Ugewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1uZXV0cmFsIik7Cn0KfTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTQVZFIERFU0NSSVBUSU9OUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkNvbmZpZy5zYXZlcy5kZXNjcmlwdGlvbnMgPSBmdW5jdGlvbiAoKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCXZhciBjaGFwdGVyID0gTnVtYmVyKHYuY2hhcHRlciB8fCAwKTsKCXZhciBwb3YgPSBTdHJpbmcodi5wb3YgfHwgIlVua25vd24iKTsKCXZhciBsb2NhdGlvbiA9IFN0cmluZyh2LmxvY2F0aW9uIHx8ICJVbmtub3duIExvY2F0aW9uIik7CgoJdmFyIGNoYXB0ZXJUaXRsZXMgPSB7CgkJMTogIkRvbid0IFBhbmljLCBKdXN0IFByZXRlbmQgSXQgTWFrZXMgU2Vuc2UiLAoJCTI6ICJBIE5ldyBSZWNvcmQsIGFuZCBOb3QgdGhlIEdvb2QgS2luZCIsCgkJMzogIkp1c3QgTXkgQnJhaW4gRG9pbmcgdGhlIFRoaW5nIEl0IERvZXMiCgl9OwoKCXZhciBjaGFwdGVyTGFiZWwgPSBjaGFwdGVyID4gMAoJCT8gIkNoYXB0ZXIgIiArIGNoYXB0ZXIKCQk6ICJFcGlzb2RlIE9uZSI7CgoJdmFyIGNoYXB0ZXJUaXRsZSA9IGNoYXB0ZXJUaXRsZXNbY2hhcHRlcl0gfHwgIiI7CgoJaWYgKGNoYXB0ZXJUaXRsZSkgewoJCXJldHVybiBjaGFwdGVyTGFiZWwgKyAiOiAiICsgY2hhcHRlclRpdGxlICsKCQkJIiB8ICIgKyBwb3YgKyAiIHwgIiArIGxvY2F0aW9uOwoJfQoKCXJldHVybiBjaGFwdGVyTGFiZWwgKyAiIHwgIiArIHBvdiArICIgfCAiICsgbG9jYXRpb247Cn07CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSU5URVJGQUNFIFVQREFURQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiQoZG9jdW1lbnQpLm9uKCI6cGFzc2FnZWRpc3BsYXkiLCBmdW5jdGlvbiAoKSB7CglzZXR1cC51cGRhdGVMb2NhdGlvbkF0bW9zcGhlcmUoKTsKCXNldHVwLnVwZGF0ZVBvdklkZW50aXR5KCk7CglzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncygpOwp9KTsKCi8qIEFwcGx5IHNldHRpbmdzIHdoZW4gYSBTdWdhckN1YmUgZGlhbG9nIGNsb3Nlcy4gKi8KJChkb2N1bWVudCkub24oIjpkaWFsb2djbG9zZWQiLCBmdW5jdGlvbiAoKSB7CglzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncygpOwp9KTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBLRVZJTiBQQVRURVJOIFRSQUNLSU5HCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKc2V0dXAuYWRkUGF0dGVybkV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCF2LnBhdHRlcm5FdmVudHMuaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYucGF0dGVybkV2ZW50cy5wdXNoKGV2ZW50TmFtZSk7CgkJdi5wYXR0ZXJuQ291bnQgPSB2LnBhdHRlcm5FdmVudHMubGVuZ3RoOwoJfQoKCWlmICghdi5rbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYua25vd2xlZGdlLktldmluLnB1c2goZXZlbnROYW1lKTsKCX0KCglpZiAoIXYucGxheWVyQ2x1ZXMuaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYucGxheWVyQ2x1ZXMucHVzaChldmVudE5hbWUpOwoJfQp9OwoKc2V0dXAuYWRkS2ltbXlMZWFkID0gZnVuY3Rpb24gKGxlYWQpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoKCWlmICghQXJyYXkuaXNBcnJheSh2LmtpbW15TGVhZHMpKSB7CgkJdi5raW1teUxlYWRzID0gW107Cgl9CgoJaWYgKCF2LmtpbW15TGVhZHMuaW5jbHVkZXMobGVhZCkpIHsKCQl2LmtpbW15TGVhZHMucHVzaChsZWFkKTsKCX0KCgl2LmtpbW15Q2hhcHRlckNsdWVzID0gdi5raW1teUxlYWRzLmxlbmd0aDsKfTsKCnNldHVwLmFkZEtpbW15RmFjdCA9IGZ1bmN0aW9uIChmYWN0KSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5raW1teUZhY3RzKSkgewoJCXYua2ltbXlGYWN0cyA9IFtdOwoJfQoKCWlmICghdi5raW1teUZhY3RzLmluY2x1ZGVzKGZhY3QpKSB7CgkJdi5raW1teUZhY3RzLnB1c2goZmFjdCk7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua25vd2xlZGdlLktpbW15KSkgewoJCXYua25vd2xlZGdlLktpbW15ID0gW107Cgl9CgoJaWYgKCF2Lmtub3dsZWRnZS5LaW1teS5pbmNsdWRlcyhmYWN0KSkgewoJCXYua25vd2xlZGdlLktpbW15LnB1c2goZmFjdCk7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYucGxheWVyQ2x1ZXMpKSB7CgkJdi5wbGF5ZXJDbHVlcyA9IFtdOwoJfQoKCWlmICghdi5wbGF5ZXJDbHVlcy5pbmNsdWRlcyhmYWN0KSkgewoJCXYucGxheWVyQ2x1ZXMucHVzaChmYWN0KTsKCX0KfTsKCnNldHVwLmFkZEtpbW15U291cmNlID0gZnVuY3Rpb24gKHNvdXJjZSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua2ltbXlTb3VyY2VzKSkgewoJCXYua2ltbXlTb3VyY2VzID0gW107Cgl9CgoJaWYgKCF2LmtpbW15U291cmNlcy5pbmNsdWRlcyhzb3VyY2UpKSB7CgkJdi5raW1teVNvdXJjZXMucHVzaChzb3VyY2UpOwoJfQp9OwpzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uID0gZnVuY3Rpb24gKG9ic2VydmF0aW9uKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5zY29vdE9ic2VydmF0aW9ucykpIHsKCQl2LnNjb290T2JzZXJ2YXRpb25zID0gW107Cgl9CgoJaWYgKCF2LnNjb290T2JzZXJ2YXRpb25zLmluY2x1ZGVzKG9ic2VydmF0aW9uKSkgewoJCXYuc2Nvb3RPYnNlcnZhdGlvbnMucHVzaChvYnNlcnZhdGlvbik7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua25vd2xlZGdlLlNjb290KSkgewoJCXYua25vd2xlZGdlLlNjb290ID0gW107Cgl9CgoJaWYgKCF2Lmtub3dsZWRnZS5TY29vdC5pbmNsdWRlcyhvYnNlcnZhdGlvbikpIHsKCQl2Lmtub3dsZWRnZS5TY29vdC5wdXNoKG9ic2VydmF0aW9uKTsKCX0KfTsKCnNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSA9IGZ1bmN0aW9uIChlbnRyeSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCFBcnJheS5pc0FycmF5KHYuc2Nvb3ROb3RlYm9va0VudHJpZXMpKSB7CgkJdi5zY29vdE5vdGVib29rRW50cmllcyA9IFtdOwoJfQoKCWlmICghdi5zY29vdE5vdGVib29rRW50cmllcy5pbmNsdWRlcyhlbnRyeSkpIHsKCQl2LnNjb290Tm90ZWJvb2tFbnRyaWVzLnB1c2goZW50cnkpOwoJfQp9OwoKc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCA9IGZ1bmN0aW9uIChhbW91bnQpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoJdmFyIGluY3JlYXNlID0gTnVtYmVyKGFtb3VudCk7CgoJaWYgKCFOdW1iZXIuaXNGaW5pdGUoaW5jcmVhc2UpKSB7CgkJaW5jcmVhc2UgPSAxOwoJfQoKCWlmICghTnVtYmVyLmlzRmluaXRlKHYuc2Nvb3RJbnN0aW5jdCkpIHsKCQl2LnNjb290SW5zdGluY3QgPSAwOwoJfQoKCXYuc2Nvb3RJbnN0aW5jdCArPSBpbmNyZWFzZTsKfTsKCnNldHVwLmFkZEdyb3VwRXZpZGVuY2UgPSBmdW5jdGlvbiAoZXZpZGVuY2UpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoKCWlmICghQXJyYXkuaXNBcnJheSh2Lmdyb3VwU2hhcmVkRXZpZGVuY2UpKSB7CgkJdi5ncm91cFNoYXJlZEV2aWRlbmNlID0gW107Cgl9CgoJaWYgKCF2Lmdyb3VwU2hhcmVkRXZpZGVuY2UuaW5jbHVkZXMoZXZpZGVuY2UpKSB7CgkJdi5ncm91cFNoYXJlZEV2aWRlbmNlLnB1c2goZXZpZGVuY2UpOwoJfQoKCWlmICghQXJyYXkuaXNBcnJheSh2LnNoYXJlZENsdWVzKSkgewoJCXYuc2hhcmVkQ2x1ZXMgPSBbXTsKCX0KCglpZiAoIXYuc2hhcmVkQ2x1ZXMuaW5jbHVkZXMoZXZpZGVuY2UpKSB7CgkJdi5zaGFyZWRDbHVlcy5wdXNoKGV2aWRlbmNlKTsKCX0KfTsKCnNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbiA9IGZ1bmN0aW9uIChjb25uZWN0aW9uKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zKSkgewoJCXYuZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyA9IFtdOwoJfQoKCWlmICghdi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmluY2x1ZGVzKGNvbm5lY3Rpb24pKSB7CgkJdi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLnB1c2goY29ubmVjdGlvbik7Cgl9Cn07Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSU5HTEUtU0xPVCBLRVktTU9NRU5UIEFVVE9TQVZFCiAgIEFkZCB0aGlzIGNvbXBsZXRlIGJsb2NrIHRvIHRoZSBFTkQgb2YgU3RvcnkgSmF2YVNjcmlwdC4KICAgU3VnYXJDdWJlIDIuMzcueAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIEtlZXAgZXhhY3RseSBvbmUgcm9sbGluZyBicm93c2VyIGF1dG9zYXZlLiAqLwpDb25maWcuc2F2ZXMubWF4QXV0b1NhdmVzID0gMTsKCnNldHVwLmJtQXV0b3NhdmUgPSB7CiAgICBidXN5OiBmYWxzZSwKICAgIGluaXRpYWxpemVkOiBmYWxzZSwKICAgIGxhc3RTaWduYXR1cmU6ICIiLAogICAgcHJldmlvdXNCYWRnZUlkczogW10sCgogICAgZXhjbHVkZWRQYXNzYWdlczogWwogICAgICAgICJTdGFydCIsCiAgICAgICAgIkhvdyB0byBQbGF5IE9wZW5pbmciLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIENhc2UgRmlsZSIsCiAgICAgICAgIk15c3RlcnkgS2l0IC0gQ2x1ZSBCb2FyZCIsCiAgICAgICAgIk15c3RlcnkgS2l0IC0gTm90ZWJvb2siLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwIiwKICAgICAgICAiTXlzdGVyeSBLaXQgLSBQZW9wbGUiLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQiLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIEJhZGdlcyIKICAgIF0sCgogICAgZ2V0QmFkZ2VJZHM6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgaWRzID0gU3RhdGUudmFyaWFibGVzLmVhcm5lZEJhZGdlSWRzOwogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGlkcykgPyBpZHMuc2xpY2UoKS5zb3J0KCkgOiBbXTsKICAgIH0sCgogICAgZ2V0U2lnbmF0dXJlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgogICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAgIGNoYXB0ZXI6IE51bWJlcih2LmNoYXB0ZXIgfHwgMCksCiAgICAgICAgICAgIGNoYXB0ZXIzQ29tcGxldGU6IEJvb2xlYW4odi5jaGFwdGVyM0NvbXBsZXRlKSwKICAgICAgICAgICAgY2hhcHRlcjRDb21wbGV0ZTogQm9vbGVhbih2LmNoYXB0ZXI0Q29tcGxldGUpLAogICAgICAgICAgICBjaGFwdGVyNUNvbXBsZXRlOiBCb29sZWFuKHYuY2hhcHRlcjVDb21wbGV0ZSksCiAgICAgICAgICAgIGNoYXB0ZXI2Q29tcGxldGU6IEJvb2xlYW4odi5jaGFwdGVyNkNvbXBsZXRlKSwKICAgICAgICAgICAgZ3JvdXBVbml0ZWQ6IEJvb2xlYW4odi5ncm91cFVuaXRlZCksCiAgICAgICAgICAgIGJhZGdlczogdGhpcy5nZXRCYWRnZUlkcygpCiAgICAgICAgfSk7CiAgICB9LAoKICAgIGdldFJlYXNvbjogZnVuY3Rpb24gKHByZXZpb3VzQmFkZ2VzLCBjdXJyZW50QmFkZ2VzKSB7CiAgICAgICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICAgICAgdmFyIG5ld0JhZGdlSWRzID0gY3VycmVudEJhZGdlcy5maWx0ZXIoZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgIHJldHVybiAhcHJldmlvdXNCYWRnZXMuaW5jbHVkZXMoaWQpOwogICAgICAgIH0pOwoKICAgICAgICBpZiAobmV3QmFkZ2VJZHMubGVuZ3RoID4gMCkgewogICAgICAgICAgICB2YXIgYmFkZ2VOYW1lcyA9IHsKICAgICAgICAgICAgICAgICJwYXR0ZXJuLXNlZWtlciI6ICJQYXR0ZXJuIFNlZWtlciIsCiAgICAgICAgICAgICAgICAic2l4LXBldGFsZWQtc2VjcmV0IjogIlNpeC1QZXRhbGVkIFNlY3JldCIsCiAgICAgICAgICAgICAgICAibnVtYmVyLXJldHVybnMiOiAiVGhlIE51bWJlciBSZXR1cm5zIiwKICAgICAgICAgICAgICAgICJydWxlcy1tYXR0ZXIiOiAiUnVsZXMgTWF0dGVyIiwKICAgICAgICAgICAgICAgICJjaGVjay1mYWN0cyI6ICJDaGVjayB0aGUgRmFjdHMiLAogICAgICAgICAgICAgICAgIndyaXRlLWl0LWRvd24iOiAiV3JpdGUgSXQgRG93biIsCiAgICAgICAgICAgICAgICAiZXZlcnlvbmUtcGllY2UiOiAiRXZlcnlvbmUgSGFzIGEgUGllY2UiLAogICAgICAgICAgICAgICAgImNhc2Utb25lIjogIkNhc2UgT25lIiwKICAgICAgICAgICAgICAgICJjYXJlZnVsLWludmVzdGlnYXRvciI6ICJDYXJlZnVsIEludmVzdGlnYXRvciIsCiAgICAgICAgICAgICAgICAiY2x1ZS1rZWVwZXIiOiAiQ2x1ZSBLZWVwZXIiLAogICAgICAgICAgICAgICAgInBhdHRlcm4tbWFzdGVyIjogIlBhdHRlcm4gTWFzdGVyIiwKICAgICAgICAgICAgICAgICJjb21wbGV0ZS1maWxlIjogIkNvbXBsZXRlIENhc2UgRmlsZSIsCiAgICAgICAgICAgICAgICAiaG91c2UtcmVtZW1iZXJzIjogIlRoZSBIb3VzZSBSZW1lbWJlcnMiLAogICAgICAgICAgICAgICAgInRocmVlLWtub2NrcyI6ICJUaHJlZSBLbm9ja3MiLAogICAgICAgICAgICAgICAgIndhdGNoZWQtd29vZHMiOiAiV2F0Y2hlZCBmcm9tIHRoZSBXb29kcyIsCiAgICAgICAgICAgICAgICAibmV2ZXItbGVmdCI6ICJUaGV5IE5ldmVyIExlZnQiCiAgICAgICAgICAgIH07CgogICAgICAgICAgICByZXR1cm4gIkJhZGdlIGVhcm5lZDogIiArIChiYWRnZU5hbWVzW25ld0JhZGdlSWRzWzBdXSB8fCBuZXdCYWRnZUlkc1swXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAodi5jaGFwdGVyNkNvbXBsZXRlKSB7CiAgICAgICAgICAgIHJldHVybiAiRXBpc29kZSBPbmUgY29tcGxldGVkIjsKICAgICAgICB9CiAgICAgICAgaWYgKHYuY2hhcHRlcjVDb21wbGV0ZSkgewogICAgICAgICAgICByZXR1cm4gIkNoYXB0ZXIgNSBjb21wbGV0ZWQiOwogICAgICAgIH0KICAgICAgICBpZiAodi5jaGFwdGVyNENvbXBsZXRlKSB7CiAgICAgICAgICAgIHJldHVybiAiQ2hhcHRlciA0IGNvbXBsZXRlZCI7CiAgICAgICAgfQogICAgICAgIGlmICh2LmNoYXB0ZXIzQ29tcGxldGUpIHsKICAgICAgICAgICAgcmV0dXJuICJDaGFwdGVyIDMgY29tcGxldGVkIjsKICAgICAgICB9CiAgICAgICAgaWYgKHYuZ3JvdXBVbml0ZWQpIHsKICAgICAgICAgICAgcmV0dXJuICJUaGUgaW52ZXN0aWdhdG9ycyB1bml0ZWQiOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICJDaGFwdGVyICIgKyBOdW1iZXIodi5jaGFwdGVyIHx8IDEpICsgIiBjaGVja3BvaW50IjsKICAgIH0sCgogICAgc2hvd05vdGljZTogZnVuY3Rpb24gKHJlYXNvbikgewogICAgICAgICQoIiNibS1hdXRvc2F2ZS1ub3RpY2UiKS5yZW1vdmUoKTsKCiAgICAgICAgdmFyICRub3RpY2UgPSAkKCI8ZGl2PiIsIHsKICAgICAgICAgICAgaWQ6ICJibS1hdXRvc2F2ZS1ub3RpY2UiLAogICAgICAgICAgICBjbGFzczogImJtLWF1dG9zYXZlLW5vdGljZSIsCiAgICAgICAgICAgIHJvbGU6ICJzdGF0dXMiLAogICAgICAgICAgICAiYXJpYS1saXZlIjogInBvbGl0ZSIKICAgICAgICB9KTsKCiAgICAgICAgJCgiPHNwYW4+IiwgewogICAgICAgICAgICBjbGFzczogImJtLWF1dG9zYXZlLWljb24iLAogICAgICAgICAgICAiYXJpYS1oaWRkZW4iOiAidHJ1ZSIsCiAgICAgICAgICAgIHRleHQ6ICJTIgogICAgICAgIH0pLmFwcGVuZFRvKCRub3RpY2UpOwoKICAgICAgICAkKCI8c3Bhbj4iLCB7CiAgICAgICAgICAgIGNsYXNzOiAiYm0tYXV0b3NhdmUtY29weSIsCiAgICAgICAgICAgIHRleHQ6ICJDYXNlIGF1dG9zYXZlZCAtICIgKyByZWFzb24KICAgICAgICB9KS5hcHBlbmRUbygkbm90aWNlKTsKCiAgICAgICAgJG5vdGljZS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTsKCiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkbm90aWNlLmFkZENsYXNzKCJpcy1sZWF2aW5nIik7CiAgICAgICAgfSwgMjIwMCk7CgogICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgJG5vdGljZS5yZW1vdmUoKTsKICAgICAgICB9LCAyODAwKTsKICAgIH0sCgogICAgc2F2ZTogZnVuY3Rpb24gKHJlYXNvbiwgc2lnbmF0dXJlLCBiYWRnZUlkcykgewogICAgICAgIGlmICh0aGlzLmJ1c3kgfHwgIVNhdmUuYnJvd3Nlci5hdXRvLmlzRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHRoaXMuYnVzeSA9IHRydWU7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBkZXNjcmlwdGlvbiA9IENvbmZpZy5zYXZlcy5kZXNjcmlwdGlvbnMoKTsKCiAgICAgICAgICAgIFNhdmUuYnJvd3Nlci5hdXRvLnNhdmUoMCwgZGVzY3JpcHRpb24sIHsKICAgICAgICAgICAgICAgIGNoZWNrcG9pbnQ6IHJlYXNvbiwKICAgICAgICAgICAgICAgIGNoYXB0ZXI6IE51bWJlcihTdGF0ZS52YXJpYWJsZXMuY2hhcHRlciB8fCAwKSwKICAgICAgICAgICAgICAgIHBhc3NhZ2U6IFN0YXRlLnBhc3NhZ2UKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB0aGlzLmxhc3RTaWduYXR1cmUgPSBzaWduYXR1cmU7CiAgICAgICAgICAgIHRoaXMucHJldmlvdXNCYWRnZUlkcyA9IGJhZGdlSWRzLnNsaWNlKCk7CiAgICAgICAgICAgIHRoaXMuc2hvd05vdGljZShyZWFzb24pOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQmxhY2t3b29kIGF1dG9zYXZlIGZhaWxlZDoiLCBlcnJvcik7CiAgICAgICAgfQogICAgICAgIGZpbmFsbHkgewogICAgICAgICAgICB0aGlzLmJ1c3kgPSBmYWxzZTsKICAgICAgICB9CiAgICB9LAoKICAgIGNoZWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHRoaXMuZXhjbHVkZWRQYXNzYWdlcy5pbmNsdWRlcyhTdGF0ZS5wYXNzYWdlKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgc2lnbmF0dXJlID0gdGhpcy5nZXRTaWduYXR1cmUoKTsKICAgICAgICB2YXIgYmFkZ2VJZHMgPSB0aGlzLmdldEJhZGdlSWRzKCk7CgogICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkgewogICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKICAgICAgICAgICAgdGhpcy5sYXN0U2lnbmF0dXJlID0gc2lnbmF0dXJlOwogICAgICAgICAgICB0aGlzLnByZXZpb3VzQmFkZ2VJZHMgPSBiYWRnZUlkcy5zbGljZSgpOwogICAgICAgICAgICB0aGlzLnNhdmUoIkNhc2UgYmVndW4iLCBzaWduYXR1cmUsIGJhZGdlSWRzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNpZ25hdHVyZSA9PT0gdGhpcy5sYXN0U2lnbmF0dXJlKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHZhciByZWFzb24gPSB0aGlzLmdldFJlYXNvbih0aGlzLnByZXZpb3VzQmFkZ2VJZHMsIGJhZGdlSWRzKTsKICAgICAgICB0aGlzLnNhdmUocmVhc29uLCBzaWduYXR1cmUsIGJhZGdlSWRzKTsKICAgIH0KfTsKCi8qIFBhc3NhZ2VGb290ZXIgaGFzIGZpbmlzaGVkIGF3YXJkaW5nIGJhZGdlcyBiZWZvcmUgOnBhc3NhZ2VkaXNwbGF5IHJ1bnMuICovCiQoZG9jdW1lbnQpLm9uKCI6cGFzc2FnZWRpc3BsYXkuYm1BdXRvc2F2ZSIsIGZ1bmN0aW9uICgpIHsKICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBzZXR1cC5ibUF1dG9zYXZlLmNoZWNrKCk7CiAgICB9LCAwKTsKfSk7Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT0FEIEFVVE9TQVZFIFNJREVCQVIgQlVUVE9OCiAgIEFkZCB0aGlzIGNvbXBsZXRlIGJsb2NrIHRvIHRoZSBFTkQgb2YgU3RvcnkgSmF2YVNjcmlwdC4KICAgUmVxdWlyZXMgdGhlIHNpbmdsZS1zbG90IGF1dG9zYXZlIHN5c3RlbSB1c2luZyBzbG90IDAuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKc2V0dXAudXBkYXRlTG9hZEF1dG9zYXZlQnV0dG9uID0gZnVuY3Rpb24gKCkgewogICAgdmFyICRtZW51Q29yZSA9ICQoIiNtZW51LWNvcmUiKTsKICAgIHZhciAkc2F2ZXNJdGVtID0gJCgiI21lbnUtaXRlbS1zYXZlcyIpOwogICAgdmFyICRpdGVtID0gJCgiI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlIik7CgogICAgaWYgKCEkbWVudUNvcmUubGVuZ3RoIHx8ICEkc2F2ZXNJdGVtLmxlbmd0aCkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoISRpdGVtLmxlbmd0aCkgewogICAgICAgICRpdGVtID0gJCgiPGxpPiIsIHsKICAgICAgICAgICAgaWQ6ICJtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSIKICAgICAgICB9KTsKCiAgICAgICAgdmFyICRsaW5rID0gJCgiPGE+IiwgewogICAgICAgICAgICBocmVmOiAiIyIsCiAgICAgICAgICAgIHJvbGU6ICJidXR0b24iLAogICAgICAgICAgICB0ZXh0OiAiTG9hZCBBdXRvc2F2ZSIsCiAgICAgICAgICAgICJhcmlhLWxhYmVsIjogIkxvYWQgdGhlIG1vc3QgcmVjZW50IGF1dG9zYXZlIgogICAgICAgIH0pOwoKICAgICAgICAkbGluay5vbigiY2xpY2suYm1Mb2FkQXV0b3NhdmUiLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGlmICghU2F2ZS5icm93c2VyLmF1dG8uaXNFbmFibGVkKCkgfHwgIVNhdmUuYnJvd3Nlci5hdXRvLmhhcygwKSkgewogICAgICAgICAgICAgICAgc2V0dXAudXBkYXRlTG9hZEF1dG9zYXZlQnV0dG9uKCk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRsaW5rLmF0dHIoImFyaWEtZGlzYWJsZWQiLCAidHJ1ZSIpLmFkZENsYXNzKCJpcy1sb2FkaW5nIik7CgogICAgICAgICAgICBTYXZlLmJyb3dzZXIuYXV0by5sb2FkKDApLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgRW5naW5lLnNob3coKTsKICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJCbGFja3dvb2QgYXV0b3NhdmUgbG9hZCBmYWlsZWQ6IiwgZXJyb3IpOwogICAgICAgICAgICAgICAgJGxpbmsucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKCJpcy1sb2FkaW5nIik7CiAgICAgICAgICAgICAgICBVSS5hbGVydCgiVGhlIGF1dG9zYXZlIGNvdWxkIG5vdCBiZSBsb2FkZWQuICIgKyBlcnJvci5tZXNzYWdlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgICRpdGVtLmFwcGVuZCgkbGluayk7CiAgICAgICAgJGl0ZW0uaW5zZXJ0QmVmb3JlKCRzYXZlc0l0ZW0pOwogICAgfQoKICAgIHZhciBoYXNBdXRvc2F2ZSA9IFNhdmUuYnJvd3Nlci5hdXRvLmlzRW5hYmxlZCgpICYmIFNhdmUuYnJvd3Nlci5hdXRvLmhhcygwKTsKICAgIHZhciAkYnV0dG9uID0gJGl0ZW0uY2hpbGRyZW4oImEiKTsKCiAgICAkYnV0dG9uLnRvZ2dsZUNsYXNzKCJpcy11bmF2YWlsYWJsZSIsICFoYXNBdXRvc2F2ZSk7CiAgICAkYnV0dG9uLmF0dHIoImFyaWEtZGlzYWJsZWQiLCBoYXNBdXRvc2F2ZSA/ICJmYWxzZSIgOiAidHJ1ZSIpOwogICAgJGJ1dHRvbi5hdHRyKAogICAgICAgICJ0aXRsZSIsCiAgICAgICAgaGFzQXV0b3NhdmUKICAgICAgICAgICAgPyAiTG9hZCB0aGUgbW9zdCByZWNlbnQgYXV0b21hdGljIGNoZWNrcG9pbnQiCiAgICAgICAgICAgIDogIk5vIGF1dG9zYXZlIGlzIGF2YWlsYWJsZSB5ZXQiCiAgICApOwp9OwoKLyogQ3JlYXRlIGFuZCByZWZyZXNoIHRoZSBjb250cm9sIHdoZW5ldmVyIHRoZSBzaWRlYmFyIGlzIHJlYnVpbHQuICovCiQoZG9jdW1lbnQpLm9uKCI6c3RvcnlyZWFkeS5ibUxvYWRBdXRvc2F2ZSA6dWl1cGRhdGUuYm1Mb2FkQXV0b3NhdmUgOnBhc3NhZ2VkaXNwbGF5LmJtTG9hZEF1dG9zYXZlIiwgZnVuY3Rpb24gKCkgewogICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIHNldHVwLnVwZGF0ZUxvYWRBdXRvc2F2ZUJ1dHRvbigpOwogICAgfSwgMCk7Cn0pOwoKLyogUmVmcmVzaCB0aGUgY29udHJvbCBpbW1lZGlhdGVseSBhZnRlciB0aGUgY3VzdG9tIGF1dG9zYXZlIG5vdGljZSBhcHBlYXJzLiAqLwokKGRvY3VtZW50KS5vbigiRE9NTm9kZUluc2VydGVkLmJtTG9hZEF1dG9zYXZlIiwgIiNibS1hdXRvc2F2ZS1ub3RpY2UiLCBmdW5jdGlvbiAoKSB7CiAgICBzZXR1cC51cGRhdGVMb2FkQXV0b3NhdmVCdXR0b24oKTsKfSk7Cjwvc2NyaXB0Pjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEiIG5hbWU9IlN0YXJ0IiB0YWdzPSIiIHBvc2l0aW9uPSI2MDAsNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtc2NyZWVuJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC1iYW5uZXImcXVvdDsmZ3Q7CgkJJmx0O2ltZwoJCQlzcmM9JnF1b3Q7aW1hZ2VzL2ZiYmFubmVyMi5qcGcmcXVvdDsKCQkJYWx0PSZxdW90O0EgbW9vbmxpdCBvbGQgaG91c2UgYmVzaWRlIGEgZm9nZ3kgcm9hZCBpbiB0aGUgd29vZHMmcXVvdDsKCQkmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYW5uZXItc2hhZGUmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1zdGFydC1jYXNlLWZpbGUmcXVvdDsgYXJpYS1sYWJlbGxlZGJ5PSZxdW90O2JtLXN0YXJ0LXRpdGxlJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtc2VyaWVzJnF1b3Q7Jmd0OwoJCQlCcmVja2VucmlkZ2UgTXlzdGVyaWVzCgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtoMSBpZD0mcXVvdDtibS1zdGFydC10aXRsZSZxdW90OyBjbGFzcz0mcXVvdDtibS1zdGFydC10aXRsZSZxdW90OyZndDsKCQkJVGhlIFJldHVybiBvZiB0aGUgQmxhY2t3b29kIFdpdGNoCgkJJmx0Oy9oMSZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC1kYXRlJnF1b3Q7Jmd0OwoJCQlBIE15c3RlcnkgQmVnaW5uaW5nIFNlcHRlbWJlciA1LCAxOTc4CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtwIGNsYXNzPSZxdW90O2JtLXN0YXJ0LXRhZ2xpbmUmcXVvdDsmZ3Q7CgkJCVRoZSBob3VzZSByZW1lbWJlcnMgd2hhdCBldmVyeW9uZSBlbHNlIGhhcyBmb3Jnb3R0ZW4uCgkJJmx0Oy9wJmd0OwoKCQkmbHQ7cCBjbGFzcz0mcXVvdDtibS1zdGFydC1kZXNjcmlwdGlvbiZxdW90OyZndDsKCQkJRm9sbG93IGZvdXIgeW91bmcgaW52ZXN0aWdhdG9ycyB0aHJvdWdoIGEgc3RyYW5nZSBmaXJzdCBkYXkKCQkJb2Ygc2Nob29sLiBTZWFyY2ggZm9yIGNsdWVzLCBjb21wYXJlIHdoYXQgZWFjaCBjaGFyYWN0ZXIKCQkJZGlzY292ZXJzLCBhbmQgZGVjaWRlIHdoaWNoIGRldGFpbHMgZGVzZXJ2ZSBhbm90aGVyIGxvb2suCgkJJmx0Oy9wJmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LW5vdGUmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLW5vdGUtcGluJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O1lvdXIgY2hvaWNlcyBtYXR0ZXIuJmx0Oy9zdHJvbmcmZ3Q7CgkJCVNvbWUgY2x1ZXMgYXJlIGVhc3kgdG8gZmluZC4gT3RoZXJzIG1heSByZW1haW4gaGlkZGVuLgoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LWFjdGlvbnMmcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtcHJpbWFyeSZxdW90OyZndDsKCQkJCVtbRW50ZXIgQnJlY2tlbnJpZGdlLSZndDtJbnRyb2R1Y3Rpb25dXQoJCQkJJmx0O3NwYW4mZ3Q7QmVnaW4gYSBuZXcgbXlzdGVyeSZsdDsvc3BhbiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LXNlY29uZGFyeSZxdW90OyZndDsKCQkJCSZsdDsmbHQ7bGluayAmcXVvdDtDb250aW51ZSB0aGUgTXlzdGVyeSZxdW90OyZndDsmZ3Q7CgkJCQkJJmx0OyZsdDtydW4gVUkuc2F2ZXMoKSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCQkJCSZsdDtzcGFuJmd0O09wZW4gYSBzYXZlZCBjYXNlJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC10b29scyZxdW90OyBhcmlhLWxhYmVsPSZxdW90O0dhbWUgaW5mb3JtYXRpb24mcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtdG9vbCZxdW90OyZndDsKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRvb2wtaWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0Oz8mbHQ7L3NwYW4mZ3Q7CgkJCQlbW0hvdyB0byBQbGF5LSZndDtIb3cgdG8gUGxheSBPcGVuaW5nXV0KCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LXRvb2wmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10b29sLWljb24mcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDvimpkmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVhZGluZyBTZXR0aW5ncyZxdW90OyZndDsmZ3Q7CgkJCQkJJmx0OyZsdDtydW4gVUkuc2V0dGluZ3MoKSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LWZvb3RlciZxdW90OyZndDsKICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXN0YXJ0LWZvb3Rlci1wcmVmaXgmcXVvdDsmZ3Q7QW4gaW50ZXJhY3RpdmUgbXlzdGVyeSBpbnNwaXJlZCBieSZsdDsvc3BhbiZndDsKICAgICZsdDthIGNsYXNzPSZxdW90O2JtLXN0YXJ0LWJvb2stbGluayZxdW90OwogICAgICAgaHJlZj0mcXVvdDtodHRwczovL2Ftem4udG8vNGRnN0ZGSSZxdW90OwogICAgICAgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OwogICAgICAgcmVsPSZxdW90O25vb3BlbmVyIG5vcmVmZXJyZXImcXVvdDsKICAgICAgIHRpdGxlPSZxdW90O09wZW4gQm9vayBPbmUgb24gQW1hem9uIGluIGEgbmV3IHRhYiZxdW90OyZndDtCb29rIE9uZSBvZiB0aGUgQnJlY2tlbnJpZGdlIE15c3RlcmllcyBzZXJpZXM6IFRoZSBSZXR1cm4gb2YgdGhlIEJsYWNrd29vZCBXaXRjaCZsdDsvYSZndDsKJmx0Oy9kaXYmZ3Q7CgoKCSZsdDsvc2VjdGlvbiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMiIgbmFtZT0iU3RvcnlJbml0IiB0YWdzPSIiIHBvc2l0aW9uPSI5MjUsMzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZ2FtZVZlcnNpb24gPSAmcXVvdDsxLjEwLjQuMjYuMSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRidWlsZExhYmVsID0gJnF1b3Q7QmV0YSBCdWlsZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRidWlsZERhdGUgPSAmcXVvdDtPY3RvYmVyIDQsIDIwMjYmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYnVpbGRQbGF0Zm9ybSA9ICZxdW90O1R3aW5lIC8gU3VnYXJDdWJlJnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRlcGlzb2RlID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRwbGF5ZXJDbHVlcyA9IFtdJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNoYXJlZENsdWVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2hhcmVkSW52ZW50b3J5ID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtub3dsZWRnZSA9IHsKCUtldmluOiBbXSwKCUFiYmllOiBbXSwKCVJ5YW46IFtdLAoJU2Nvb3Q6IFtdLAoJQXNodG9uOiBbXSwKCUthdGhlcmluZTogW10sCglLaW1teTogW10sCglFZGRpZTogW10KfSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkaW52ZW50b3J5ID0gewoJS2V2aW46IFsmcXVvdDtEaWdpdGFsIHdhdGNoJnF1b3Q7LCAmcXVvdDtCYWNrcGFjayZxdW90O10sCglBYmJpZTogWyZxdW90O0JhY2twYWNrJnF1b3Q7XSwKCVJ5YW46IFsmcXVvdDtSZWQgU294IGhlbG1ldCZxdW90O10sCglTY29vdDogWyZxdW90O1BvZXRyeSBub3RlYm9vayZxdW90O10sCglBc2h0b246IFsmcXVvdDtQYWxhZGluIGJyaWVmY2FzZSZxdW90OywgJnF1b3Q7Q29mZmVlIG11ZyZxdW90O10sCglLYXRoZXJpbmU6IFtdLAoJS2ltbXk6IFsmcXVvdDtSZXBvcnRlciYjMzk7cyBjYXNlJnF1b3Q7XSwKCUVkZGllOiBbXSwKCUdyb3VwOiBbXQp9Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzID0gewoJS2V2aW5BYmJpZTogMCwKCUtldmluUnlhbjogMCwKCUtldmluU2Nvb3Q6IDAsCglLZXZpbktpbW15OiAwLAoJUnlhblNjb290OiAyLAoJUnlhbktpbW15OiAwLAoJR3JvdXBUcnVzdDogMAp9Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoID0gewoJb2JzZXJ2ZTogMCwKCXByZXBhcmU6IDAsCgljb25uZWN0OiAwLAoJYXZvaWQ6IDAsCglhY3Q6IDAKfSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkcGF0dGVybkNvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwYXR0ZXJuRXZlbnRzID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtldmluVG9sZEFiYmllID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdIYWxsd2F5RmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FeGFtaW5lZEhhbGx3YXkgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblJlY29yZGVkQ2x1ZXMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkhhc015c3RlcnlOb3RlcyA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRzYXdMYW1wRmxpY2tlciA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZlbHRDb2xkQWlyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbm90aWNlZEZyb3plblRpbWUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRmb3VuZE1pc3NpbmdQaG90byA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG5vdGljZWRSb21hblhJID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGVkQ2xvc2V0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZm91bmRXZXRGb290cHJpbnQgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkdHV0b3JpYWxTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc3RvcnlTdGFydGVkID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGV4YW1pbmVkRW1wdHlGcmFtZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNlYXJjaGVkRm9yUGhvdG8gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRleGFtaW5lZFN0YWlyY2FzZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNhbGxlZEFiYmllVG9GcmFtZSA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRoYWxsd2F5RmlndXJlQ29uZmlybWVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRmb3VuZE9sZEJ1dHRvbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGJ1dHRvblRoZW9yeSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkaW5zcGVjdGVkRWxldmVudGhTdGVwID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2hlY2tlZEhhbGx3YXlDbG9zZXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsaXN0ZW5lZE5lYXJTdGFpcnMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsZWZ0U3RhaXJzQWxvbmUgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAka2V2aW5MZWZ0SW52ZXN0aWdhdGlvbkVhcmx5ID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaCA9IHsKCW9ic2VydmU6IDAsCglwcmVwYXJlOiAwLAoJY29ubmVjdDogMCwKCWF2b2lkOiAwLAoJYWN0OiAwCn0mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5UaHJlYXRzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblJ1bGVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkV2aWRlbmNlID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5TdHVkaWVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRHcmVlblJpbmcgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTm90aWNlZERvb3JCb3VuZGFyeSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5UZXN0ZWREb29yQm91bmRhcnkgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuUmV0cmlldmVkQXBwbGUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQ29ycmVjdGVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuRXhwbGFpbmVkQmFja0Rvb3IgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuT2JzZXJ2ZWRBbWFyYWwgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuSGVhcmRFdmVyeXdoZXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkFjY2VwdGVkU2VjcmV0YXJ5V2FybmluZyA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRyeWFuVGVzdGVkQ2hhaXIgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQXNrZWRBYm91dEFtYXJhbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5SZWZ1c2VkVG9TaXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQmF0aHJvb21UaGVvcnkgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRUaHJlZVNuYXBzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblF1ZXN0aW9uZWRFdmVyeXdoZXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbldhdGNoZWRBbWFyYWxMZWF2ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Bc2tlZFNlY3JldGFyeUFib3V0UnVsZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5DaGFwdGVyQ29tcGxldGUgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG5vdGljZWRSb21hbklJID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdUcmVlRmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwoKLyogQ2hhcHRlciAzIHN0YXRlICovCgombHQ7Jmx0O3NldCAkYWJiaWVUb3VjaGVkT3JhbmdlQ2F0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2hhcHRlcjNDb21wbGV0ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXNrZWRBYmJpZUFib3V0Q2F0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Bc2tlZEFib3V0U2Nob29sR2lybCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXZvaWRlZEJ1c0ZhY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkF2b2lkZWRDcmFja3MgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkNoZWNrZWRXYXRjaEFnYWluID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FbmRlZFNjaG9vbFNvbmcgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkV4YW1pbmVkQ2F0VGFnID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Gb2xsb3dlZEFiYmllQ3JhY2tzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Gb2xsb3dlZEJ1cyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluSWdub3JlZENyYWNrcyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTGVmdENhdENvbGxhciA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTmFtZWRNeXN0ZXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5QZXJmb3JtZWRBdFNjaG9vbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluUXVlc3Rpb25lZENyYWNrUnVsZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluUmV0cmlldmVkQ2F0Q29sbGFyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdCdXNGYWNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TdHVkaWVkQ2F0Q29sbGFyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5UZXN0ZWRDYXRUcmVlQ29ubmVjdGlvbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluV2F0Y2hlZFNjaG9vbEZlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb3JhbmdlQ2F0U2VlbiA9IGZhbHNlJmd0OyZndDsKCi8qKioqKiBDaGFwdGVyIDQ6IEtpbW15IHN0YXRlICoqKioqLwombHQ7Jmx0O3NldCAkY2hhcHRlcjRDb21wbGV0ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15TGVhZHMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUZhY3RzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlTb3VyY2VzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlVbnZlcmlmaWVkID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaCA9IHsKCW9ic2VydmU6IDAsCgl2ZXJpZnk6IDAsCglpbnRlcnZpZXc6IDAsCglyZXNlYXJjaDogMCwKCWFjdDogMAp9Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15TGVhZFJvdXRlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15T3BlbmVkUmVwb3J0ZXJDYXNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlJbnRlcnZpZXdlZFN0dWRlbnQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teVNlYXJjaGVkQXJjaGl2ZXMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUV4YW1pbmVkSGFsbHdheSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRPbGRQaG90b2dyYXBoID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kQmxhY2t3b29kUmVmZXJlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlOb3RpY2VkQ2hhbmdlZFBob3RvZ3JhcGggPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUhlYXJkV3JvbmdCZWxsID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlSZWNvcmRlZEV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlQcm90ZWN0ZWRTb3VyY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUNoYXB0ZXJDbHVlcyA9IDAmZ3Q7Jmd0OwoKLyoqKioqIENoYXB0ZXIgNTogU2Nvb3Qgc3RhdGUgKioqKiovCiZsdDsmbHQ7c2V0ICRjaGFwdGVyNUNvbXBsZXRlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RJbnN0aW5jdCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RPYnNlcnZhdGlvbnMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdE5vdGVib29rRW50cmllcyA9IFtdJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290RG91YnRzRGlzbWlzc2VkID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoID0gewoJb2JzZXJ2ZTogMCwKCXJlY29yZDogMCwKCXRlc3Q6IDAsCgljb25uZWN0OiAwLAoJYXZvaWQ6IDAKfSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdENoZWNrZWRGYWNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3ROb3RpY2VkV3JvbmdTaGFkb3cgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFRlc3RlZENsYXNzcm9vbUxpZ2h0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RNb3ZlZERlc2sgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFJlY29yZGVkU2hhZG93ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RJZ25vcmVkU2hhZG93ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3ROb3RlYm9va0NoYW5nZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEZvdW5kSGV4YWZvaWwgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFNhd0ZvdXJSZWZsZWN0aW9ucyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290U2F3RmlmdGhGaWd1cmUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFRvbGRSeWFuQWJvdXRTaGFkb3cgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEJlbGlldmVkUnlhbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290QXNrZWRSeWFuRm9yRXZpZGVuY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RDaGFwdGVyUm91dGUgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q29tcGxldGUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cFVuaXRlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwU2hhcmVkRXZpZGVuY2UgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBUaGVvcnkgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRIZXhhZm9pbHMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkTnVtYmVycyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRQaG90b2dyYXBocyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRCb3VuZGFyaWVzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBDb25uZWN0ZWRMdWNpbGxlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cERpc2NvdmVyZWRXaXRjaEV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBOZWVkc01yQXNodG9uID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5MZWRJbnZlc3RpZ2F0aW9uID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TaGFyZWRIb3VzZUV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5SZWNvZ25pemVkR3JvdXBQYXR0ZXJuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Qcm90ZWN0ZWRHcm91cCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTmFtZWRXaXRjaFRoZW9yeSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuID0gZmFsc2UmZ3Q7Jmd0OwoKLyogQWRkIHRoZXNlIGxpbmVzIG5lYXIgdGhlIGVuZCBvZiBTdG9yeUluaXQuICovCgombHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsYXRlc3RCYWRnZUlkID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxhdGVzdEJhZGdlTmFtZSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMyIgbmFtZT0iU3RvcnlDYXB0aW9uIiB0YWdzPSIiIHBvc2l0aW9uPSI4MDAsNDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2Utc2lkZWJhciZxdW90OyZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1jYXJkLXRvcCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXRhYiZxdW90OyZndDtDdXJyZW50IENhc2UmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLWV5ZXMmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJHN0b3J5U3RhcnRlZCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1udW1iZXImcXVvdDsmZ3Q7Q2FzZSAwMSZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtbmFtZSZxdW90OyZndDtUaGUgU3RyYW5nZSBGaXJzdCBEYXkmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1kZXRhaWxzJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLWRldGFpbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1jYXNlLWxhYmVsJnF1b3Q7Jmd0O015c3RlcnkmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FzZS12YWx1ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiAkZXBpc29kZSAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRXBpc29kZSAkZXBpc29kZQogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3BlbmluZwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLWRldGFpbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1jYXNlLWxhYmVsJnF1b3Q7Jmd0O0NoYXB0ZXImbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FzZS12YWx1ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlciAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNoYXB0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdCBzdGFydGVkCiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtZGV0YWlsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhc2UtbGFiZWwmcXVvdDsmZ3Q7UGxheWluZyBhcyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1jYXNlLXZhbHVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmICRwb3YmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvdgogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGludmVzdGlnYXRvcnMKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1sb2NhdGlvbiZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1zZWN0aW9uLWxhYmVsJnF1b3Q7Jmd0O1doZXJlIFlvdSBBcmUmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1sb2NhdGlvbi1uYW1lJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGxvY2F0aW9uJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJGxvY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgQnJlY2tlbnJpZGdlCiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLW9iamVjdGl2ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1zZWN0aW9uLWxhYmVsJnF1b3Q7Jmd0O1doYXQgdG8gRG8gTmV4dCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLW9iamVjdGl2ZS10ZXh0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJG9iamVjdGl2ZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmplY3RpdmUKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBDb250aW51ZSBpbnZlc3RpZ2F0aW5nLgogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmICRwb3YgaXMgJnF1b3Q7S2V2aW4mcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyBibS10cmFja2VyLWtldmluJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBLZXZpbiYjMzk7cyBQYXR0ZXJuIENhcmRzCiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWNvdW50JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRwYXR0ZXJuQ291bnQmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXR0ZXJuQ291bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50IGFuZCAkcGF0dGVybkNvdW50IGlzIDEmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmFuZ2UgdGhpbmcgbm90aWNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJhbmdlIHRoaW5ncyBub3RpY2VkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2VpZiAkcG92IGlzICZxdW90O1J5YW4mcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyBibS10cmFja2VyLXJ5YW4mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIFJ5YW4mIzM5O3MgU2FmZXR5IEZpbGUKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItcGFpciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHJ5YW5UaHJlYXRzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJ5YW5UaHJlYXRzLmxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0O1RocmVhdHMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItc21hbGwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcnlhblJ1bGVzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJ5YW5SdWxlcy5sZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1sYWJlbCZxdW90OyZndDtSdWxlcyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJHBvdiBpcyAmcXVvdDtLaW1teSZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jaGFyYWN0ZXItdHJhY2tlci1oZWFkaW5nIGJtLXRyYWNrZXIta2ltbXkmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIEtpbW15JiMzOTtzIEludmVzdGlnYXRpb24gRmlsZQogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1wYWlyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItc21hbGwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAka2ltbXlMZWFkcyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRraW1teUxlYWRzLmxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0O0xlYWRzJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGtpbW15RmFjdHMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2ltbXlGYWN0cy5sZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1sYWJlbCZxdW90OyZndDtGYWN0cyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJHBvdiBpcyAmcXVvdDtTY29vdCZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jaGFyYWN0ZXItdHJhY2tlci1oZWFkaW5nIGJtLXRyYWNrZXItc2Nvb3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIFNjb290JiMzOTtzIFBvY2tldCBOb3RlYm9vawogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1wYWlyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItc21hbGwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkc2Nvb3RJbnN0aW5jdCZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29vdEluc3RpbmN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7SW5zdGluY3QmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItc21hbGwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkc2Nvb3ROb3RlYm9va0VudHJpZXMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7Tm90ZXMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7VGhlIEdyb3VwJnF1b3Q7IG9yICRwb3YgaXMgJnF1b3Q7R3JvdXAmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyBibS10cmFja2VyLWdyb3VwJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBUaGUgR3JvdXAgQ2FzZSBGaWxlCiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXBhaXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1zbWFsbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbnVtYmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRncm91cFNoYXJlZEV2aWRlbmNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7U2hhcmVkIENsdWVzJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucy5sZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1sYWJlbCZxdW90OyZndDtDb25uZWN0aW9ucyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2Utd2FpdGluZyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS13YWl0aW5nLXRpdGxlJnF1b3Q7Jmd0O0EgbXlzdGVyeSBpcyB3YWl0aW5nLiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXdhaXRpbmctdGV4dCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICBFbnRlciBCcmVja2VucmlkZ2Ugd2hlbiB5b3UgYXJlIHJlYWR5IHRvIG9wZW4gdGhlIGNhc2UuCiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0OyZsdDtpZiAkc3RvcnlTdGFydGVkJmd0OyZndDsKICAgICAgICAmbHQ7bmF2IGNsYXNzPSZxdW90O2JtLW15c3Rlcnkta2l0JnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7TXlzdGVyeSBLaXQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0ta2l0LWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtaGVhZGluZy1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7KiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgIE15c3RlcnkgS2l0CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1raXQtZ3JpZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7bGluayAmIzM5OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7QyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7Q2FzZSBGaWxlJmx0Oy9zcGFuJmd0OyYjMzk7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIG5vdCBTdGF0ZS5wYXNzYWdlLnN0YXJ0c1dpdGgoJnF1b3Q7TXlzdGVyeSBLaXQgLSAmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtzZXQgJGJtUmV0dXJuUGFzc2FnZSA9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2dvdG8gJnF1b3Q7TXlzdGVyeSBLaXQgLSBDYXNlIEZpbGUmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWljb24gYm0taWNvbi1jbHVlJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7PyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7Q2x1ZSBCb2FyZCZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O015c3RlcnkgS2l0IC0gQ2x1ZSBCb2FyZCZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtaWNvbiBibS1pY29uLW5vdGUmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDtOJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1sYWJlbCZxdW90OyZndDtOb3RlYm9vayZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O015c3RlcnkgS2l0IC0gTm90ZWJvb2smcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWljb24gYm0taWNvbi1tYXAmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDtNJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1sYWJlbCZxdW90OyZndDtUb3duIE1hcCZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O015c3RlcnkgS2l0IC0gVG93biBNYXAmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWljb24gYm0taWNvbi1wZW9wbGUmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDtQJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1sYWJlbCZxdW90OyZndDtQZW9wbGUmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIFBlb3BsZSZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtaWNvbiBibS1pY29uLWJhZGdlJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7QiZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7QmFkZ2UgQ2FiaW5ldCZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O015c3RlcnkgS2l0IC0gQmFkZ2UgQ2FiaW5ldCZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvbmF2Jmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7L2RpdiZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXNpZGViYXItbWV0YSZxdW90OyZndDsKICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLWJ1aWxkLXBhbmVsJnF1b3Q7IGFyaWEtbGFiZWxsZWRieT0mcXVvdDtibS1idWlsZC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWV0YS1oZWFkaW5nJnF1b3Q7IGlkPSZxdW90O2JtLWJ1aWxkLWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLW1ldGEtaGVhZGluZy1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7JmFtcDtndDtfJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDtCdWlsZCBJbmZvcm1hdGlvbiZsdDsvc3BhbiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tZXRhLXJvdyZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tbWV0YS1sYWJlbCZxdW90OyZndDtWZXJzaW9uJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3Ryb25nIGNsYXNzPSZxdW90O2JtLW1ldGEtdmFsdWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkYnVpbGRMYWJlbCBhbmQgJGJ1aWxkTGFiZWwmZ3Q7Jmd0OyRidWlsZExhYmVsJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgZGVmICRnYW1lVmVyc2lvbiBhbmQgJGdhbWVWZXJzaW9uJmd0OyZndDsgJGdhbWVWZXJzaW9uJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3N0cm9uZyZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tZXRhLXJvdyZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tbWV0YS1sYWJlbCZxdW90OyZndDtCdWlsZCBEYXRlJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3Ryb25nIGNsYXNzPSZxdW90O2JtLW1ldGEtdmFsdWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkYnVpbGREYXRlIGFuZCAkYnVpbGREYXRlJmd0OyZndDskYnVpbGREYXRlJmx0OyZsdDtlbHNlJmd0OyZndDtEYXRlIHVuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3N0cm9uZyZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvc2VjdGlvbiZndDsKCiAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1jb3B5cmlnaHQtcGFuZWwmcXVvdDsgYXJpYS1sYWJlbGxlZGJ5PSZxdW90O2JtLWNvcHlyaWdodC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LWhlYWRpbmcmcXVvdDsgaWQ9JnF1b3Q7Ym0tY29weXJpZ2h0LWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgICAgIENvcHlyaWdodCBOb3RpY2UKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jb3B5cmlnaHQtcnVsZSZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNvcHlyaWdodC1jb3B5JnF1b3Q7Jmd0OwogICAgICAgICAgICBDb3B5cmlnaHQgJmFtcDtjb3B5OyAyMDI2CiAgICAgICAgICAgICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly90b255bW9yZWlyYS5jb20mcXVvdDsKICAgICAgICAgICAgICAgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OwogICAgICAgICAgICAgICByZWw9JnF1b3Q7bm9vcGVuZXIgbm9yZWZlcnJlciZxdW90OyZndDtUb255IE1vcmVpcmEmbHQ7L2EmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LWNvbXBhbnkmcXVvdDsmZ3Q7CiAgICAgICAgICAgIEludGVydmFscyBJbiBUaW1lIE1lZGlhLCBMTEMKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2EgY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LXNpdGUmcXVvdDsKICAgICAgICAgICBocmVmPSZxdW90O2h0dHBzOi8vdG9ueW1vcmVpcmEuY29tJnF1b3Q7CiAgICAgICAgICAgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OwogICAgICAgICAgIHJlbD0mcXVvdDtub29wZW5lciBub3JlZmVycmVyJnF1b3Q7Jmd0O3Rvbnltb3JlaXJhLmNvbSZsdDsvYSZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jb3B5cmlnaHQtcmlnaHRzJnF1b3Q7Jmd0OwogICAgICAgICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9zZWN0aW9uJmd0OwombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0IiBuYW1lPSJTdG9yeU1lbnUiIHRhZ3M9IiIgcG9zaXRpb249IjIyNSwzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7aWYgU3RhdGUucGFzc2FnZSBpc25vdCAmcXVvdDtTdGFydCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1zeXN0ZW0tc3RvcnktbGluayBibS10aXRsZS1zY3JlZW4tbGFiZWwmcXVvdDsmZ3Q7VGl0bGUgU2NyZWVuJmx0Oy9zcGFuJmd0OyYjMzk7Jmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2dvdG8gJnF1b3Q7U3RhcnQmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgU3RhdGUucGFzc2FnZSBpc25vdCAmcXVvdDtIb3cgdG8gUGxheSBPcGVuaW5nJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7bGluayAmIzM5OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXN5c3RlbS1zdG9yeS1saW5rIGJtLWhvdy10by1wbGF5LWxhYmVsJnF1b3Q7Jmd0O0hvdyB0byBQbGF5Jmx0Oy9zcGFuJmd0OyYjMzk7Jmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O0hvdyB0byBQbGF5IE9wZW5pbmcmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNSIgbmFtZT0iQWJvdXQiIHRhZ3M9IiIgcG9zaXRpb249IjMwMCw2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtoMiZndDtBYm91dCBUaGlzIEFkYXB0YXRpb24mbHQ7L2gyJmd0OwoKJmx0O3AmZ3Q7CglUaGUgUmV0dXJuIG9mIHRoZSBCbGFja3dvb2QgV2l0Y2ggaXMgYW4gaW50ZXJhY3RpdmUgYWRhcHRhdGlvbiBvZgoJdGhlIEJyZWNrZW5yaWRnZSBNeXN0ZXJpZXMgbm92ZWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RvcnkgZm9sbG93cyB0aGUgbm92ZWwmIzM5O3MgY2VudHJhbCBteXN0ZXJ5IHdoaWxlIGludHJvZHVjaW5nIG5ldwoJaW52ZXN0aWdhdGlvbnMsIGNoYXJhY3RlciBwZXJzcGVjdGl2ZXMsIGFuZCBjaG9pY2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyBnYW1lIGlzIHVuZGVyIHJvdXRpbmUgZGV2ZWxvcG1lbnQgYW5kIGlzIG5vdCB5ZXQgY29tcGxldGUhCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2JhY2sgJnF1b3Q7UmV0dXJuJnF1b3Q7Jmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2IiBuYW1lPSJIb3cgdG8gUGxheSIgdGFncz0iIiBwb3NpdGlvbj0iNjAwLDU3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHR1dG9yaWFsU2VlbiA9IHRydWUmZ3Q7Jmd0OwoKJmx0O2gyJmd0O0hvdyB0byBQbGF5Jmx0Oy9oMiZndDsKCiZsdDtoMyZndDtDaGFuZ2luZyBQZXJzcGVjdGl2ZXMmbHQ7L2gzJmd0OwombHQ7cCZndDsKCUVhY2ggY2hhcHRlciBpZGVudGlmaWVzIHRoZSBjaGFyYWN0ZXIgeW91IGN1cnJlbnRseSBjb250cm9sLgoJQ2hhcmFjdGVycyBkbyBub3QgYXV0b21hdGljYWxseSBrbm93IHdoYXQgaGFwcGVuZWQgZHVyaW5nIGFub3RoZXIKCWNoYXJhY3RlciYjMzk7cyBjaGFwdGVyLgombHQ7L3AmZ3Q7CgombHQ7aDMmZ3Q7SW52ZXN0aWdhdGlvbiZsdDsvaDMmZ3Q7CiZsdDtwJmd0OwoJU29tZSBjbHVlcyBhcmUgcGFydCBvZiB0aGUgY2VudHJhbCBzdG9yeS4gT3RoZXJzIGNhbiBiZSBtaXNzZWQuCglFeGFtaW5pbmcgYW4gYXJlYSBjYXJlZnVsbHkgbWF5IHJldmVhbCBjaG9pY2VzIHRoYXQgd291bGQgb3RoZXJ3aXNlCglyZW1haW4gdW5hdmFpbGFibGUuCiZsdDsvcCZndDsKJmx0O2gzJmd0O0tldmluJiMzOTtzIFBhdHRlcm4gVHJhY2tlciZsdDsvaDMmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bnRzIHVuZXhwbGFpbmVkIGV2ZW50cyBhcyBoZSBlbmNvdW50ZXJzIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBQYXR0ZXJuIFRyYWNrZXIgcmVjb3JkcyB0aGUgdW5leHBsYWluZWQgZXZlbnRzIGhlIHBlcnNvbmFsbHkKCW5vdGljZXMuIERpZmZlcmVudCBjaG9pY2VzIG1heSBwcm9kdWNlIGRpZmZlcmVudCB0b3RhbHMuCiZsdDsvcCZndDsKCiZsdDtoMyZndDtDb21tdW5pY2F0aW9uJmx0Oy9oMyZndDsKCiZsdDtwJmd0OwoJRmluZGluZyBhIGNsdWUgYW5kIHNoYXJpbmcgYSBjbHVlIGFyZSBzZXBhcmF0ZSBkZWNpc2lvbnMuIEtlZXBpbmcKCXNvbWV0aGluZyBwcml2YXRlIG1heSBwcm90ZWN0IGEgY2hhcmFjdGVyIHRlbXBvcmFyaWx5LCBidXQgaXQgbWF5CglhbHNvIGxlYXZlIGFub3RoZXIgY2hhcmFjdGVyIHVucHJlcGFyZWQuCiZsdDsvcCZndDsKCiZsdDtoMyZndDtObyBQZXJmZWN0IFBlcnNvbmFsaXR5Jmx0Oy9oMyZndDsKCiZsdDtwJmd0OwoJQ2hvaWNlcyBhcmUgbm90IGRpdmlkZWQgaW50byBicmF2ZSBhbmQgY293YXJkbHkgcmVzcG9uc2VzLiBPYnNlcnZpbmcsCglwcmVwYXJpbmcsIHNlZWtpbmcgc3VwcG9ydCwgc3RlcHBpbmcgYXdheSwgYW5kIHRha2luZyBhY3Rpb24gY2FuIGFsbAoJYmUgcmVhc29uYWJsZSBjaG9pY2VzIGRlcGVuZGluZyBvbiB0aGUgc2l0dWF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tCZWdpbiBFcGlzb2RlIDEtJmd0O0VwaXNvZGUgMSBJbnRyb2R1Y3Rpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjciIG5hbWU9IkludHJvZHVjdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iNjc1LDMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHN0b3J5U3RhcnRlZCA9IHRydWUmZ3Q7Jmd0OwoKJmx0O2gyJmd0O0JlZm9yZSBZb3UgQmVnaW4mbHQ7L2gyJmd0OwoKJmx0O3AmZ3Q7CiAgICBUaGlzIHN0b3J5IGlzIHRvbGQgdGhyb3VnaCBzZXZlcmFsIHBvaW50cyBvZiB2aWV3LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKICAgIFlvdSB3aWxsIHRlbXBvcmFyaWx5IHRha2UgY29udHJvbCBvZiBkaWZmZXJlbnQgY2hhcmFjdGVycyBhcyB0aGV5CiAgICBlbmNvdW50ZXIgc2VwYXJhdGUgcGllY2VzIG9mIHRoZSBzYW1lIG15c3RlcnkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7cG92LW5vdGljZSZxdW90OyZndDsKICAgICZsdDtzdHJvbmcmZ3Q7SW1wb3J0YW50OiZsdDsvc3Ryb25nJmd0OyBZb3UgbWF5IGtub3cgbW9yZSB0aGFuIHRoZSBjaGFyYWN0ZXIKICAgIHlvdSBhcmUgY3VycmVudGx5IHBsYXlpbmcuIEEgY2hhcmFjdGVyIGNhbiBhY3Qgb25seSBvbiBpbmZvcm1hdGlvbgogICAgdGhleSBoYXZlIHBlcnNvbmFsbHkgZGlzY292ZXJlZCBvciByZWNlaXZlZCBmcm9tIHNvbWVvbmUgZWxzZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKICAgIFlvdXIgY2hvaWNlcyB3aWxsIGFmZmVjdDoKJmx0Oy9wJmd0OwoKJmx0O3VsJmd0OwogICAgJmx0O2xpJmd0O1doaWNoIGNsdWVzIGVhY2ggY2hhcmFjdGVyIG5vdGljZXMmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O1doYXQgaW5mb3JtYXRpb24gdGhlIGNoYXJhY3RlcnMgc2hhcmUmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O0hvdyByZWxhdGlvbnNoaXBzIGRldmVsb3AmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O1doaWNoIG9wdGlvbmFsIHNjZW5lcyBiZWNvbWUgYXZhaWxhYmxlJmx0Oy9saSZndDsKICAgICZsdDtsaSZndDtIb3cgcHJlcGFyZWQgdGhlIGdyb3VwIGlzIGZvciBsYXRlciBkYW5nZXJzJmx0Oy9saSZndDsKJmx0Oy91bCZndDsKCiZsdDtwJmd0OwogICAgVGhlIG1haW4gbXlzdGVyeSBmb2xsb3dzIHRoZSBjZW50cmFsIHN0cnVjdHVyZSBvZiB0aGUgbm92ZWwsIGJ1dAogICAgbmV3IGludmVzdGlnYXRpb25zLCBjb252ZXJzYXRpb25zLCBhbmQgY2hhcmFjdGVyIG1vbWVudHMgbWFrZSB0aGlzCiAgICBhbiBhZGRpdGlvbmFsIEJyZWNrZW5yaWRnZSBleHBlcmllbmNlLgombHQ7L3AmZ3Q7CgombHQ7YXNpZGUgY2xhc3M9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXImcXVvdDsgYXJpYS1sYWJlbGxlZGJ5PSZxdW90O2JtLXNhdmUtZXhwbGFpbmVyLXRpdGxlJnF1b3Q7Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zYXZlLWV4cGxhaW5lci1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7UyZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXItY29udGVudCZxdW90OyZndDsKICAgICAgICAmbHQ7aDMgaWQ9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXItdGl0bGUmcXVvdDsmZ3Q7U2F2aW5nIFlvdXIgTXlzdGVyeSZsdDsvaDMmZ3Q7CgogICAgICAgICZsdDtwJmd0OwogICAgICAgICAgICBUaGUgZ2FtZSBrZWVwcyAmbHQ7c3Ryb25nJmd0O29uZSBhdXRvc2F2ZSZsdDsvc3Ryb25nJmd0OyBhbmQgdXBkYXRlcyBpdCBhdCBpbXBvcnRhbnQgbW9tZW50cywKICAgICAgICAgICAgaW5jbHVkaW5nIGNoYXB0ZXIgY2hlY2twb2ludHMgYW5kIGJhZGdlIGFjaGlldmVtZW50cy4gRWFjaCBuZXcgYXV0b21hdGljCiAgICAgICAgICAgIGNoZWNrcG9pbnQgcmVwbGFjZXMgdGhlIHByZXZpb3VzIGF1dG9zYXZlLgogICAgICAgICZsdDsvcCZndDsKCiAgICAgICAgJmx0O3AmZ3Q7CiAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7TWFudWFsIHNhdmVzIGFyZSBzZXBhcmF0ZS4mbHQ7L3N0cm9uZyZndDsgT3BlbiAmbHQ7c3Ryb25nJmd0O1NhdmVzJmx0Oy9zdHJvbmcmZ3Q7IHdoZW5ldmVyCiAgICAgICAgICAgIHlvdSB3YW50IHRvIHByZXNlcnZlIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGhlIG15c3RlcnkuIE1hbnVhbCBzYXZlcyByZW1haW4KICAgICAgICAgICAgYXZhaWxhYmxlIHVudGlsIHlvdSByZXBsYWNlIG9yIGRlbGV0ZSB0aGVtLgogICAgICAgICZsdDsvcCZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7c3Ryb25nJmd0O0xvYWQgQXV0b3NhdmUmbHQ7L3N0cm9uZyZndDsgcmV0dXJucyB0byB0aGUgbGF0ZXN0IGF1dG9tYXRpYyBjaGVja3BvaW50LiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtTYXZlcyZsdDsvc3Ryb25nJmd0OyBvcGVucyB5b3VyIG1hbnVhbCBzYXZlIG9wdGlvbnMuJmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvYXNpZGUmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwogICAgW1tTaG93IG1lIHRoZSBnYW1lcGxheSBiYXNpY3MtJmd0O0hvdyB0byBQbGF5IE9wZW5pbmddXQogICAgW1tMZXQgdGhlIG15c3RlcnkgYmVnaW4tJmd0O0VwaXNvZGUgMSBJbnRyb2R1Y3Rpb25dXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4IiBuYW1lPSJIb3cgdG8gUGxheSBPcGVuaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSI1MDAsMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkdHV0b3JpYWxTZWVuID0gdHJ1ZSZndDsmZ3Q7CgombHQ7aDImZ3Q7SG93IHRvIFBsYXkmbHQ7L2gyJmd0OwoKJmx0O2gzJmd0O0NoYW5naW5nIFBlcnNwZWN0aXZlcyZsdDsvaDMmZ3Q7CgombHQ7cCZndDsKCUVhY2ggY2hhcHRlciBpZGVudGlmaWVzIHRoZSBjaGFyYWN0ZXIgeW91IGN1cnJlbnRseSBjb250cm9sLgoJQ2hhcmFjdGVycyBkbyBub3QgYXV0b21hdGljYWxseSBrbm93IHdoYXQgaGFwcGVuZWQgZHVyaW5nIGFub3RoZXIKCWNoYXJhY3RlciYjMzk7cyBjaGFwdGVyLgombHQ7L3AmZ3Q7CgombHQ7aDMmZ3Q7SW52ZXN0aWdhdGlvbiZsdDsvaDMmZ3Q7CgombHQ7cCZndDsKCVNvbWUgY2x1ZXMgYXJlIHBhcnQgb2YgdGhlIGNlbnRyYWwgc3RvcnkuIE90aGVycyBjYW4gYmUgbWlzc2VkLgoJRXhhbWluaW5nIGFuIGFyZWEgY2FyZWZ1bGx5IG1heSByZXZlYWwgY2hvaWNlcyB0aGF0IHdvdWxkIG90aGVyd2lzZQoJcmVtYWluIHVuYXZhaWxhYmxlLgombHQ7L3AmZ3Q7CiZsdDtoMyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuIFRyYWNrZXImbHQ7L2gzJmd0OwombHQ7cCZndDsKCUtldmluIGNvdW50cyB1bmV4cGxhaW5lZCBldmVudHMgYXMgaGUgZW5jb3VudGVycyB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgUGF0dGVybiBUcmFja2VyIHJlY29yZHMgdGhlIHVuZXhwbGFpbmVkIGV2ZW50cyBoZSBwZXJzb25hbGx5Cglub3RpY2VzLiBEaWZmZXJlbnQgY2hvaWNlcyBtYXkgcHJvZHVjZSBkaWZmZXJlbnQgdG90YWxzLgombHQ7L3AmZ3Q7CgombHQ7aDMmZ3Q7Q29tbXVuaWNhdGlvbiZsdDsvaDMmZ3Q7CgombHQ7cCZndDsKCUZpbmRpbmcgYSBjbHVlIGFuZCBzaGFyaW5nIGEgY2x1ZSBhcmUgc2VwYXJhdGUgZGVjaXNpb25zLiBLZWVwaW5nCglzb21ldGhpbmcgcHJpdmF0ZSBtYXkgcHJvdGVjdCBhIGNoYXJhY3RlciB0ZW1wb3JhcmlseSwgYnV0IGl0IG1heQoJYWxzbyBsZWF2ZSBhbm90aGVyIGNoYXJhY3RlciB1bnByZXBhcmVkLgombHQ7L3AmZ3Q7CgombHQ7aDMmZ3Q7Tm8gUGVyZmVjdCBQZXJzb25hbGl0eSZsdDsvaDMmZ3Q7CgombHQ7cCZndDsKCUNob2ljZXMgYXJlIG5vdCBkaXZpZGVkIGludG8gYnJhdmUgYW5kIGNvd2FyZGx5IHJlc3BvbnNlcy4gT2JzZXJ2aW5nLAoJcHJlcGFyaW5nLCBzZWVraW5nIHN1cHBvcnQsIHN0ZXBwaW5nIGF3YXksIGFuZCB0YWtpbmcgYWN0aW9uIGNhbiBhbGwKCWJlIHJlYXNvbmFibGUgY2hvaWNlcyBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7aWYgZGVmICRibVJldHVyblBhc3NhZ2UgYW5kIFN0b3J5LmhhcygkYm1SZXR1cm5QYXNzYWdlKSBhbmQgJGJtUmV0dXJuUGFzc2FnZSBpc25vdCAmcXVvdDtIb3cgdG8gUGxheSBPcGVuaW5nJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBQcmV2aW91cyBTY3JlZW4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CgkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJJmx0OyZsdDtpZiBub3QgJHN0b3J5U3RhcnRlZCBvciAkZXBpc29kZSBpcyAwJmd0OyZndDsKCQlbW0JlZ2luIEVwaXNvZGUgMS0mZ3Q7RXBpc29kZSAxIEludHJvZHVjdGlvbl1dCgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjkiIG5hbWU9IkVwaXNvZGUgMSBJbnRyb2R1Y3Rpb24iIHRhZ3M9IiIgcG9zaXRpb249IjkyNSw3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGVwaXNvZGUgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgdG8gc2Nob29sIHdpdGhvdXQgYmVpbmcgbGF0ZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtTb21ldGhpbmcgSGVhcmQgVXMmbHQ7L2gxJmd0OwoKCSZsdDtwJmd0OwoJCVNlcHRlbWJlciA1LCAxOTc4CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIGZpcnN0IGRheSBvZiBzY2hvb2wgaGFzIGFycml2ZWQgaW4gQnJlY2tlbnJpZGdlLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCUluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZSwgc29tZXRoaW5nIGVsc2UgYXBwZWFycyB0byBoYXZlCgkJYXJyaXZlZCB3aXRoIGl0LgoJJmx0Oy9wJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkJW1tDb250aW51ZS0mZ3Q7Q2hhcHRlciAxIFRyYW5zaXRpb25dXQoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTAiIG5hbWU9IkNoYXB0ZXIgMSBUcmFuc2l0aW9uIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTI1LDIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7S2l0Y2hlbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgdG8gc2Nob29sIHdpdGhvdXQgYmVpbmcgbGF0ZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIE9uZSZsdDsvZGl2Jmd0OwoKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRG9uJiMzOTt0IFBhbmljLCBKdXN0IFByZXRlbmQgSXQgTWFrZXMgU2Vuc2UKCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtJbW1lZGlhdGUgb2JqZWN0aXZlOiZsdDsvc3Ryb25nJmd0OwoJCUdldCB0aHJvdWdoIHRoZSBtb3JuaW5nIHBsYW4gYW5kIGFycml2ZSBhdCB0aGUgbmV3IHNjaG9vbCB3aXRob3V0CgkJYXR0cmFjdGluZyBhdHRlbnRpb24uCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3Bvdi1ub3RpY2UmcXVvdDsmZ3Q7WW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O0tldmluJmx0Oy9zdHJvbmcmZ3Q7LiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQmVnaW4gS2V2aW4mIzM5O3MgZmlyc3QgbW9ybmluZy0mZ3Q7S2V2aW4gT3BlbmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTEiIG5hbWU9IktldmluIE9wZW5pbmciIHRhZ3M9IiIgcG9zaXRpb249IjEyNzUsMTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBLaXRjaGVuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0tlZXAgdGhlIG1vcm5pbmcgZnJvbSBmYWxsaW5nIGFwYXJ0JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwoJQSBuZXcgc2Nob29sLgoJQSBuZXcgdG93bi4KCVplcm8gZnJpZW5kcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBzYXQgYXQgdGhlIGtpdGNoZW4gdGFibGUsIHRyeWluZyB0byBwcmVwYXJlIGhpbXNlbGYgZm9yCglCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglOZXcgdGVhY2hlcnMuIE5ldyBjbGFzc21hdGVzLiBBIG5ldyBsb2NrZXIgaGUgcHJvYmFibHkgd291bGQgbm90CglmaW5kLiBIdW5kcmVkcyBvZiBvcHBvcnR1bml0aWVzIHRvIHNheSBzb21ldGhpbmcgZW1iYXJyYXNzaW5nIGluCglmcm9udCBvZiBwZW9wbGUgaGUgd291bGQgaGF2ZSB0byBzZWUgZXZlcnkgZGF5LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglNb20gY2FsbGVkIGl0IGFueGlldHkuIEtldmluIGNhbGxlZCBpdCBleGhhdXN0aW5nLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJSGUgaGFkIHNwZW50IHdlZWtzIGNvbnN0cnVjdGluZyB0aGUgbW9ybmluZyBwbGFuIGluIGhpcyBoZWFkOgoJYXJyaXZlIGVhcmx5LCBmaW5kIGhvbWVyb29tLCBsb2NhdGUgdGhlIGJhdGhyb29tLCBpZGVudGlmeSB0aGUKCWNhZmV0ZXJpYSwgYW5kIGZpbmQgdGhlIGxvY2tlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJZiBoZSBjb3VsZCBmaW5kIHRoZSBsb2NrZXIsIGhlIGNvdWxkIHByb2JhYmx5IGZpbmQgZXZlcnl0aGluZyBlbHNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZW4gdGhlIGhhbGx3YXkgbGFtcCBmbGlja2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJT25jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUd2ljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglBIGNvbGQgYnJlZXplIHNsaWQgYWNyb3NzIHRoZSBmbG9vciBhbmQgY3VybGVkIGFyb3VuZCBoaXMgYW5rbGVzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2F3TGFtcEZsaWNrZXIgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZlbHRDb2xkQWlyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgaGFsbHdheSBsYW1wIGZsaWNrZXJlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7Q29sZCBhaXIgbW92ZWQgdGhyb3VnaCB0aGUga2l0Y2hlbiZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgVHdvIHVuZXhwbGFpbmVkIGV2ZW50cy4mbHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJVGhlIGhhbGx3YXkgYXBwZWFyZWQgZGFya2VyIHRoYW4gaXQgaGFkIGEgbW9tZW50IGVhcmxpZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgYWxzbyBsb29rZWQgbG9uZ2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoYXQgd2FzIGltcG9zc2libGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIHRoZSBzYW1lIGhhbGx3YXksIHRoZSBzYW1lIGxhbXAsIGFuZCB0aGUgc2FtZSBzaGFkb3dzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUJ1dCBzb21ldGhpbmcgc2VlbWVkIHRvIGJlIHN0YW5kaW5nIGluc2lkZSB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZW1haW4gYXQgdGhlIHRhYmxlIGFuZCBzdHVkeSB0aGUgaGFsbHdheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluRXhhbWluZWRIYWxsd2F5ID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFdhdGNoZXMgdGhlIEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1dhbGsgY2xvc2VyIGJlZm9yZSB0aGUgc2hhcGUgZGlzYXBwZWFycy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5FeGFtaW5lZEhhbGx3YXkgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXBwcm9hY2hlcyB0aGUgSGFsbHdheSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VXNlIE1vbSYjMzk7cyBicmVhdGhpbmcgZXhlcmNpc2UgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb250cm9scyBIaXMgQnJlYXRoaW5nJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDYWxsIGZvciBBYmJpZS4gSGUgZG9lcyBub3QgbmVlZCB0byBpbnZlc3RpZ2F0ZSBhbG9uZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQ2FsbHMgZm9yIEFiYmllJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyIiBuYW1lPSJLZXZpbiBXYXRjaGVzIHRoZSBIYWxsd2F5IiB0YWdzPSIiIHBvc2l0aW9uPSIxNTAwLDE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglNb3ZpbmcgdG9vIHF1aWNrbHkgd291bGQgbWVhbiBhZG1pdHRpbmcgdGhhdCB0aGVyZSB3YXMgc29tZXRoaW5nCgl3b3J0aCBpbnZlc3RpZ2F0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVNvIGhlIHdhdGNoZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGxhbXAgZmxpY2tlcmVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBzaGFkb3dzIHNoaWZ0ZWQgaW4gdGhlIGZyYWN0aW9uIG9mIGRhcmtuZXNzIGJldHdlZW4gZWFjaCBmbGFzaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGF0IHdhcyB3aGVuIGhlIHNhdyB0aGUgc2hhcGUgY2xlYXJseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUYWxsLiBNb3Rpb25sZXNzLiBTdGFuZGluZyBhdCB0aGUgZmFyIGVuZCBvZiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG1vdmUgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG5lZWQgdG8uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIGFscmVhZHkgd2F0Y2hpbmcuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRrZXZpblNhd0hhbGx3YXlGaWd1cmUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGhhbGx3YXlGaWd1cmVDb25maXJtZWQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHRhbGwgZmlndXJlIHN0b29kIGluIHRoZSBoYWxsd2F5JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb24gcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHNhdyBhIHRhbGwgZmlndXJlCglpbnNpZGUgdGhlIGhhbGx3YXkgc2hhZG93cy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKCUtldmluIGJsaW5rZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGZpZ3VyZSB3YXMgZ29uZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O0FiYmllIEVudGVycyB0aGUgS2l0Y2hlbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMiIG5hbWU9IktldmluIEFwcHJvYWNoZXMgdGhlIEhhbGx3YXkiIHRhZ3M9IiIgcG9zaXRpb249IjE2MDAsNDI1IiBzaXplPSIxMDAsMTAwIj4KJmx0O3AmZ3Q7CglLZXZpbiBwdXNoZWQgYmFjayBmcm9tIHRoZSB0YWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgbGVncyBzY3JhcGVkIGFjcm9zcyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIHNvdW5kIHdhcyBvcmRpbmFyeSBhbmQgZmFtaWxpYXIsIGJ1dCB0aGUgaGFsbHdheSBzZWVtZWQgdG8KCXN3YWxsb3cgaXQgYmVmb3JlIGl0IGNvdWxkIHRyYXZlbCBtb3JlIHRoYW4gYSBmZXcgZmVldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSB0b29rIG9uZSBzdGVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjb2xkIGRlZXBlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFub3RoZXIgc3RlcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgc2hhcGUgYXQgdGhlIGVuZCBvZiB0aGUgaGFsbHdheSBiZWNhbWUgY2xlYXJlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUYWxsLiBNb3Rpb25sZXNzLiBXYWl0aW5nIG5lYXIgdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIGF0IHRoZSBsaW5lIHdoZXJlIHRoZSBraXRjaGVuIGVuZGVkIGFuZCB0aGUgaGFsbHdheQoJYmVnYW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGZpZ3VyZSBhcHBlYXJlZCB0byBsZWFuIGZvcndhcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgYmxpbmtlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglOb3RoaW5nIHN0b29kIHRoZXJlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2V2aW5TYXdIYWxsd2F5RmlndXJlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRoYWxsd2F5RmlndXJlQ29uZmlybWVkID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRoYWxsd2F5RmlndXJlVW5jZXJ0YWluID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSB0YWxsIGZpZ3VyZSBzdG9vZCBuZWFyIHRoZSBzdGFpcmNhc2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbiByZWNvcmRlZDombHQ7L3N0cm9uZyZndDsgVGhlIGZpZ3VyZSBhcHBlYXJlZCBuZWFyCgl0aGUgc3RhaXJjYXNlIGFuZCB2YW5pc2hlZCB3aGVuIEtldmluIHJlYWNoZWQgdGhlIGhhbGx3YXkuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIHRoZSB0YWJsZS0mZ3Q7QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNCIgbmFtZT0iS2V2aW4gQ29udHJvbHMgSGlzIEJyZWF0aGluZyIgdGFncz0iIiBwb3NpdGlvbj0iMTM1MCw3MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gcGxhbnRlZCBib3RoIGZlZXQgYWdhaW5zdCB0aGUga2l0Y2hlbiBmbG9vci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJbmhhbGUuCglIb2xkLgoJRXhoYWxlLgoJQ291bnQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIE1vbSYjMzk7cyBtZXRob2QuIEdpdmUgdGhlIGZlYXIgYSBib3VuZGFyeS4gR2l2ZSBpdCBudW1iZXJzCglpbnN0ZWFkIG9mIGxldHRpbmcgaXQgc3ByZWFkIGludG8gZXZlcnl0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBicmVhdGguIFRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJ5IHRoZSB0aGlyZCwgS2V2aW4mIzM5O3MgcHVsc2UgaGFkIHNsb3dlZCBlbm91Z2ggZm9yIGhpbSB0byBoZWFyIHRoZQoJa2l0Y2hlbiBhZ2FpbjogdGhlIHJlZnJpZ2VyYXRvciBodW1taW5nLCBhIHBpcGUgdGlja2luZyBpbnNpZGUgdGhlCgl3YWxsLCB0aGUgZmFpbnQgcnVzdGxlIG9mIGxlYXZlcyBhZ2FpbnN0IHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPcmRpbmFyeSBzb3VuZHMuIE9yZGluYXJ5IGhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY29tcGxldGVkIHRoZSBleGVyY2lzZSBiZWZvcmUgbG9va2luZyB0b3dhcmQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhZG93cyB3ZXJlIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gZmlndXJlLiBObyBtb3ZlbWVudC4gTm90aGluZyB0YWxsIG9yIG1vdGlvbmxlc3Mgd2FpdGluZyBuZWFyIHRoZQoJc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBzaG91bGQgaGF2ZSBtYWRlIGhpbSBmZWVsIGJldHRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGFsbW9zdCBkaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBoYWxsIGxhbXAgZmxpY2tlcmVkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgd2hpbGUgS2V2aW4gd2F0Y2hlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBpbnN0YW50IGhlIGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdHVybmVkIGJhY2suIFRoZSBsaWdodCByZW1haW5lZCBzdGVhZHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBubyBsb25nZXIgYmUgY2VydGFpbiB0aGF0IGFueW9uZSBoYWQgc3Rvb2QgdGhlcmUuIEhlIHdhcwoJYWxzbyBiZWdpbm5pbmcgdG8gc3VzcGVjdCB0aGUgbGFtcCBrbmV3IHdoZW4gaGUgd2FzIGxvb2tpbmcuCiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluU2F3SGFsbHdheUZpZ3VyZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIG1heSBoYXZlIHNlZW4gYSBzaGFwZSBpbiB0aGUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiB0aG91Z2h0IGhlIHNhdyBhIGZpZ3VyZSwKCWJ1dCBpdCBkaXNhcHBlYXJlZCBiZWZvcmUgaGUgY291bGQgY29uZmlybSBpdC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJRnJvbSBuZWFyIHRoZSBzdGFpcmNhc2UgY2FtZSBhIHNvZnQgc2NyYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzaWxlbmNlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE1IiBuYW1lPSJLZXZpbiBDYWxscyBmb3IgQWJiaWUiIHRhZ3M9IiIgcG9zaXRpb249IjEwMjUsNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0FiYmllPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3Mgdm9pY2UgY3Jvc3NlZCB0aGUga2l0Y2hlbiBhbmQgZW50ZXJlZCB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNob3VsZCBoYXZlIHRyYXZlbGVkIHVwc3RhaXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5zdGVhZCwgaXQgc2VlbWVkIHRvIHN0b3AgbmVhciB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYWRvdyBhdCB0aGUgZmFyIGVuZCByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllISZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9vdHN0ZXBzIGh1cnJpZWQgb3ZlcmhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWxlYXNlZCB0aGUgYnJlYXRoIGhlIGhhZCBiZWVuIGhvbGRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIgc2V0IG9mIGZvb3RzdGVwcyBhbnN3ZXJlZCBmcm9tIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2xvd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgdHdvIHNlcGFyYXRlIHJoeXRobXMgbW92ZWQgdGhyb3VnaCB0aGUgaG91c2UuCglBYmJpZSYjMzk7cyBxdWljayBzdGVwcyBjYW1lIGZyb20gdXBzdGFpcnMuIFRoZSBvdGhlcnMgY2FtZSBmcm9tIG5lYXIgdGhlCglzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0cmllZCB0byBjb3VudCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVhY2hlZCB0aGUga2l0Y2hlbiBkb29yd2F5IGJlZm9yZSBoZSBmaW5pc2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgc2V0IHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTbyBkaWQgdGhlIGZsaWNrZXJpbmcgbGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xkIGFpciB2YW5pc2hlZCBzbyBxdWlja2x5IHRoYXQgd2FybXRoIHJ1c2hlZCBwYWluZnVsbHkgYmFjawoJaW50byBLZXZpbiYjMzk7cyBhbmtsZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBlbnRlcmVkIHN3aW5naW5nIGhlciBiYWNrcGFjayBhbmQgaHVtbWluZyBhIHNvbmcgdGhhdCBhcHBlYXJlZAoJdG8gaGF2ZSBubyB0dW5lLCBubyBlbmRpbmcsIGFuZCBwb3NzaWJseSBubyBiZWdpbm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgcGFzdCBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIHN0b29kIGluIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRoYWxsd2F5RmlndXJlVW5jZXJ0YWluID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblNhd0hhbGx3YXlGaWd1cmUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiBoZWFyZCBmb290c3RlcHMgbmVhciB0aGUgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCBzZXQgb2YgZm9vdHN0ZXBzIHN0b3BwZWQgd2hlbiBBYmJpZSBlbnRlcmVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBjYWxsZWQgdXJnZW50bHkgZnJvbSB0aGUga2l0Y2hlbiZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb24gcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGhlYXJkIGEgc2Vjb25kIHNldCBvZgoJZm9vdHN0ZXBzLCBidXQgaGUgZGlkIG5vdCBzZWUgd2hvIG1hZGUgdGhlbS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZCBodW1taW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IGRpZCB5b3UgY2FsbCBtZSBsaWtlIHRoZSBob3VzZSB3YXMgb24gZmlyZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgYXQgdGhlIGhhbGx3YXkgbGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhc24mIzM5O3QgYSBmaXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgZGltbWVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UHJvYmFibHksJnF1b3Q7IEtldmluIGFkZGVkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2IiBuYW1lPSJBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW4iIHRhZ3M9IiIgcG9zaXRpb249Ijk3NSw4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEtpdGNoZW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIGhvdyBtdWNoIEtldmluIHNob3VsZCB0ZWxsIEFiYmllJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBza2lwcGVkIGludG8gdGhlIGtpdGNoZW4gYXMgaWYgbm90aGluZyB1bnVzdWFsIGhhZCBoYXBwZW5lZAoJYW55d2hlcmUgaW4gdGhlIHdvcmxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGJhY2twYWNrIHN3dW5nIGZyb20gb25lIGhhbmQgYW5kIHN0cnVjayB0aGUgc2lkZSBvZiB0aGUgZG9vcndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRodW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ganVtcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZC4gJnF1b3Q7VGhhdCB3YXMgbXkgYmFja3BhY2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgbG9va2VkIGxpa2UgeW91IHRob3VnaHQgaXQgd2FzIGEgbW9uc3Rlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkIG5vdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0dWRpZWQgaGltIHdpdGggdGhlIHNlcmlvdXMgY29uY2VudHJhdGlvbiBzaGUgbm9ybWFsbHkKCXJlc2VydmVkIGZvciBjYXJ0b29ucyBhbmQgY2VyZWFsLWJveCBwcml6ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZGlkIHRoZSBmYWNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBmYWNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGZhY2Ugd2hlcmUgeW91ciBleWVzIGdldCBiaWcgYW5kIHlvdXIgbW91dGggZm9yZ2V0cyB3aGF0IGl0IHdhcwoJZG9pbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgaGlzIG1vdXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbm9kZGVkLiAmcXVvdDtUaGF0IG9uZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoZXIsIHRoZSBoYWxsd2F5IGxvb2tlZCBvcmRpbmFyeSBhZ2Fpbi4gVGhlIGxhbXAgZ2xvd2VkCglzdGVhZGlseS4gVGhlIHNoYWRvd3MgcmVzdGVkIHdoZXJlIHNoYWRvd3Mgd2VyZSBzdXBwb3NlZCB0byByZXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlbiB0aGUgYWlyIGhhZCB3YXJtZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgYXMgdGhvdWdoIHRoZSBob3VzZSBoYWQgc3RyYWlnaHRlbmVkIGl0c2VsZiBiZWZvcmUgQWJiaWUgc2F3Cgl3aGF0IGl0IGhhZCBiZWVuIGRvaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGdsYW5jZWQgb3ZlciBoZXIgc2hvdWxkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHdlcmUgeW91IGxvb2tpbmcgYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIHRlbGwgaGVyPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtpZiAkaGFsbHdheUZpZ3VyZUNvbmZpcm1lZCZndDsmZ3Q7CgkJJmx0OyZsdDtsaW5rICZxdW90O1RlbGwgQWJiaWUgZXhhY3RseSB3aGF0IGhlIHNhdy4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5Ub2xkQWJiaWUgPSB0cnVlJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsKCQkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHNhdyBhIGhhbGx3YXkgZmlndXJlJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBUZWxscyBBYmJpZSBFdmVyeXRoaW5nJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4mZ3Q7Jmd0OwoJCSZsdDsmbHQ7bGluayAmcXVvdDtUZWxsIEFiYmllIGhlIHRob3VnaHQgaGUgc2F3IG9yIGhlYXJkIHNvbWV0aGluZy4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5Ub2xkQWJiaWUgPSB0cnVlJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHRob3VnaHQgc29tZXRoaW5nIHdhcyBpbiB0aGUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGVsbHMgQWJiaWUgU29tZXRoaW5nIFdhcyBUaGVyZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoZXRoZXIgc2hlIGZlbHQgdGhlIGNvbGQgYWlyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBhc2tlZCBhYm91dCBjb2xkIGFpciBpbiB0aGUga2l0Y2hlbiZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBc2tzIEFib3V0IHRoZSBDb2xkJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O01ha2UgYSBqb2tlIGFuZCBwcmV0ZW5kIG5vdGhpbmcgaGFwcGVuZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gSGlkZXMgdGhlIEluY2lkZW50JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgdGhlIGxhbXAgc3RvcHBlZCB3aGVuIHNoZSBlbnRlcmVkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaGFsbHdheSBsYW1wIHN0b3BwZWQgZmxpY2tlcmluZyB3aGVuIEFiYmllIGVudGVyZWQmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYm91dCB0aGUgTGFtcCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNyIgbmFtZT0iS2V2aW4gVGVsbHMgQWJiaWUgRXZlcnl0aGluZyIgdGFncz0iIiBwb3NpdGlvbj0iODI1LDkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtUaGVyZSB3YXMgc29tZW9uZSBpbiB0aGUgaGFsbHdheS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dobz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IGtub3cuIEEgdGFsbCBmaWd1cmUgbmVhciB0aGUgc3RhaXJjYXNlLiBJdCB3YXMgc3RhbmRpbmcgaW4KCXRoZSBzaGFkb3dzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGVhbmVkIHNpZGV3YXlzIGFuZCBsb29rZWQgcGFzdCB0aGUga2l0Y2hlbiBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbW92ZWQgYmV0d2VlbiBoZXIgYW5kIHRoZSBoYWxsd2F5IGJlZm9yZSByZWFsaXppbmcgaGUgaGFkIGRvbmUKCWl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXMgc29tZW9uZSBoaWRpbmc/JnF1b3Q7IHNoZSBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiBNYXliZS4gSSBkb24mIzM5O3Qga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Rob3NlIGFyZSB0aHJlZSBkaWZmZXJlbnQgYW5zd2Vycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYW5rIHlvdSwgQWJiaWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3R1ZGllZCB0aGUgZW1wdHkgaGFsbC4gJnF1b3Q7TWF5YmUgdGhlIHBlcnNvbiBnb3Qgc2h5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQZW9wbGUgZG9uJiMzOTt0IG5vcm1hbGx5IGhpZGUgaW4gb3VyIGhhbGx3YXkgYmVjYXVzZSB0aGV5JiMzOTtyZSBzaHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIb3cgZG8geW91IGtub3c/IFlvdSBkaWRuJiMzOTt0IGFzay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJldHVybmVkIGhlciBhdHRlbnRpb24gdG8gS2V2aW4sIGFwcGFyZW50bHkgc2F0aXNmaWVkIHRoYXQgaGlzCglmYWlsdXJlIHRvIGludGVydmlldyB0aGUgaGFsbHdheSBmaWd1cmUgd2FzIHRoZSByZWFsIHByb2JsZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgaXQgaGF2ZSBhIGZhY2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0cmllZCB0byByZW1lbWJlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlaWdodC4gU2hvdWxkZXJzLiBBIGhlYWQgdGlsdGVkIHNsaWdodGx5IHRvIG9uZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gZmFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBiZWVuIGNlcnRhaW4gc29tZXRoaW5nIHdhcyB3YXRjaGluZyBoaW0sIGJ1dCBoZSBjb3VsZCBub3QKCXJlbWVtYmVyIHNlZWluZyBleWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBjb3VsZG4mIzM5O3Qgc2VlIG9uZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIGhhbGx3YXkgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSBpdCBsZWZ0IGl0IHNvbWV3aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb21tZW50IHdhcyByaWRpY3Vsb3VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2lzaGVkIGl0IGhhZCBzb3VuZGVkIHJpZGljdWxvdXMuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIGNvdWxkIG5vdCBzZWUgYSBmYWNlIG9uIHRoZSBoYWxsd2F5IGZpZ3VyZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S25vd2xlZGdlIHNoYXJlZDombHQ7L3N0cm9uZyZndDsgQWJiaWUga25vd3MgS2V2aW4gc2F3IGEgdGFsbCBmaWd1cmUKCW5lYXIgdGhlIHN0YWlyY2FzZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQSBzb2Z0IGNsaWNrIGNhbWUgZnJvbSB0aGUgaGFsbHdheSBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBvZiB0aGVtIGxvb2tlZCB0b3dhcmQgaXQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgd2l0aCB0aGUgbW9ybmluZy0mZ3Q7QWJiaWUgRGVsaXZlcnMgdGhlIE5vdGVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4IiBuYW1lPSJBYmJpZSBEZWxpdmVycyB0aGUgTm90ZSIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDExMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVbmRlcnN0YW5kIHRoZSBtb3JuaW5nIHBsYW4mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUFiYmllIHN1ZGRlbmx5IHJlbWVtYmVyZWQgdGhlIGZvbGRlZCBwYXBlciBpbiBoZXIgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBhcmUgd2Fsa2luZyBtZSB0byBzY2hvb2wsJnF1b3Q7IHNoZSBhbm5vdW5jZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgcmFpc2VkIHRoZSBub3RlIGFib3ZlIGhlciBoZWFkIGxpa2Ugc2hlIGhhZCB3b24gZmlyc3QgcHJpemUgYXQKCXRoZSBmYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3Mgc3RvbWFjaCB0aWdodGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZG9uJiMzOTt0IGtub3cgeWV0LiBJIGRpZG4mIzM5O3QgcmVhZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01vbSB0b2xkIG1lIGxhc3QgbmlnaHQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdhcyB0aGUgb2xkIHRlbGxpbmcuIFRoaXMgaXMgdGhlIG5vdGUgdGVsbGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlZm9yZSBLZXZpbiBjb3VsZCBleHBsYWluIHdoeSBpbmZvcm1hdGlvbiBkaWQgbm90IGJlY29tZSBuZXcgc2ltcGx5CgliZWNhdXNlIGl0IGFwcGVhcmVkIG9uIHBhcGVyLCBBYmJpZSBjbGVhcmVkIGhlciB0aHJvYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTcHJlcHRlbWJlciBmaXZlLCBvbmUtbmluZS1zZXZlbi1laWdodC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIFNlcHRlbWJlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzYWlkIFNwcmVwdGVtYmVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBzYWlkIGl0IGZhc3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgYWRkZWQgbGV0dGVycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGlnbm9yZWQgaGltIGFuZCBjb250aW51ZWQgcmVhZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tldmluLCBkb24mIzM5O3QgZm9yZ2V0IHRvIHdhbGsgQWJiaWUgdG8gc2Nob29sLiBJIHdpbGwgcGljayBoZXIgdXAuCglMb3ZlLCBNb20uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgdGFwcGVkIGhlciBjaGVzdC4gJnF1b3Q7VGhhdCYjMzk7cyBtZSwgYnkgdGhlIHdheS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYW5rIHlvdS4gSSB3YXMgbG9zaW5nIHRyYWNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFuZGVkIGhpbSB0aGUgbm90ZSB3aXRoIGEgd2lkZSwgdmljdG9yaW91cyBncmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVhZCBpdCBoaW1zZWxmLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvcmRzIHdlcmUgb3JkaW5hcnkuIE1vbSYjMzk7cyBoYW5kd3JpdGluZy4gTW9tJiMzOTtzIGJsdWUgcGVuLiBBIHNtYWxsCglpbmsgc21lYXIgYmVzaWRlIHRoZSBkYXRlIHdoZXJlIGhlciBoYW5kIG11c3QgaGF2ZSBicnVzaGVkIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5dGhpbmcgYWJvdXQgaXQgd2FzIHJlYXNzdXJpbmdseSBub3JtYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFeGNlcHQgdGhlIGRhdGUgbG9va2VkIGRhcmtlciB0aGFuIHRoZSByZXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2VwdGVtYmVyIDUsIDE5NzguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0aWx0ZWQgdGhlIG5vdGUgdG93YXJkIHRoZSBraXRjaGVuIGxpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIGEgbW9tZW50LCB0aGUgZmluYWwgZGlnaXQgYXBwZWFyZWQgZGlzdG9ydGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGFuIGVpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBzdHJva2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSUkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhdGUgd2FzIG5vcm1hbCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7IEFiYmllIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGZvbGRlZCB0aGUgbm90ZSBiZWZvcmUgdGhlIGluayBjb3VsZCBjaGFuZ2UgaXRzIG1pbmQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O01vbSYjMzk7cyBub3RlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtNb20mIzM5O3Mgbm90ZSBpcyBkYXRlZCBTZXB0ZW1iZXIgNSwgMTk3OCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZWFjdCB0byB0aGUgY2hhbmdlIGluIHBsYW5zPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FjY2VwdCB0aGUgcGxhbiBhbmQgZm9jdXMgb24gZ2V0dGluZyBBYmJpZSByZWFkeS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQWNjZXB0cyB0aGUgTW9ybmluZyBQbGFuJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1RlbGwgQWJiaWUgdGhleSBuZWVkIHRvIGxlYXZlIGltbWVkaWF0ZWx5LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBUcmllcyB0byBIdXJyeSBBYmJpZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciBBYmJpZSBub3RpY2VkIGFueXRoaW5nIHN0cmFuZ2UgYWJvdXQgdGhlIGRhdGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBc2tzIEFib3V0IHRoZSBOb3RlIERhdGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Sm9rZSB0aGF0IHRoZSBub3RlIGhhcyBydWluZWQgaGlzIGVudGlyZSBsaWZlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBKb2tlcyBBYm91dCB0aGUgUGxhbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOSIgbmFtZT0iS2V2aW4gQXNrcyBBYm91dCB0aGUgQ29sZCIgdGFncz0iIiBwb3NpdGlvbj0iMTIyNSwxMjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0RpZCB5b3UgZmVlbCB0aGUgY29sZCBhaXIgd2hlbiB5b3UgY2FtZSBpbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJ1YmJlZCBvbmUgaGFuZCBvdmVyIGhlciBhcm0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGNvbGQgYWlyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIG1vdmluZyB0aHJvdWdoIHRoZSBraXRjaGVuLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgdGhlIHJlZnJpZ2VyYXRvciBzbmVlemVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UmVmcmlnZXJhdG9ycyBkb24mIzM5O3Qgc25lZXplLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiBtYXliZSBpdCBjb3VnaGVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgcmVmcmlnZXJhdG9yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG9sZCwgbG91ZCwgYW5kIHNoYXBlZCBsaWtlIGFuIGFwcGxpYW5jZSB0aGF0IG1pZ2h0IHJlc2VudCBiZWluZwoJZGlzY3Vzc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBub3QgYmV0dGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2Fsa2VkIHRvIHRoZSBoYWxsd2F5IGVudHJhbmNlIGFuZCBoZWxkIG91dCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFsbW9zdCB0b2xkIGhlciBub3QgdG8uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vIGNvbGQsJnF1b3Q7IHNoZSBhbm5vdW5jZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGhlciBmaW5nZXJzIHR3aXRjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcHVsbGVkIGhlciBoYW5kIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzYXcgdGhlIG1vdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZmVsdCBzb21ldGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0dWNrZWQgaGVyIGhhbmQgYmVoaW5kIGhlciBiYWNrLiAmcXVvdDtJdCB0aWNrbGVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCB0aWNrbGVkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHNocnVnZ2VkLiAmcXVvdDtUaGUgYWlyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYWlkIHRoZSBoYWxsd2F5IGFpciB0aWNrbGVkIGhlciBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtTb21ldGhpbmcgaW4gdGhlIGhhbGx3YXkgYWlyIHRvdWNoZWQgQWJiaWUmIzM5O3MgaGFuZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBkZW5pZWQgZmVlbGluZyBjb2xkIGJ1dAoJc2FpZCB0aGUgaGFsbHdheSBhaXIg4oCcdGlja2xlZOKAnSBoZXIgaGFuZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGludG8gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhZG93cyBoYWQgbm90IG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgd2FzIGFsbW9zdCBjZXJ0YWluLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHdpdGggdGhlIG1vcm5pbmctJmd0O0FiYmllIERlbGl2ZXJzIHRoZSBOb3RlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMCIgbmFtZT0iS2V2aW4gSGlkZXMgdGhlIEluY2lkZW50IiB0YWdzPSIiIHBvc2l0aW9uPSIxNTAwLDg3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtJIHdhcyBjaGVja2luZyB3aGV0aGVyIHRoZSBoYWxsd2F5IHdhcyBzdGlsbCB0aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBwYXN0IGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7R29vZC4gVGhlbiB0aGUgaW5zcGVjdGlvbiB3YXMgc3VjY2Vzc2Z1bC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvIGhhbGx3YXlzIGdvIGF3YXk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3QgdXN1YWxseS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB0aGlzIG9uZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvcmNlZCBhIGxhdWdoLiAmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsYXVnaCBzb3VuZGVkIHRoaW4gYW5kIHVuZmluaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb250aW51ZWQgd2F0Y2hpbmcgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcGlja2VkIHVwIGhpcyBvcmFuZ2UganVpY2UgYW5kIGRyYW5rIHdpdGhvdXQgY2hlY2tpbmcgaG93IG11Y2gKCXJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdsYXNzIHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN3YWxsb3dlZCBhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBncmlubmVkLiAmcXVvdDtHb29kIGp1aWNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RXhjZWxsZW50LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVoaW5kIGhlciwgdGhlIGxhbXAgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga2VwdCBoaXMgZXllcyBvbiBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUlmIGhlIGRpZCBub3QgYWNrbm93bGVkZ2UgdGhlIGhhbGx3YXksIHBlcmhhcHMgdGhlIGhhbGx3YXkgd291bGQKCXJldHVybiB0aGUgZmF2b3IuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0luY2lkZW50IGNvbmNlYWxlZDombHQ7L3N0cm9uZyZndDsgS2V2aW4gY2hvc2Ugbm90IHRvIHRlbGwgQWJiaWUKCXdoYXQgaGFwcGVuZWQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBsaWdodCByZWZsZWN0ZWQgaW4gdGhlIGVtcHR5IGp1aWNlIGdsYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIGFuIGluc3RhbnQsIGEgdGFsbCBkYXJrIHNoYXBlIGFwcGVhcmVkIGJlaGluZCBLZXZpbiYjMzk7cyByZWZsZWN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc2V0IHRoZSBnbGFzcyBmYWNlZG93bi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjEiIG5hbWU9IktldmluIEFza3MgQWJvdXQgdGhlIExhbXAiIHRhZ3M9IiIgcG9zaXRpb249IjE1MjUsMTEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIHRoZSBsYW1wIHN0b3AgZmxpY2tlcmluZyB3aGVuIHlvdSBjYW1lIGluPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IHRoZSBoYWxsd2F5IGxpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgaXQgbGlrZXMgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtMYW1wcyBkb24mIzM5O3QgbGlrZSBwZW9wbGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSB0aGF0IG9uZSBkb2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpZ2h0IHJlbWFpbmVkIHBlcmZlY3RseSBzdGVhZHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXZlIGF0IGl0LCZxdW90OyBoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2F2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2F5IGdvb2RieWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHb29kYnllLCBsYW1wLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1bGIgZGltbWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCBicmVhdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgYnJpZ2h0ZW5lZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxhdWdoZWQuICZxdW90O0l0IGhlYXJkIG1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCYjMzk7cyBub3QgZnVubnkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCB3YXMgYSBsaXR0bGUgZnVubnkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IHRoZSBzd2l0Y2ggb24gdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBoYWQgbm90IG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaGFsbHdheSBsYW1wIGRpbW1lZCBhZnRlciBBYmJpZSBzYWlkIGdvb2RieWUgdG8gaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBoYWxsd2F5IGxhbXAgYXBwZWFyZWQgdG8gcmVzcG9uZCB3aGVuIEFiYmllIHNwb2tlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoYWxsd2F5IGxhbXAgZGltbWVkIGFmdGVyCglBYmJpZSBzcG9rZSB0byBpdC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2F2ZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVsYiBzdGF5ZWQgYnJpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyZxdW90OyBzaGUgc2FpZC4gJnF1b3Q7Tm93IGl0JiMzOTtzIGJlaW5nIHJ1ZGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgd2l0aCB0aGUgbW9ybmluZy0mZ3Q7QWJiaWUgRGVsaXZlcnMgdGhlIE5vdGVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyIiBuYW1lPSJLZXZpbiBSZWJ1aWxkcyB0aGUgUGxhbiIgdGFncz0iIiBwb3NpdGlvbj0iMzc1LDEwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gcmVidWlsdCB0aGUgbW9ybmluZyBpbiBoaXMgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglXYWxrIEFiYmllIHRvIHNjaG9vbC4gRG8gbm90IHNraXAuIERvIG5vdCBzaW5nLiBEbyBub3QgYmVjb21lIFBldGVyCglQYW4gYWdhaW4uIFRoZW4gaHVycnkgdG8gdGhlIG1pZGRsZSBzY2hvb2wsIGZpbmQgaG9tZXJvb20sIGZpbmQgdGhlCglsb2NrZXIsIGFuZCBhdm9pZCBzcGVha2luZyB1bnRpbCBzb21lb25lIGFza2VkIGEgZGlyZWN0IHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUl0IHdhcyBub3QgdGhlIG9yaWdpbmFsIHBsYW4sIGJ1dCBpdCB3YXMgYSBwbGFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVBsYW5zIHdlcmUgZmVuY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUZlbmNlcyBrZXB0IGV2ZXJ5dGhpbmcgZnJvbSBydXNoaW5nIGluIGF0IG9uY2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIGhvdyBtdWNoIHRpbWUgcmVtYWlucy0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBUaW1lXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMyIgbmFtZT0iS2V2aW4gQ2hlY2tzIHRoZSBUaW1lIiB0YWdzPSIiIHBvc2l0aW9uPSI1MDAsMTIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogS2l0Y2hlbiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgYXQgaGlzIGRpZ2l0YWwgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIHNjcmVlbiB3YXMgYmxhbmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgcHJlc3NlZCBvbmUgYnV0dG9uLiBUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBoYWQgYmVlbiB3ZWFyaW5nIHRoZSB3YXRjaCBhbGwgbW9ybmluZywgYW5kIGl0IGhhZCBiZWVuIHdvcmtpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgY2xvY2sgYWJvdmUgdGhlIHN0b3ZlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBvbGQgd29vZGVuIGNsb2NrIGhhZCBzdG9wcGVkIGF0IDk6MTQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIHNlY29uZCBoYW5kIHdhcyBub3Qgc3R1Y2sgYmV0d2VlbiBtYXJrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCB3YXMgZ29uZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJG5vdGljZWRGcm96ZW5UaW1lID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBhbmQgdGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q2x1ZSBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiYjMzk7cyBkaWdpdGFsIHdhdGNoIGZhaWxlZCwgYW5kCgl0aGUga2l0Y2hlbiBjbG9jayBzdG9wcGVkIGF0IDk6MTQuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgZXhwbGFuYXRpb24gc2hvdWxkIEtldmluIGFjY2VwdD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Qm90aCBjbG9ja3MgbWFsZnVuY3Rpb25lZC4gVW5saWtlbHkgZG9lcyBub3QgbWVhbiBpbXBvc3NpYmxlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRXhwbGFpbnMgdGhlIENsb2NrcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VHdvIGZhaWx1cmVzIGF0IHRoZSBzYW1lIHRpbWUgYXJlIHBhcnQgb2YgdGhlIHBhdHRlcm4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBY2NlcHRzIHRoZSBQYXR0ZXJuJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgQWJiaWUgd2hldGhlciBzaGUgbm90aWNlZCB0aGUgY2xvY2sgc3RvcC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtBYmJpZSBFeGFtaW5lcyB0aGUgQ2xvY2smcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0lnbm9yZSB0aGUgY2xvY2tzIGFuZCBjb25jZW50cmF0ZSBvbiBsZWF2aW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFJlZnVzZXMgdGhlIFBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQiIG5hbWU9IktldmluIFB1c2hlcyB0aGUgU2NoZWR1bGUiIHRhZ3M9IiIgcG9zaXRpb249IjY1MCwxMTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1dlIG5lZWQgdG8gbGVhdmUgbm93LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIGNlcmVhbCBjdXBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtBZnRlciBicmVha2Zhc3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7V2UgZG9uJiMzOTt0IGhhdmUgdGltZSBmb3IgYnJlYWtmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0kgbmVlZCBhIGJyYWxhbmNlZCBhbmQgbnJ1ZGl0aW9ucmFsIGJyZWFrZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBzdGFyZWQgYXQgaGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0JhbGFuY2VkIGFuZCBudXRyaXRpb25hbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0JiMzOTtzIHdoYXQgSSBzYWlkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIHJlYWNoZWQgZm9yIGhpcyB3YXRjaCB0byBwcm92ZSBob3cgbGF0ZSB0aGV5IHdlcmUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIHRoZSB0aW1lLSZndDtLZXZpbiBDaGVja3MgdGhlIFRpbWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1IiBuYW1lPSJLZXZpbiBBc2tzIEFiYmllIGZvciBIZWxwIiB0YWdzPSIiIHBvc2l0aW9uPSI0NzUsNzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0kgbmVlZCB5b3VyIGhlbHAgdGhpcyBtb3JuaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgd2F2aW5nIHRoZSBub3RlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIGFsbW9zdCBuZXZlciBhZG1pdHRlZCB0aGF0IGhlIG5lZWRlZCBoZWxwIGZyb20gaGlzIHlvdW5nZXIKCXNpc3Rlci4gSGUgaW1tZWRpYXRlbHkgY29uc2lkZXJlZCB0YWtpbmcgdGhlIHdvcmRzIGJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlIHRvIGZpbmQgZXZlcnl0aGluZyBhdCB0aGUgbmV3IHNjaG9vbCwmcXVvdDsgaGUgY29udGludWVkLgoJJnF1b3Q7U28gSSBuZWVkIHVzIHRvIGxlYXZlIG9uIHRpbWUuIE5vIHNpbmdpbmcuIE5vIHNraXBwaW5nLiBObyBQZXRlcgoJUGFuLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIGNvbnNpZGVyZWQgdGhlIHJlcXVlc3Qgd2l0aCBzdXJwcmlzaW5nIHNlcmlvdXNuZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1dlIGNhbiB3YWxrIG5vcm1hbCwmcXVvdDsgc2hlIHNhaWQuICZxdW90O0J1dCBvbmx5IHVudGlsIHRoZSBzaWRld2Fsay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgZ29vZCBhZ3JlZW1lbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIHRoZSBiZXN0IGFncmVlbWVudCBoZSB3YXMgbGlrZWx5IHRvIGdldC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGlzIHdvcnJpZWQgYWJvdXQgYXJyaXZpbmcgbGF0ZSB0byBoaXMgbmV3IHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgaG93IG11Y2ggdGltZSByZW1haW5zLSZndDtLZXZpbiBDaGVja3MgdGhlIFRpbWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2IiBuYW1lPSJLZXZpbiBFeHBsYWlucyB0aGUgQ2xvY2tzIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTc1LDY3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglUaGUgd2F0Y2ggYmF0dGVyeSB3YXMgZGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUga2l0Y2hlbiBjbG9jayB3YXMgb2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRob3NlIHdlcmUgdHdvIG5vcm1hbCBleHBsYW5hdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGZhY3QgdGhhdCBib3RoIGZhaWx1cmVzIGhhcHBlbmVkIGR1cmluZyB0aGUgc2FtZSBzdHJhbmdlIG1vcm5pbmcKCWRpZCBub3QgYXV0b21hdGljYWxseSBtZWFuIHRoZXkgd2VyZSBjb25uZWN0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gcmVwZWF0ZWQgdGhhdCBjb25jbHVzaW9uIHVudGlsIGl0IGFsbW9zdCBzb3VuZGVkIHJlYXNvbmFibGUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNyIgbmFtZT0iQWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbCIgdGFncz0iIiBwb3NpdGlvbj0iMTcwMCw4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgZmVkIGFuZCBsZWF2ZSBmb3Igc2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkcmFnZ2VkIGEgY2hhaXIgdG93YXJkIHRoZSBjdXBib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b29kZW4gbGVncyBzY3JhcGVkIGFjcm9zcyB0aGUga2l0Y2hlbiBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCByZW1pbmRlZCBLZXZpbiBvZiB0aGUgc2NyYXBlIGhlIGhhZCBoZWFyZCBuZWFyIHRoZQoJc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG9sZCBoaW1zZWxmIG5vdCB0byBjb25uZWN0IGV2ZXJ5dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGhlIHRvbGQgaGltc2VsZiB0aGF0IHJlZnVzaW5nIHRvIGNvbm5lY3QgYW55dGhpbmcgd2FzIGFsc28gYQoJcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHBvc2l0aW9uZWQgdGhlIGNoYWlyIGJlbmVhdGggdGhlIGN1cGJvYXJkIGFuZCBjbGltYmVkIG9udG8gaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNb20gc2FpZCBub3QgdG8gc3RhbmQgb24gY2hhaXJzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TW9tIHNhaWQgdG8gZWF0IGJyZWFrZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Rob3NlIGluc3RydWN0aW9ucyBkbyBub3QgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhleSBkbyBpZiB0aGUgY2VyZWFsIGlzIGhpZ2guJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBiYWxhbmNlZCBvbmUga25lZSBhZ2FpbnN0IHRoZSBjb3VudGVyIGFuZCByZWFjaGVkIHRvd2FyZCB0aGUKCXRvcCBzaGVsZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciBzaGlmdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgaGFuZCBtb3ZlZCBiZWZvcmUgdGhlIHJlc3Qgb2YgaGltIGRlY2lkZWQgd2hhdCB0byBkby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gdGhlIGhhbGx3YXkgY2FtZSBhIGZhaW50IGNyZWFrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc291bmRlZCBhbG1vc3QgbGlrZSB0aGUgaG91c2Ugc2hpZnRpbmcgaXRzIHdlaWdodCB0byB3YXRjaC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0xldCBBYmJpZSBnZXQgdGhlIGNlcmVhbCBoZXJzZWxmLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QWJiaWUgR2V0cyBIZXIgT3duIENlcmVhbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtHZXQgdGhlIGNlcmVhbCBmb3IgaGVyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBHZXRzIHRoZSBDZXJlYWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RlYWR5IHRoZSBjaGFpciB3aGlsZSBBYmJpZSByZWFjaGVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTdGVhZGllcyB0aGUgQ2hhaXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBoZXIgdG8gY2xpbWIgZG93biBpbW1lZGlhdGVseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gT3JkZXJzIEFiYmllIERvd24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TG93ZXIgaGlzIGhlYWQgYW5kIGhvcGUgdGhlIG1vcm5pbmcgcGF1c2VzIGZvciBhIHNlY29uZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBGb2xkcyBJbndhcmQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjgiIG5hbWU9IktldmluIEFjY2VwdHMgdGhlIFBhdHRlcm4iIHRhZ3M9IiIgcG9zaXRpb249IjEyNSw4NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gcmVzdGVkIGJvdGggaGFuZHMgb24gdGhlIGtpdGNoZW4gdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgZmF1bHR5IG9iamVjdCB3YXMgYSBtYWxmdW5jdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBvYmplY3RzIGZhaWxpbmcgYXQgdGhlIHNhbWUgdGltZSBzdWdnZXN0ZWQgYSBjYXVzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBvYmplY3RzIGRpc3BsYXlpbmcgdGhlIHNhbWUgaW1wb3NzaWJsZSB0aW1lIHN1Z2dlc3RlZCBpbnRlbnQuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkaGFsbHdheUZpZ3VyZUNvbmZpcm1lZCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBIGZpZ3VyZSBoYWQgc3Rvb2QgaW4gdGhlIGhhbGx3YXkuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRoYWxsd2F5RmlndXJlVW5jZXJ0YWluJmd0OyZndDsKCSZsdDtwJmd0OwoJCVNvbWV0aGluZyBoYWQgbW92ZWQgb3Igd2FpdGVkIG5lYXIgdGhlIHN0YWlyY2FzZSwgZXZlbiBpZiBLZXZpbgoJCWNvdWxkIG5vdCBwcm92ZSB3aGF0IGl0IGhhZCBiZWVuLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgaGFkIGZsaWNrZXJlZC4gQ29sZCBhaXIgaGFkIGNyb3NzZWQgYSB3YXJtIGtpdGNoZW4uIEhpcyB3YXRjaAoJYW5kIHRoZSBjbG9jayBoYWQgYWdyZWVkIG9uIDk6MTQgYmVmb3JlIGJvdGggc3RvcHBlZCB3b3JraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgY29ubmVjdGVkIHRoZSBldmVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrbmV3IHRoZXkgYmVsb25nZWQgb24gdGhlIHNhbWUgbGlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgdGhvdWdodCBtYWRlIHRoZSBtb3JuaW5nIG1vcmUgZnJpZ2h0ZW5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBhbHNvIG1hZGUgdGhlIG1vcm5pbmcgZWFzaWVyIHRvIGhvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHBhdHRlcm4gY291bGQgYmUgc3R1ZGllZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcGF0dGVybiBtaWdodCBoYXZlIHJ1bGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnVsZXMgd2VyZSBiZXR0ZXIgdGhhbiBjaGFvcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIGNvbmNsdXNpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBldmVudHMgbWF5IGJlIGNvbm5lY3RlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQmVoaW5kIGhpbSwgdGhlIGNsb2NrIHRpY2tlZCBvbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjkiIG5hbWU9IkFiYmllIEV4YW1pbmVzIHRoZSBDbG9jayIgdGFncz0iIiBwb3NpdGlvbj0iMTAyNSwxMDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0FiYmllLCBkaWQgeW91IG5vdGljZSB0aGUgY2xvY2sgc3RvcHBlZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglTaGUgbG9va2VkIGF0IHRoZSBzdG92ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSBpdCBnb3QgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7Q2xvY2tzIGRvbiYjMzk7dCBnZXQgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgdGhhdCBvbmUgZG9lcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGxhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlbiBoZSBsb29rZWQgYXQgdGhlIGNsb2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIGhhZCBub3cgYXNzaWduZWQgZmVlbGluZ3MgdG8gdHdvIGhvdXNlaG9sZCBvYmplY3RzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUhlIHdhcyBiZWNvbWluZyBpbmNyZWFzaW5nbHkgY29uY2VybmVkIHRoYXQgdGhlIGhvdXNlIG1pZ2h0IGFncmVlCgl3aXRoIGhlci4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O0FiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMwIiBuYW1lPSJLZXZpbiBSZWZ1c2VzIHRoZSBQYXR0ZXJuIiB0YWdzPSIiIHBvc2l0aW9uPSI3NTAsMTMwMCIgc2l6ZT0iMTAwLDEwMCI+OjogS2V2aW4gUmVmdXNlcyB0aGUgUGF0dGVybgombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGNoIG5lZWRlZCBhIGJhdHRlcnkuIFRoZSBjbG9jayBuZWVkZWQgcmVwYWlycy4gVGhlIGhhbGx3YXkgbGFtcAoJbmVlZGVkIGEgbmV3IGJ1bGIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sZCBhaXIgaGFkIGNvbWUgZnJvbSBzb21ld2hlcmUgY29sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGhvdyBhaXIgd29ya2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJvYmFibHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBkaWQgbm90IGhhdmUgdGltZSB0byBzb2x2ZSBkZWZlY3RpdmUgY2xvY2tzLCB1bnJlbGlhYmxlIHdpcmluZywKCWhhbGx3YXlzLCBzaGFkb3dzLCBvciBhbnl0aGluZyBlbHNlIHRoZSBob3VzZSBoYWQgZGVjaWRlZCB0byBjb250cmlidXRlCgl0byB0aGUgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuZXcgc2Nob29sIHJlbWFpbmVkIHRoZSBpbW1lZGlhdGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgcHJvYmxlbSB3YXMgcmVhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBzY2hlZHVsZXMsIGNsYXNzcm9vbXMsIHRlYWNoZXJzLCBydWxlcywgYW5kIGNvbnNlcXVlbmNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYWxsd2F5IGhhZCBub25lIG9mIHRob3NlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnl0aGluZyBlbHNlIGNvdWxkIHdhaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgYXdheSBmcm9tIHRoZSBraXRjaGVuIGNsb2NrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgdGlja2VkIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNsb2NrIGRpZCBub3QgdGljayBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzEiIG5hbWU9IktldmluIEdldHMgdGhlIENlcmVhbCIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDEwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gc3Rvb2QgYW5kIHJlYWNoZWQgcGFzdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlbW92ZWQgdGhlIGNlcmVhbCBib3ggYmVmb3JlIHRoZSBjaGFpciBjb3VsZCBzaGlmdCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgY291bGQgaGF2ZSBnb3R0ZW4gaXQsJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRpZG4mIzM5O3QgaGF2ZSB0by4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzYXkgdGhhdCB3aGVuIHlvdSBkb24mIzM5O3Qgd2FudCB0byBleHBsYWluLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcGxhY2VkIHRoZSBjZXJlYWwgb24gdGhlIHRhYmxlLiAmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBuYXJyb3dlZCBoZXIgZXllcyBidXQgYWNjZXB0ZWQgdGhlIGJveC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBhIGZldyBzZWNvbmRzLCB0aGUga2l0Y2hlbiBiZWNhbWUgd29uZGVyZnVsbHkgb3JkaW5hcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBoYWxsd2F5IGxhbXAgY2xpY2tlZCBvZmYuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgdG93YXJkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyYXNoIGNhbWUgZnJvbSBiZXlvbmQgdGhlIGRvb3J3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZWF2eSB3b29kIHN0cnVjayB0aGUgZmxvb3IuIEdsYXNzIHNoYXR0ZXJlZC4gU29tZXRoaW5nIHJvbGxlZCB0b3dhcmQKCXRoZSBzdGFpcnMgYW5kIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwb3VyZWQgY2VyZWFsIGludG8gaGVyIGJvd2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2hvdWxkIGNoZWNrIHRoYXQsJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGhlci4gJnF1b3Q7V2h5IG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGFyZSB0aGUgb25lIHdobyBrZWVwcyBsb29raW5nIGF0IHRoZSBoYWxsd2F5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ludmVzdGlnYXRlIHRoZSBzb3VuZC0mZ3Q7VGhlIEhhbGx3YXkgQ3Jhc2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMyIiBuYW1lPSJUaGUgSGFsbHdheSBDcmFzaCIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDEyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCB0aGUgc291cmNlIG9mIHRoZSBjcmFzaCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCB3aGVyZSB0aGUga2l0Y2hlbiBlbmRlZCBhbmQgdGhlIGhhbGx3YXkgYmVnYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsaXN0ZW5lZCBiZWZvcmUgY3Jvc3NpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpdmluZyByb29tIGxvb2tlZCBvcmRpbmFyeS4gVGhlIGZyb250IGRvb3IgcmVtYWluZWQgY2xvc2VkLiBUaGUKCXN0YWlyY2FzZSB3YWl0ZWQgYXQgdGhlIGZhciBlbmQgYmVuZWF0aCB0aGUgdW5zdGVhZHkgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGFsbHdheSBzZWVtZWQgc2hvcnRlciB0aGFuIGJlZm9yZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgZmluZCB0aGF0IHJlYXNzdXJpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxhcmdlIHJvdW5kIGZyYW1lIGxheSBuZWFyIHRoZSBib3R0b20gc3RlcC4gQnJva2VuIGdsYXNzIGNvdmVyZWQgdGhlCglmbG9vciBhcm91bmQgaXQsIGNhdGNoaW5nIHRoZSB3ZWFrIGxpZ2h0IGxpa2UgY3JhY2tlZCBpY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJhbWUgaGFkIGh1bmcgYWJvdmUgdGhlIGxhbmRpbmcgc2luY2UgdGhlIFdpbmNoZXN0ZXJzIG1vdmVkIGludG8KCXRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIGdpcmxzIGhhZCBiZWVuIHBpY3R1cmVkIGluc2lkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgd29yZSBvbGQtZmFzaGlvbmVkIGRyZXNzZXMgYW5kIHN0b29kIHNob3VsZGVyIHRvIHNob3VsZGVyLAoJc3RhcmluZyBhdCB0aGUgY2FtZXJhIHdpdGggdGhlIHBhdGllbnQgc2VyaW91c25lc3Mgb2YgcGVvcGxlIHdobyBoYWQKCWJlZW4gd2FpdGluZyBhIHZlcnkgbG9uZyB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZyYW1lIHdhcyBub3cgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBhdCB0aGUga2l0Y2hlbiBib3VuZGFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNoZWNrZWQgdGhlIGZsb29yIGJlbmVhdGggdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNoZWNrZWQgdGhlIGZpcnN0IHN0YWlycywgdGhlIGJhc2Vib2FyZCwgYW5kIHRoZSBuYXJyb3cgc3BhY2UgdW5kZXIKCXRoZSBoYWxsd2F5IHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoaW0sIEFiYmllJiMzOTtzIHNwb29uIHN0cnVjayBoZXIgYm93bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsaW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIHRyYXZlbGVkIGludG8gdGhlIGhhbGx3YXkgYW5kIHJldHVybmVkIGEgbW9tZW50IGxhdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZWNobyBjYW1lIGZyb20gdXBzdGFpcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgbm90IHN0cnVjayB0aGUgYm93bCBhIHNlY29uZCB0aW1lLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRmb3VuZE1pc3NpbmdQaG90byA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIHBob3RvZ3JhcGggdmFuaXNoZWQgZnJvbSBpdHMgYnJva2VuIGZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyB2YW5pc2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyB2YW5pc2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBwaG90b2dyYXBoIG9mIHRocmVlIGdpcmxzIGRpc2FwcGVhcmVkCglmcm9tIHRoZSBmYWxsZW4gZnJhbWUuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgY2FyZWZ1bGx5IGFyb3VuZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJhbWUmIzM5O3Mgd29vZGVuIGJhY2tpbmcgcmVtYWluZWQgYXR0YWNoZWQuIEV2ZXJ5IHNtYWxsIG1ldGFsIHRhYgoJd2FzIGJlbnQgaW53YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBob3RvZ3JhcGggY291bGQgbm90IGhhdmUgZmFsbGVuIG91dC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gc29tZXdoZXJlIGFib3ZlIHRoZSBzdGFpcmNhc2UgY2FtZSB0aGUgZmFpbnQgc291bmQgb2YgYSBnaXJsJiMzOTtzCglsYXVnaHRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlbWFpbmVkIGluIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBpbnZlc3RpZ2F0ZT8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSW5zcGVjdCB0aGUgc2VhbGVkIGZyYW1lLSZndDtFeGFtaW5lIHRoZSBFbXB0eSBGcmFtZV1dCglbW1NlYXJjaCB0aGUgaGFsbHdheSBmb3IgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC0mZ3Q7U2VhcmNoIGZvciB0aGUgTWlzc2luZyBQaG90b2dyYXBoXV0KCVtbRXhhbWluZSB0aGUgc3RhaXJjYXNlIGFuZCBsYW5kaW5nLSZndDtFeGFtaW5lIHRoZSBTdGFpcmNhc2VdXQoJW1tBc2sgQWJiaWUgd2hldGhlciBzaGUgaGVhcmQgdGhlIGxhdWdodGVyLSZndDtDYWxsIEFiYmllIHRvIHRoZSBCcm9rZW4gRnJhbWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMzIiBuYW1lPSJLZXZpbiBTdGVhZGllcyB0aGUgQ2hhaXIiIHRhZ3M9IiIgcG9zaXRpb249IjE1NzUsMTI3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBwbGFjZWQgb25lIGhhbmQgYWdhaW5zdCB0aGUgY2hhaXIgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IG5lZWQgaGVscCwmcXVvdDsgQWJiaWUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O20gbm90IGhlbHBpbmcuIEkmIzM5O20gcHJldmVudGluZyBwYXBlcndvcmsuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHBhcGVyd29yaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBraW5kIE1vbSBmaWxscyBvdXQgYWZ0ZXIgeW91IGZhbGwgdGhyb3VnaCB0aGUgdGFibGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdHJldGNoZWQgdG93YXJkIHRoZSBjZXJlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgc2hpZnRlZCBiZW5lYXRoIEtldmluJiMzOTtzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHNlY29uZCwgc29tZXRoaW5nIHNlZW1lZCB0byBwdXNoIGJhY2sgZnJvbSB0aGUgb3RoZXIgc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRpZ2h0ZW5lZCBoaXMgZ3JpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmVzc3VyZSB2YW5pc2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHB1bGxlZCB0aGUgY2VyZWFsIGZyZWUgYW5kIGNsaW1iZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NlZT8gU2FmZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZhaW50IGRhbXAgbWFyayBkYXJrZW5lZCBvbmUgd29vZGVuIHJ1bmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgaGUgY291bGQgZXhhbWluZSBpdCwgYSBjcmFzaCBleHBsb2RlZCBmcm9tIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoYWlyIGplcmtlZCBiZW5lYXRoIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZGlkIG5vdCBhcHBlYXIgdG8gbm90aWNlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGRhbXAgbWFyayBhcHBlYXJlZCBvbiBBYmJpZSYjMzk7cyBjaGFpciBiZWZvcmUgdGhlIGhhbGx3YXkgY3Jhc2gmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSW52ZXN0aWdhdGUgdGhlIGNyYXNoLSZndDtUaGUgSGFsbHdheSBDcmFzaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzQiIG5hbWU9IktldmluIE9yZGVycyBBYmJpZSBEb3duIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDc1LDEzMjUiIHNpemU9IjEwMCwxMDAiPjo6IEtldmluIE9yZGVycyBBYmJpZSBEb3duCiZsdDtwJmd0OwoJJnF1b3Q7R2V0IGRvd24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwYXVzZWQgd2l0aCBvbmUgaGFuZCBleHRlbmRlZCB0b3dhcmQgdGhlIGNlcmVhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgY2FuIHJlYWNoIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpc24mIzM5O3QgdGhlIHByb2JsZW0uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlzIHRoZSBwcm9ibGVtPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ2xhbmNlZCB0b3dhcmQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3VsZCBub3QgYW5zd2VyIHdpdGhvdXQgZXhwbGFpbmluZyB0aGUgZmlndXJlLCB0aGUgZm9vdHN0ZXBzLCB0aGUKCWNsb2NrLCBvciB0aGUgZ3Jvd2luZyBzdXNwaWNpb24gdGhhdCB0aGUgaG91c2UgaGFkIHN0YXJ0ZWQgcGF5aW5nCglhdHRlbnRpb24gdG8gdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBjaGFpciBpcyB3b2JibGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzbiYjMzk7dCB3b2JibGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciB3b2JibGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5laXRoZXIgb2YgdGhlbSBoYWQgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjbGltYmVkIG9mZiB3aXRob3V0IGFub3RoZXIgYXJndW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWFjaGVkIGZvciB0aGUgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxvdWQgY3Jhc2ggY2FtZSBmcm9tIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoYWlyIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEFiYmllJiMzOTtzIGNoYWlyIHNoaWZ0ZWQgZXZlbiB0aG91Z2gKCW5laXRoZXIgS2V2aW4gbm9yIEFiYmllIG1vdmVkIGl0LgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllJiMzOTtzIGNoYWlyIG1vdmVkIHdpdGhvdXQgYmVpbmcgdG91Y2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGtpdGNoZW4gY2hhaXIgbW92ZWQgd2l0aG91dCBiZWluZyB0b3VjaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZpbmQgdGhlIHNvdXJjZSBvZiB0aGUgY3Jhc2gtJmd0O1RoZSBIYWxsd2F5IENyYXNoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNSIgbmFtZT0iS2V2aW4gRm9sZHMgSW53YXJkIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsMTM3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBsb3dlcmVkIGhpcyBoZWFkIG9udG8gaGlzIGZvbGRlZCBhcm1zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbmVlZGVkIHRlbiBzZWNvbmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGVuIHNlY29uZHMgd2l0aG91dCB0aGUgbmV3IHNjaG9vbCwgdGhlIGRlYWQgd2F0Y2gsIHRoZSBzdG9wcGVkIGNsb2NrLAoJdGhlIGRhcmsgaGFsbHdheSwgb3IgQWJiaWUgYmFsYW5jaW5nIG9uIGZ1cm5pdHVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRlbiBzZWNvbmRzIGluIHdoaWNoIG5vdGhpbmcgcmVxdWlyZWQgYW4gYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2xvc2VkIGhpcyBleWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpdGNoZW4gc291bmRzIHNlcGFyYXRlZCBhcm91bmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2VyZWFsIHNsaWRpbmcgaW5zaWRlIGEgY2FyZGJvYXJkIGJveC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllJiMzOTtzIHNob2VzIGFnYWluc3QgdGhlIGNoYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJlZnJpZ2VyYXRvciBodW1taW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBmbG9vcmJvYXJkIGNyZWFraW5nIGluIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5vdGhlciBjcmVhaywgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIGJyZWF0aCBiZXNpZGUgaGlzIGVhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbGQgYW5kIGRhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBqZXJrZWQgdXByaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBraXRjaGVuIHdhcyBlbXB0eSBleGNlcHQgZm9yIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHNhdCBhdCB0aGUgdGFibGUsIHBvdXJpbmcgY2VyZWFsIGludG8gaGVyIGJvd2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgaGFkIHJldHVybmVkIHRvIGl0cyBwbGFjZSBuZWFyIHRoZSBjdXBib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBub3QgaGVhcmQgaGVyIG1vdmUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBcmUgeW91IG9rYXk/JnF1b3Q7IEFiYmllIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVmb3JlIEtldmluIGNvdWxkIGFuc3dlciwgc29tZXRoaW5nIGNyYXNoZWQgaW4gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgd2FzIHNoYXJwIGFuZCBoZWF2eSwgZm9sbG93ZWQgYnkgYnJlYWtpbmcgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbT3BlbiBvbmUgZXllIGFuZCBpbnZlc3RpZ2F0ZS0mZ3Q7VGhlIEhhbGx3YXkgQ3Jhc2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM2IiBuYW1lPSJFeGFtaW5lIHRoZSBFbXB0eSBGcmFtZSIgdGFncz0iIiBwb3NpdGlvbj0iNzAwLDE1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRleGFtaW5lZEVtcHR5RnJhbWUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgaG93IHRoZSBwaG90b2dyYXBoIGRpc2FwcGVhcmVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjcm91Y2hlZCBiZXNpZGUgdGhlIGZyYW1lLCBjYXJlZnVsIG5vdCB0byBwbGFjZSBhIGtuZWUgaW4gdGhlCglicm9rZW4gZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29vZCBmZWx0IGNvbGRlciB0aGFuIHRoZSBoYWxsd2F5IGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbGlmdGVkIGl0IGJ5IG9uZSBlZGdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhcmRib2FyZCBiYWNraW5nIHJlbWFpbmVkIGZpcm1seSBpbiBwbGFjZS4gRXZlcnkgc21hbGwgbWV0YWwgdGFiCgl3YXMgc3RpbGwgYmVudCBpbndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIHRoZW0gb25lIGJ5IG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vbmUgd2VyZSBsb29zZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vbmUgd2VyZSBkYW1hZ2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgd2FzIG5vIG9wZW5pbmcgdGhyb3VnaCB3aGljaCB0aGUgcGhvdG9ncmFwaCBjb3VsZCBoYXZlIHNsaXBwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB0dXJuZWQgdGhlIGZyYW1lIG92ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZW1wdHkgc3BhY2UgYmVoaW5kIHRoZSBicm9rZW4gZ2xhc3Mgd2FzIGNsZWFuZXIgdGhhbiB0aGUgd29vZAoJYXJvdW5kIGl0LiBBIHBhbGUgcmVjdGFuZ2xlIHJlbWFpbmVkIHdoZXJlIHRoZSBwaG90b2dyYXBoIGhhZAoJcHJvdGVjdGVkIHRoZSBiYWNraW5nIGZyb20geWVhcnMgb2YgZHVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwaG90b2dyYXBoIGhhZCBiZWVuIHRoZXJlIHJlY2VudGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWF5YmUgbWludXRlcyBhZ28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNYXliZSB3aGVuIHRoZSBmcmFtZSBzdHJ1Y2sgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXhjZXB0IHRoZSBmcmFtZSB3YXMgc3RpbGwgc2VhbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkIGl0IG92ZXIgYWdhaW4sIGFzIHRob3VnaCB0aGUgcGhvdG9ncmFwaCBtaWdodCByZWFwcGVhcgoJaWYgaGUgYXBwcm9hY2hlZCB0aGUgcHJvYmxlbSBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBsaW5lIGhhZCBiZWVuIHNjcmF0Y2hlZCBpbnRvIHRoZSBjYXJkYm9hcmQgYmFja2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGJlZ2FuIG5lYXIgb25lIGNvcm5lciBhbmQgdHJhdmVsZWQgdG93YXJkIHRoZSBjZW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbmdsZWQgdGhlIGZyYW1lIHRvd2FyZCB0aGUgaGFsbHdheSBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2ggbG9va2VkIGFsbW9zdCBsaWtlIHBhcnQgb2YgYSBsZXR0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciB0aGUgYmVnaW5uaW5nIG9mIGEgbnVtYmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgbGFtcCBmbGlja2VyZWQsIGFuZCB0aGUgbWFyayBiZWNhbWUgYW4gb3JkaW5hcnkgdGVhciBpbiBvbGQKCWNhcmRib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVRoZSBwaG90b2dyYXBoIGhhZCBub3QgZmFsbGVuIG91dC4mbHQ7YnImZ3Q7CglJdCBoYWQgbGVmdCB3aGlsZSB0aGUgZnJhbWUgd2FzIHN0aWxsIGNsb3NlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGhvdG9ncmFwaCBkaWQgbm90IGZhbGwgb3V0IG9mIGl0cyBmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBwYXJ0aWFsIG1hcmsgaXMgc2NyYXRjaGVkIGludG8gdGhlIGZyYW1lIGJhY2tpbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHBob3RvZ3JhcGggdmFuaXNoZWQgZnJvbSBhIHNlYWxlZCBmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q2x1ZSBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgZnJhbWUgcmVtYWluZWQgc2VhbGVkLiBUaGUKCXBob3RvZ3JhcGggY291bGQgbm90IGhhdmUgZmFsbGVuIG91dCB3aGVuIHRoZSBnbGFzcyBicm9rZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQWJvdmUgS2V2aW4sIHRoZSBzdGFpcmNhc2UgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB1cHBlciBsYW5kaW5nIHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZW4gS2V2aW4gbG9va2VkIGJhY2sgYXQgdGhlIGZyYW1lLCBhIHNtYWxsIHdldCBmaW5nZXJwcmludCBtYXJrZWQKCXRoZSBjYXJkYm9hcmQgYmFja2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgaGFuZHMgd2VyZSBkcnkuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgaW52ZXN0aWdhdGluZy0mZ3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNyIgbmFtZT0iU2VhcmNoIGZvciB0aGUgTWlzc2luZyBQaG90b2dyYXBoIiB0YWdzPSIiIHBvc2l0aW9uPSI4MzcuNSwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2VhcmNoZWRGb3JQaG90byA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NlYXJjaCB0aGUgaGFsbHdheSBmb3IgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2VhcmNoZWQgdGhlIGZsb29yIGFyb3VuZCB0aGUgYnJva2VuIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBob3RvZ3JhcGggd2FzIG5vdCBiZW5lYXRoIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBub3Qgc2xpcHBlZCB1bmRlciB0aGUgZmlyc3Qgc3RhaXIgb3IgYmVjb21lIHRyYXBwZWQgYWdhaW5zdCB0aGUKCWJhc2Vib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNoZWNrZWQgYmVuZWF0aCB0aGUgaGFsbHdheSB0YWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUR1c3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQgcGVuY2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB3b29kZW4gYnV0dG9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGltc2VsZiBjbG9zZXIgdG8gdGhlIGZsb29yIGFuZCBsb29rZWQgYmVuZWF0aCB0aGUKCXN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzcGFjZSBuYXJyb3dlZCBpbnRvIGRhcmtuZXNzIG5lYXIgdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgcGFsZSByZXN0ZWQgYXQgdGhlIGZhciBlbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBoZWFydCBqdW1wZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZWFjaGVkIHRvd2FyZCBpdCB3aXRoIHRoZSBwZW5jaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFsZSBvYmplY3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgcGllY2Ugb2Ygd2FsbHBhcGVyIHNsaWQgaW50byB0aGUgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGbG93ZXJzIGhhZCBvbmNlIGJlZW4gcHJpbnRlZCBhY3Jvc3MgaXQsIGZhZGVkIG5lYXJseSB3aGl0ZSB3aXRoIGFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUp1c3QgdGhlIGhvdXNlIGZpbmRpbmcgbmV3IHdheXMgdG8gYmUgZGlzYXBwb2ludGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNhdCBiYWNrIGFuZCB0cmllZCB0byByZW1lbWJlciB0aGUgbWlzc2luZyBpbWFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIGdpcmxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT2xkIGRyZXNzZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc3RhbmRpbmcgaW4gdGhlIG1pZGRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdWxkIHJlbWVtYmVyIHRoZWlyIHBvc2l0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdWxkIG5vdCByZW1lbWJlciB0aGVpciBmYWNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYXJkZXIgaGUgdHJpZWQsIHRoZSBsZXNzIGNlcnRhaW4gaGUgYmVjYW1lIHRoYXQgdGhleSBoYWQgZXZlcgoJcG9zc2Vzc2VkIGZhY2VzIGF0IGFsbC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG1pc3NpbmcgcGhvdG9ncmFwaCB3YXMgbm90IGZvdW5kIG5lYXIgdGhlIGJyb2tlbiBmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbWlzc2luZyBwaG90b2dyYXBoIHdhcyBub3QgZm91bmQgaW4gdGhlIGhhbGx3YXkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NlYXJjaCByZXN1bHQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBwaG90b2dyYXBoIGlzIG5vdCBiZW5lYXRoIHRoZQoJZnJhbWUsIHN0YWlyY2FzZSwgaGFsbHdheSB0YWJsZSwgb3IgbmVhcmJ5IGZ1cm5pdHVyZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGFnYWluIGF0IHRoZSB3b29kZW4gYnV0dG9uIGJlbmVhdGggdGhlIHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGRhcmsgYnJvd24sIG5lYXJseSBibGFjayBhdCB0aGUgZWRnZXMsIGFuZCBsYXJnZXIgdGhhbiBhbnkKCWJ1dHRvbiB1c2VkIG9uIGhpcyBvciBBYmJpZSYjMzk7cyBjbG90aGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm91ciBob2xlcyBmb3JtZWQgYSBzcXVhcmUgaW4gaXRzIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hvcnQgcGllY2Ugb2YgYmxhY2sgdGhyZWFkIHJlbWFpbmVkIGF0dGFjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWlnaHQgaGF2ZSBmYWxsZW4gZnJvbSBhbiBvbGQgY29hdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1pZ2h0IGhhdmUgYmVlbiBseWluZyBiZW5lYXRoIHRoZSB0YWJsZSBmb3IgeWVhcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtaWdodCBoYXZlIGJlbG9uZ2VkIHRvIG9uZSBvZiB0aGUgZ2lybHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGZpbmFsIHBvc3NpYmlsaXR5IGVudGVyZWQgS2V2aW4mIzM5O3MgbWluZCB3aXRob3V0IHBlcm1pc3Npb24gYW5kCglyZWZ1c2VkIHRvIGxlYXZlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBkbyB3aXRoIHRoZSBidXR0b24/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGFrZSBpdC4gSXQgbWlnaHQgaGF2ZSBiZWxvbmdlZCB0byBzb21lb25lIGluIHRoZSBwaG90b2dyYXBoLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGZvdW5kT2xkQnV0dG9uID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGJ1dHRvblRoZW9yeSA9ICZxdW90O3Bob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtPbGQgd29vZGVuIGJ1dHRvbiZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBmb3VuZCBhbiBvbGQgd29vZGVuIGJ1dHRvbiBuZWFyIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGgmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGFrZXMgdGhlIE9sZCBCdXR0b24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGFrZSBpdCwgYnV0IGFzc3VtZSBpdCBmZWxsIGZyb20gYW4gb2xkIGNvYXQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZm91bmRPbGRCdXR0b24gPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYnV0dG9uVGhlb3J5ID0gJnF1b3Q7Y29hdCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O09sZCB3b29kZW4gYnV0dG9uJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIGZvdW5kIGEgYnV0dG9uIHRoYXQgbWF5IGhhdmUgY29tZSBmcm9tIGFuIG9sZCBjb2F0JnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRha2VzIHRoZSBPbGQgQnV0dG9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0xlYXZlIGl0LiBBbiBvbGQgYnV0dG9uIGRvZXMgbm90IGV4cGxhaW4gYSBtaXNzaW5nIHBob3RvZ3JhcGguJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYnV0dG9uVGhlb3J5ID0gJnF1b3Q7aXJyZWxldmFudCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIExlYXZlcyB0aGUgT2xkIEJ1dHRvbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzOCIgbmFtZT0iRXhhbWluZSB0aGUgU3RhaXJjYXNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5NzUsMTU1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGV4YW1pbmVkU3RhaXJjYXNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IFN0YWlyY2FzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSBmcmFtZSBmZWxsIGZyb20gdGhlIGxhbmRpbmcmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYXJvdW5kIHRoZSBicm9rZW4gZ2xhc3MgYW5kIGFwcHJvYWNoZWQgdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcmFtZSBoYWQgaHVuZyBhYm92ZSB0aGUgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuYWlsIHJlbWFpbmVkIGluIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG5vdCBiZW50LCBsb29zZW5lZCwgb3IgcHVsbGVkIG91dHdhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0ZXN0ZWQgaXQgd2l0aCBvbmUgZmluZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29saWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIGZhbGxlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgY29uY2x1c2lvbiBoYWQgYmVjb21lIGNvbW1vbiBpbiB0aGUgV2luY2hlc3RlciBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsYW1wIGFib3ZlIHRoZSBzdGFpcmNhc2UgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FpdGVkIGZvciBpdCB0byBzdGVhZHkgYmVmb3JlIGxvb2tpbmcgdXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlydGVlbiBzdGVwcyBjbGltYmVkIHRvd2FyZCB0aGUgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaXJzdCB0d2VsdmUgYXBwZWFyZWQgb3JkaW5hcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmluYWwgc3RlcCBkaXNhcHBlYXJlZCBpbnRvIHNoYWRvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNoaWZ0ZWQgc2lkZXdheXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhZG93IG1vdmVkIHdpdGggaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHVudXN1YWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGFkb3dzIHdlcmUgc3VwcG9zZWQgdG8gZG8gdGhhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgb25lIG1vdmVkIGEgZnJhY3Rpb24gdG9vIGxhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXdheSBiZWZvcmUgaXQgY291bGQgZG8gYW55dGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlc3RlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSBiYW5pc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b29kIHdhcyBjb2xkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGNvb2wgZnJvbSB0aGUgbW9ybmluZyBhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDb2xkIGVub3VnaCB0byBtYWtlIGhpcyBmaW5nZXJzIGFjaGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwdWxsZWQgaGlzIGhhbmQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyBncm9vdmUgbWFya2VkIHRoZSB3b29kIG5lYXIgdGhlIGZpcnN0IHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIGNpcmNsZSBzdXJyb3VuZGVkIHNpeCBuYXJyb3cgY3VydmVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbG9va2VkIGxpa2UgYSBmbG93ZXIgc29tZW9uZSBoYWQgdHJpZWQgdG8gZXJhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhcnZpbmcgc2VlbWVkIG9sZGVyIHRoYW4gdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBtYWRlIG5vIHNlbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJhbmlzdGVyIGNvdWxkIG5vdCBoYXZlIGJlZW4gYnVpbHQgYXJvdW5kIHRoZSBtYXJrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVW5sZXNzIHRoZSBtYXJrIGhhZCBiZWVuIHRoZXJlIGZpcnN0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHdvcm4gZmxvd2VyLWxpa2Ugc3ltYm9sIGlzIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3RlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2l4LXBhcnQgY2lyY3VsYXIgc3ltYm9sIGlzIGNhcnZlZAoJaW50byB0aGUgY29sZCBiYW5pc3RlciBiZXNpZGUgdGhlIGZpcnN0IHN0ZXAuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUEgdGlueSB2aWJyYXRpb24gcGFzc2VkIHRocm91Z2ggdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmZWx0IGl0IHdpdGhvdXQgdG91Y2hpbmcgdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldHVybiB0byB0aGUgaGFsbHdheSBpbnZlc3RpZ2F0aW9uLSZndDtIYWxsd2F5IEludmVzdGlnYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM5IiBuYW1lPSJDYWxsIEFiYmllIHRvIHRoZSBCcm9rZW4gRnJhbWUiIHRhZ3M9IiIgcG9zaXRpb249IjExNzUsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNhbGxlZEFiYmllVG9GcmFtZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoYXQgQWJiaWUgaGVhcmQgYW5kIHJlbWVtYmVycyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWUsIGNvbWUgaGVyZS4gQnV0IHdhdGNoIHRoZSBnbGFzcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBhcHBlYXJlZCBhdCB0aGUga2l0Y2hlbiBkb29yd2F5IGNhcnJ5aW5nIGhlciBjZXJlYWwgYm93bCBpbiBib3RoCgloYW5kcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3UgaGVhciB0aGF0PyZxdW90OyBLZXZpbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hlYXIgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBsYXVnaC4gSXQgY2FtZSBmcm9tIHVwc3RhaXJzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHVwcGVyIGxhbmRpbmcgcmVtYWluZWQgZGFyayBhbmQgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZG4mIzM5O3QgaGVhciBhbnlib2R5IGxhdWdoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHJlYWxseSBkaWRuJiMzOTt0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHNob29rIGhlciBoZWFkLiAmcXVvdDtJIGhlYXJkIHlvdSBtb3ZpbmcgYXJvdW5kLiBBbmQgbXkgc3Bvb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IHRoZSBjZXJlYWwgYm93bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBzb3VuZCB1cHN0YWlycyB3YXMgbGlrZSB5b3VyIHNwb29uIGhpdHRpbmcgdGhlIGJvd2wuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb3dlcmVkIGhlciBleWVzIHRvIHRoZSBzcG9vbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgb25seSBkaWQgaXQgb25jZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKRnJvbSBkZWVwIGluc2lkZSB0aGUgd2FsbCBjYW1lIG9uZSBmYWludCBtZXRhbGxpYyBjbGluay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSB3YXMgc2lsZW50IGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIGJlZ3VuIHRvIGRpc2xpa2UgdGhlIHNpbGVuY2UgbW9yZSB0aGFuIHRoZSBub2lzZXMuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIGhlYXJkIGEgZ2lybCYjMzk7cyBsYXVnaCB1cHN0YWlycywgYnV0IEFiYmllIGRpZCBub3QmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGhlYXJkIGxhdWdodGVyIG5lYXIgdGhlIHVwc3RhaXJzIGxhbmRpbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NvbmZsaWN0aW5nIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBoZWFyZCBsYXVnaHRlcgoJdXBzdGFpcnMsIGJ1dCBBYmJpZSBoZWFyZCBvbmx5IGhlciBzcG9vbiBhbmQgS2V2aW4gbW92aW5nIGluIHRoZQoJaGFsbHdheS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T2theSwmcXVvdDsgS2V2aW4gc2FpZC4gJnF1b3Q7VGhlbiBsb29rIGF0IHRoaXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwb2ludGVkIHRvd2FyZCB0aGUgYnJva2VuIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IHJlbWVtYmVyIHRoZSBwaWN0dXJlIHRoYXQgd2FzIGluIHRoZXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RlcHBlZCBjYXJlZnVsbHkgYXJvdW5kIHRoZSBnbGFzcyBhbmQgc3R1ZGllZCB0aGUgZW1wdHkgc3BhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgdGhyZWUgZ2lybHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgaGVyLiAmcXVvdDtZb3UgcmVtZW1iZXIgdGhlbT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZSB3YXMgdGFsbC4gT25lIGhhZCBjdXJseSBoYWlyLiBUaGUgb25lIGluIHRoZSBtaWRkbGUgbG9va2VkCgltZWFuLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWVhbiBob3c/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoZSBxdWVzdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0xpa2Ugc2hlIGtuZXcgc29tZXRoaW5nIGJhZCBhYm91dCB5b3UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGVtcHR5IGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hlcmUgZG8geW91IHRoaW5rIHRoZSBwaWN0dXJlIHdlbnQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaHJ1Z2dlZC4gJnF1b3Q7TWF5YmUgdGhlIGdpcmxzIHdlbnQgaG9tZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZXkgd2VyZSBpbiBhIHBob3RvZ3JhcGguJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQaG90b2dyYXBocyBkb24mIzM5O3QgZ28gaG9tZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxpZnRlZCBvbmUgc3Bvb25mdWwgb2YgY2VyZWFsLiAmcXVvdDtNYXliZSB0aG9zZSBnaXJscyBkby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBhdGUgdGhlIGNlcmVhbCBhbmQgcmV0dXJuZWQgdG8gdGhlIGtpdGNoZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBiZXNpZGUgdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSB0aGUgdXBwZXIgbGFuZGluZyBjYW1lIG9uZSBzb2Z0IGdpZ2dsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGRpZCBub3QgdHVybiBhcm91bmQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHJlbWVtYmVyZWQgdGhyZWUgZ2lybHMgaW4gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgc2FpZCB0aGUgZ2lybCBpbiB0aGUgbWlkZGxlIGxvb2tlZCBtZWFuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyB2YW5pc2hlZCBmcm9tIHRoZSBmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSByZW1lbWJlcmVkIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggYW5kIGRlc2NyaWJlZCB0aGUgbWlkZGxlIGdpcmwmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01lbW9yeSBjb25maXJtZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEFiYmllIHJlbWVtYmVycyB0aGUgdGhyZWUgZ2lybHMgYW5kCglzYXlzIHRoZSBnaXJsIGluIHRoZSBtaWRkbGUgbG9va2VkIGFzIHRob3VnaCBzaGUga25ldyBzb21ldGhpbmcgYmFkLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgaW52ZXN0aWdhdGluZyBhbG9uZS0mZ3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDAiIG5hbWU9IkhhbGx3YXkgSW52ZXN0aWdhdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iOTc1LDE4MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIGhvdyBmYXIgS2V2aW4gc2hvdWxkIGludmVzdGlnYXRlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZW1wdHkgZnJhbWUgcmVzdGVkIGJlc2lkZSB0aGUgc3RhaXJjYXNlLiBCcm9rZW4gZ2xhc3MgY292ZXJlZCBwYXJ0CglvZiB0aGUgZmxvb3IsIGFuZCB0aGUgbmFpbCByZW1haW5lZCBmaXJtbHkgZW1iZWRkZWQgYWJvdmUgdGhlIGxhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG91c2Ugd2FzIHF1aWV0IGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FzIGJlZ2lubmluZyB0byBkaXNsaWtlIHRoZSBxdWlldCBtb3JlIHRoYW4gdGhlIG5vaXNlcy4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRleGFtaW5lZEVtcHR5RnJhbWUgYW5kICRzZWFyY2hlZEZvclBob3RvJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBwaG90b2dyYXBoIGhhZCB2YW5pc2hlZCBmcm9tIGEgc2VhbGVkIGZyYW1lIGFuZCB3YXMgbm93aGVyZSBpbgoJCXRoZSBoYWxsd2F5LgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGV4YW1pbmVkU3RhaXJjYXNlIGFuZCAhJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgd29ybiBjYXJ2aW5nIHdhaXRlZCBuZWFyIHRoZSBmaXJzdCBzdGVwLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGNhbGxlZEFiYmllVG9GcmFtZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSBoYWQgcmV0dXJuZWQgdG8gdGhlIGtpdGNoZW4sIGFwcGFyZW50bHkgc2F0aXNmaWVkIHRoYXQgZ2lybHMKCQlpbiBwaG90b2dyYXBocyBjb3VsZCBsZWF2ZSB3aGVuZXZlciB0aGV5IHdhbnRlZC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2V2aW4gZG8/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2lmICEkZXhhbWluZWRFbXB0eUZyYW1lJmd0OyZndDsKCQlbW0luc3BlY3QgdGhlIHNlYWxlZCBmcmFtZS0mZ3Q7RXhhbWluZSB0aGUgRW1wdHkgRnJhbWVdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJHNlYXJjaGVkRm9yUGhvdG8mZ3Q7Jmd0OwoJCVtbU2VhcmNoIGZvciB0aGUgbWlzc2luZyBwaG90b2dyYXBoLSZndDtTZWFyY2ggZm9yIHRoZSBNaXNzaW5nIFBob3RvZ3JhcGhdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJGV4YW1pbmVkU3RhaXJjYXNlJmd0OyZndDsKCQlbW0V4YW1pbmUgdGhlIHN0YWlyY2FzZSBhbmQgbGFuZGluZy0mZ3Q7RXhhbWluZSB0aGUgU3RhaXJjYXNlXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgISRjYWxsZWRBYmJpZVRvRnJhbWUmZ3Q7Jmd0OwoJCVtbQXNrIEFiYmllIHdoZXRoZXIgc2hlIGhlYXJkIHRoZSBsYXVnaHRlci0mZ3Q7Q2FsbCBBYmJpZSB0byB0aGUgQnJva2VuIEZyYW1lXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGV4YW1pbmVkU3RhaXJjYXNlIGFuZCAhJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkJW1tFeGFtaW5lIHRoZSBjYXJ2ZWQgc3ltYm9sIG1vcmUgY2xvc2VseS0mZ3Q7S2V2aW4gRmluZHMgdGhlIEhleGFmb2lsXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGV4YW1pbmVkRW1wdHlGcmFtZSBvciAkc2VhcmNoZWRGb3JQaG90byBvciAkZXhhbWluZWRTdGFpcmNhc2UmZ3Q7Jmd0OwoJCVtbU3RvcCBpbnZlc3RpZ2F0aW5nIGFuZCBnZXQgQWJiaWUgcmVhZHkgZm9yIHNjaG9vbC0mZ3Q7S2V2aW4gTGVhdmVzIHRoZSBIYWxsd2F5IEVhcmx5XV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MSIgbmFtZT0iS2V2aW4gRmluZHMgdGhlIEhleGFmb2lsIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDI1LDIwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRmb3VuZEJhbmlzdGVySGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0V4YW1pbmUgdGhlIHN5bWJvbCBjYXJ2ZWQgaW50byB0aGUgYmFuaXN0ZXImcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGtuZWx0IGJlc2lkZSB0aGUgZmlyc3Qgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXJ2aW5nIGNvbnNpc3RlZCBvZiBzaXggY3VydmVkIHBldGFscyBhcnJhbmdlZCBpbnNpZGUgYSBjaXJjbGUuCglFYWNoIHBldGFsIG1ldCBhdCB0aGUgY2VudGVyIHdpdGggZGVsaWJlcmF0ZSBwcmVjaXNpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgdG9vIGV2ZW4gdG8gYmUgYSBzY3JhdGNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVG9vIGRlZXAgdG8gaGF2ZSBmb3JtZWQgdGhyb3VnaCBhZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIGhhZCBjdXQgaXQgaW50byB0aGUgd29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc29tZW9uZSBlbHNlIGhhZCB0cmllZCB0byB3ZWFyIGl0IGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0cmFjZWQgdGhlIG91dHNpZGUgb2YgdGhlIGNpcmNsZSB3aXRob3V0IHRvdWNoaW5nIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlc2lnbiBmZWx0IGZhbWlsaWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGJlY2F1c2UgaGUgcmVtZW1iZXJlZCBzZWVpbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWNhdXNlIHNvbWUgcGFydCBvZiBoaW0gYXBwZWFyZWQgdG8gcmVtZW1iZXIgaXQgZmlyc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZXllcyBtb3ZlZCBmcm9tIG9uZSBwZXRhbCB0byB0aGUgbmV4dC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglPbmUuCglUd28uCglUaHJlZS4KCUZvdXIuCglGaXZlLgoJU2l4LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgbW9tZW50IEtldmluIGZpbmlzaGVkIGNvdW50aW5nLCB0aGUgYmFuaXN0ZXIgdmlicmF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2aWJyYXRpb24gY29udGludWVkIGJlbmVhdGggdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0cmF2ZWxlZCB1cHdhcmQgYWxvbmcgdGhlIHJhaWxpbmcsIHBhc3NpbmcgZWFjaCBzdGFpciBpbiBzZXF1ZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3by4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNsaW1iZWQgYmV5b25kIHdoZXJlIEtldmluIGNvdWxkIHNlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc29tZXRoaW5nIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWlyY2FzZSBhbnN3ZXJlZCB3aXRoIHRocmVlIHNsb3cKCWtub2Nrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIHZlcnkgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaXggcGV0YWxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUga25vY2tzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBudW1iZXIgaGVscGVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgc2l4LXBldGFsZWQgY2FydmluZyB2aWJyYXRlZCBhZnRlciBLZXZpbiBjb3VudGVkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYmFuaXN0ZXIgY29udGFpbnMgYSBzaXgtcGV0YWxlZCBjaXJjdWxhciBzeW1ib2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2l4LXBldGFsZWQgc3ltYm9sIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3RlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2l4LXBldGFsZWQgY2lyY3VsYXIgc3ltYm9sIGlzIGNhcnZlZAoJaW50byB0aGUgc3RhaXJjYXNlIGJhbmlzdGVyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbmdsZWQgaGlzIGhlYWQgdG93YXJkIHRoZSBjYXJ2aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpbiBtYXJrcyBjcm9zc2VkIHRoZSB3b29kIGJlbmVhdGggb25lIG9mIHRoZSBwZXRhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGhhZCBub3QgYmVlbiB2aXNpYmxlIGJlZm9yZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0dWR5IHRoZSBjYXJ2aW5nIHdpdGhvdXQgdG91Y2hpbmcgaXQgYWdhaW4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBOb3RpY2VzIFhJJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1RvdWNoIHRoZSBjYXJ2aW5nIGFuZCB0ZXN0IHdoZXRoZXIgaXQgdmlicmF0ZXMgYWdhaW4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRvdWNoZXMgdGhlIEhleGFmb2lsIEFnYWluJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0ZXAgYXdheSBhbmQgbWVtb3JpemUgdGhlIGRlc2lnbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIE1lbW9yaXplcyB0aGUgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2FsbCBBYmJpZSBiYWNrIGJlZm9yZSBleGFtaW5pbmcgdGhlIG5ldyBtYXJrcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7QSBzaXgtcGV0YWxlZCBzeW1ib2wgaXMgY2FydmVkIGludG8gdGhlIGJhbmlzdGVyJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNob3dzIEFiYmllIHRoZSBIZXhhZm9pbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MiIgbmFtZT0iS2V2aW4gTm90aWNlcyBYSSIgdGFncz0iIiBwb3NpdGlvbj0iMjAwMCwxNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbm90aWNlZFJvbWFuWEkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IHRoZSBoaWRkZW4gbWFya2luZyBtZWFucyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaXggcGV0YWxzIHdlcmUgbm90IHRoZSBvbmx5IG1hcmtzIGluIHRoZSB3b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBsaW5lcyBhcHBlYXJlZCBiZW5lYXRoIHRoZSBzeW1ib2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdCBmaXJzdCwgdGhleSBsb29rZWQgbGlrZSBzY3JhdGNoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzaGlmdGVkIHRvd2FyZCB0aGUgaGFsbHdheSBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1hcmtzIHNoYXJwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVhJLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUm9tYW4gbnVtZXJhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFbGV2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGluZXMgYmx1cnJlZCB3aGVuIEtldmluIGxvb2tlZCBkaXJlY3RseSBhdCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdHVybmVkIGhpcyBoZWFkIHNsaWdodGx5IGFuZCB2aWV3ZWQgdGhlbSBmcm9tIHRoZSBjb3JuZXIgb2YgaGlzCglleWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglYSSByZXR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSBhcHBhcmVudGx5IHJlcXVpcmVkIGNsdWVzIHRvIGJlIHJlYWQgd2hpbGUgcHJldGVuZGluZyBub3QKCXRvIGxvb2sgYXQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdW50ZWQgdGhlIHN0YWlycy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglPbmUuCglUd28uCglUaHJlZS4KCUZvdXIuCglGaXZlLgoJU2l4LgoJU2V2ZW4uCglFaWdodC4KCU5pbmUuCglUZW4uCglFbGV2ZW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBlbGV2ZW50aCBzdGVwIHJlc3RlZCB0d28gYmVsb3cgdGhlIGxhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgd29vZGVuIGVkZ2Ugd2FzIGRhcmtlciB0aGFuIHRoZSBvdGhlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RpbGwgZWxldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmsgbWFyayBhbG9uZyB0aGUgc3RlcCBsb29rZWQgbGlrZSBhIHdhdGVyIHN0YWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkcm9wIGZvcm1lZCBhdCB0aGUgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNsdW5nIHRoZXJlIGZvciBzZXZlcmFsIHNlY29uZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IG1vdmVkIHVwd2FyZCBpbnRvIHRoZSB3b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yZ290IGFib3V0IGJlaW5nIGxhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCcmllZmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiByZW1lbWJlcmVkIGFuZCBiZWNhbWUgZnJpZ2h0ZW5lZCBpbiB0d28gc2VwYXJhdGUgZGlyZWN0aW9ucy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIFJvbWFuIG51bWVyYWwgWEkgaXMgY2FydmVkIGJlbmVhdGggdGhlIHNpeC1wZXRhbGVkIHN5bWJvbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGVsZXZlbnRoIHN0YWlyIGlzIGRhcmtlciB0aGFuIHRoZSBvdGhlcnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Um9tYW4gbnVtZXJhbCBYSSBiZW5lYXRoIHRoZSBiYW5pc3RlciBzeW1ib2wmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NsdWUgZGlzY292ZXJlZDombHQ7L3N0cm9uZyZndDsgVGhlIFJvbWFuIG51bWVyYWwgWEkgYXBwZWFycyBiZW5lYXRoCgl0aGUgc3ltYm9sLCBhbmQgdGhlIGVsZXZlbnRoIHN0YWlyIGlzIG1hcmtlZCBieSBhbiB1bm5hdHVyYWwgZGFtcAoJc3RhaW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUEgc29mdCBzb3VuZCBjYW1lIGZyb20gaW5zaWRlIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgYSBjcmVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNjcmF0Y2hpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBiZWdhbiBiZW5lYXRoIHRoZSBlbGV2ZW50aCBzdGVwIGFuZCB0cmF2ZWxlZCBkb3dud2FyZCB0aHJvdWdoIHRoZQoJd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2V2aW4gZG8/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NsaW1iIHRvIHRoZSBlbGV2ZW50aCBzdGVwIGFuZCBpbnNwZWN0IGl0LSZndDtLZXZpbiBJbnNwZWN0cyB0aGUgRWxldmVudGggU3RlcF1dCglbW0NoZWNrIHRoZSBoYWxsd2F5IGNsb3NldCBiZWZvcmUgdGhlIHNjcmF0Y2hpbmcgcmVhY2hlcyBpdC0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBIYWxsd2F5IENsb3NldF1dCglbW1JlbWFpbiBzdGlsbCBhbmQgdHJhY2sgdGhlIHNvdW5kIHRocm91Z2ggdGhlIHdhbGwtJmd0O0tldmluIExpc3RlbnMgTmVhciB0aGUgU3RhaXJjYXNlXV0KCVtbTGVhdmUgdGhlIHN0YWlyY2FzZSBhbG9uZSBhbmQgZ2V0IEFiYmllIG91dCBvZiB0aGUgaG91c2UtJmd0O0tldmluIExlYXZlcyB0aGUgU3RhaXJzIEFsb25lXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MyIgbmFtZT0iS2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldCIgdGFncz0iIiBwb3NpdGlvbj0iNTI1LDE4NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRpbnZlc3RpZ2F0ZWRDbG9zZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSBDbG9zZXQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q2hlY2sgd2hldGhlciBzb21lb25lIGlzIGhpZGluZyBuZWFyIHRoZSBzdGFpcmNhc2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CglBIHNvZnQgc2NyYXBlIGNhbWUgZnJvbSB0aGUgaGFsbHdheSBjbG9zZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjbG9zZXQgZG9vciBzdG9vZCBvcGVuIGJ5IGxlc3MgdGhhbiBhbiBpbmNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUhlIHJlbWVtYmVyZWQgaXQgYmVpbmcgY2xvc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVJlbWVtYmVyaW5nIHdhcyBub3QgdGhlIHNhbWUgYXMga25vd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBhcHByb2FjaGVkIGNhcmVmdWxseSBhbmQgcHVsbGVkIHRoZSBkb29yIG9wZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJQ29hdHMgaHVuZyBmcm9tIGEgd29vZGVuIHJhaWwuIFNob2VzIHJlc3RlZCBiZW5lYXRoIHRoZW0uIEEgY2FyZGJvYXJkCglib3ggc2F0IGFnYWluc3QgdGhlIGJhY2sgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglOb3RoaW5nIG1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZW4gb25lIG9mIHRoZSBlbXB0eSBjb2F0IGhvb2tzIGJlZ2FuIHRvIHN3aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJRm9ydGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJQmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglGb3J0aC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBoZWxkIGhpcyBicmVhdGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGNsb3NldCBzbWVsbGVkIGZhaW50bHkgb2Ygd2V0IHNvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGNvYXRzIHdlcmUgZHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBmbG9vciB3YXMgZHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBzbWVsbCByZW1haW5lZC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0FuIGVtcHR5IGNsb3NldCBob29rIHN3dW5nIGJ5IGl0c2VsZiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhhbGx3YXkgY2xvc2V0IHNtZWxsZWQgbGlrZSB3ZXQgc29pbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QW4gZW1wdHkgY29hdCBob29rIG1vdmVkIHdpdGhvdXQgYmVpbmcgdG91Y2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtXZXQtZWFydGggc21lbGwgaW5zaWRlIHRoZSBoYWxsd2F5IGNsb3NldCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgZGlzY292ZXJ5OiZsdDsvc3Ryb25nJmd0OyBUaGUgY2xvc2V0IHNtZWxsZWQgb2Ygd2V0IHNvaWwsCglhbmQgYW4gZW1wdHkgaG9vayBtb3ZlZCBieSBpdHNlbGYuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgdGhlIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgY2xpY2tlZCBzaHV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBob29rIGNvbnRpbnVlZCBzY3JhcGluZyBhZ2FpbnN0IHRoZSB3b29kIGZyb20gaW5zaWRlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tEZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoZSBldmlkZW5jZS0mZ3Q7S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZ11dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ0IiBuYW1lPSJLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSI1MjUsMjAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZWNpZGUgd2hldGhlciB0byBwcmVzZXJ2ZSB3aGF0IGhhcHBlbmVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZXR1cm5lZCB0byBoaXMgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIG5vdGVib29rIHdhaXRlZCBpbiB0aGUgZnJvbnQgcG9ja2V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdXNlZCBpdCBmb3Igc2NoZWR1bGVzLCBhc3NpZ25tZW50cywgbG9ja2VyIGNvbWJpbmF0aW9ucywgYW5kCglhbnl0aGluZyBlbHNlIHRoYXQgY291bGQgYmVjb21lIGEgcHJvYmxlbSBpZiBoZSB0cnVzdGVkIGhpbXNlbGYgdG8KCXJlbWVtYmVyIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vcm5pbmcgcXVhbGlmaWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV3JpdGluZyB0aGUgZXZlbnRzIGRvd24gbWlnaHQgbWFrZSB0aGVtIGVhc2llciB0byBvcmdhbml6ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdvdWxkIGFsc28gbWFrZSB0aGVtIHJlYWwgZW5vdWdoIHRvIHJlcmVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG9wZW5lZCB0aGUgbm90ZWJvb2sgdG8gYSBibGFuayBwYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgaGUgaGVsZCB0aGUgcGVuY2lsIGFib3ZlIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSByZW1haW5lZCBxdWlldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhaXRpbmcuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIHJlY29yZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtXcml0ZSBhIGNvbXBsZXRlIGxpc3Qgb2YgZXZlcnl0aGluZyBoZSBub3RpY2VkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluSGFzTXlzdGVyeU5vdGVzID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluUmVjb3JkZWRDbHVlcyA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O015c3Rlcnkgbm90ZXMmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gY3JlYXRlZCBhIHdyaXR0ZW4gcmVjb3JkIG9mIHRoZSBtb3JuaW5nJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFdyaXRlcyBDb21wbGV0ZSBOb3RlcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCBhbmQgJG5vdGljZWRSb21hblhJJmd0OyZndDsKCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2tldGNoIHRoZSBoZXhhZm9pbCBhbmQgbWFyayB0aGUgZWxldmVudGggc3RhaXIuJnF1b3Q7Jmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluSGFzTXlzdGVyeU5vdGVzID0gdHJ1ZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7c2V0ICRrZXZpblJlY29yZGVkQ2x1ZXMgPSB0cnVlJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkJJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0hleGFmb2lsIHNrZXRjaCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gc2tldGNoZWQgdGhlIHN5bWJvbCBhbmQgWEkmcXVvdDspJmd0OyZndDsKCQkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNrZXRjaGVzIHRoZSBIZXhhZm9pbCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVjb3JkIG9ubHkgdGhlIHRpbWU6IDk6MTQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5SZWNvcmRlZENsdWVzID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7Tm90ZSBtYXJrZWQgOToxNCZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiByZWNvcmRlZCB0aGUgdGltZSA5OjE0JnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFJlY29yZHMgOTE0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAkZm91bmRPbGRCdXR0b24mZ3Q7Jmd0OwoJCSZsdDsmbHQ7bGluayAmcXVvdDtUcmFjZSB0aGUgYnV0dG9uIGFuZCB0aGUgbWFyayBjYXJ2ZWQgaW50byBpdHMgYmFjay4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMgPSB0cnVlJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluUmVjb3JkZWRDbHVlcyA9IHRydWUmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QnV0dG9uIHRyYWNpbmcmcXVvdDspJmd0OyZndDsKCQkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIHRyYWNlZCB0aGUgb2xkIHdvb2RlbiBidXR0b24mcXVvdDspJmd0OyZndDsKCQkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRyYWNlcyB0aGUgQnV0dG9uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtQdXQgdGhlIG5vdGVib29rIGF3YXkuIFdyaXRpbmcgdGhpcyBkb3duIHdvdWxkIG1ha2UgaXQgaGFyZGVyIHRvIGRpc21pc3MuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluUmVjb3JkZWRDbHVlcyA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUmVqZWN0cyB0aGUgTm90ZXMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDUiIG5hbWU9IlRoZSBTdGFpcmNhc2UgQ291bnRkb3duIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsMjAyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b29kIG5lYXIgdGhlIGZyb250IGRvb3Igd2l0aCBoZXIgYmFja3BhY2sgb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSYjMzk7cmUgZ29pbmcgdG8gYmUgbGF0ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBubyB3b3JraW5nIHdhdGNoIGFuZCBubyByZWxpYWJsZSBjbG9jaywgYnV0IHRoZSBtb3JuaW5nCglmZWx0IGFzIHRob3VnaCBpdCBoYWQgdXNlZCBmYXIgbW9yZSB0aW1lIHRoYW4gaXQgc2hvdWxkIGhhdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSBoYWQgZmluaXNoZWQgYnJlYWtmYXN0LCBwdXQgaGVyIGJvd2wgaW4gdGhlIHNpbmssIGFuZAoJCXByZXBhcmVkIHRvIGxlYXZlIHdoaWxlIEtldmluIGludmVzdGlnYXRlZCBzb2lsIHN0YWlucyBhbmQgbW92aW5nCgkJY29hdCBob29rcy4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSBoYWQgZmluaXNoZWQgYnJlYWtmYXN0LCBwdXQgaGVyIGJvd2wgaW4gdGhlIHNpbmssIGFuZAoJCXByZXBhcmVkIHRvIGxlYXZlIHdoaWxlIEtldmluIGxpc3RlbmVkIHRvIHNvbWV0aGluZyBicmVhdGhlIGJlbmVhdGgKCQl0aGUgZWxldmVudGggc3RhaXIuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRsaXN0ZW5lZE5lYXJTdGFpcnMmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgaGFkIGZpbmlzaGVkIGJyZWFrZmFzdCwgcHV0IGhlciBib3dsIGluIHRoZSBzaW5rLCBhbmQKCQlwcmVwYXJlZCB0byBsZWF2ZSB3aGlsZSBLZXZpbiB0cmFja2VkIHNjcmF0Y2hpbmcgc291bmRzIHRocm91Z2ggdGhlCgkJd2FsbHMuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRsZWZ0U3RhaXJzQWxvbmUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgaGFkIGZpbmlzaGVkIGJyZWFrZmFzdCwgcHV0IGhlciBib3dsIGluIHRoZSBzaW5rLCBhbmQKCQlwcmVwYXJlZCB0byBsZWF2ZSB3aGlsZSBLZXZpbiBwcmFjdGljZWQgdGhlIHVuZmFtaWxpYXIgc2tpbGwgb2YKCQlub3QgaW52ZXN0aWdhdGluZyBzb21ldGhpbmcgdGVycmlibGUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgaGFkIGZpbmlzaGVkIGJyZWFrZmFzdCwgcHV0IGhlciBib3dsIGluIHRoZSBzaW5rLCBhbmQKCQlwcmVwYXJlZCB0byBsZWF2ZSB3aGlsZSBLZXZpbiBleGFtaW5lZCB0aGUgc3ltYm9sIGNhcnZlZCBpbnRvIHRoZQoJCWJhbmlzdGVyLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgaGFkIGZpbmlzaGVkIGJyZWFrZmFzdCwgcHV0IGhlciBib3dsIGluIHRoZSBzaW5rLCBhbmQKCQlwcmVwYXJlZCB0byBsZWF2ZSB3aGlsZSBLZXZpbiBpbnZlc3RpZ2F0ZWQgdGhlIGJyb2tlbiBmcmFtZS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoYXQgc2VlbWVkIHVuZmFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc29tZXRoaW5nIGNyZWFrZWQgYWJvdmUgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNhbWUgZnJvbSB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHN0ZXAgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIG5leHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIHdhcyBkZXNjZW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2F3IG5vIG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjcmVha2luZyBjb250aW51ZWQgZG93bndhcmQuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJCVRoaXJ0ZWVuLgoJCVR3ZWx2ZS4KCQlFbGV2ZW4uCgkmbHQ7L2RpdiZndDsKCSZsdDtwJmd0OwoJCVRoZSBpbnZpc2libGUgd2VpZ2h0IHN0b3BwZWQgb24gdGhlIGRhcmtlciBzdGVwLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJU3RhaXIgWEkuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJCSZsdDtwJmd0OwoJCQlUaGUgc2l4LXBldGFsZWQgY2FydmluZyBkYXJrZW5lZCBhcyBpZiB3ZXQgc29pbCBoYWQgZmlsbGVkIGV2ZXJ5CgkJCWdyb292ZS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2lmICRpbnNwZWN0ZWRFbGV2ZW50aFN0ZXAmZ3Q7Jmd0OwoJCSZsdDtwJmd0OwoJCQlUaHJlZSBrbm9ja3Mgc3RydWNrIHRoZSB1bmRlcnNpZGUgb2YgdGhlIHN0YWlyLgoJCSZsdDsvcCZndDsKCSZsdDsmbHQ7ZWxzZWlmICRsaXN0ZW5lZE5lYXJTdGFpcnMmZ3Q7Jmd0OwoJCSZsdDtwJmd0OwoJCQlUaGUgd2FsbCBhbnN3ZXJlZCB3aXRoIHRoZSBzYW1lIHN5bmNocm9uaXplZCBzY3JhdGNoaW5nIEtldmluCgkJCWhhZCBoZWFyZCBlYXJsaWVyLgoJCSZsdDsvcCZndDsKCSZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0ZWRDbG9zZXQmZ3Q7Jmd0OwoJCSZsdDtwJmd0OwoJCQlUaGUgaGFsbHdheSBmaWxsZWQgd2l0aCB0aGUgd2V0LWVhcnRoIHNtZWxsIGZyb20gdGhlIGNsb3NldC4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgaW52aXNpYmxlIGZvb3RzdGVwcyByZXN1bWVkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAkZXhhbWluZWRTdGFpcmNhc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGludmlzaWJsZSB3ZWlnaHQgc3RvcHBlZCBzb21ld2hlcmUgYWJvdmUgdGhlIHNlY3Rpb24gS2V2aW4gaGFkCgkJZXhhbWluZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCUhlIGNvdWxkIG5vdCBkZXRlcm1pbmUgd2hpY2ggc3RlcCBoYWQgY3JlYWtlZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUZvciBzZXZlcmFsIHNlY29uZHMsIG5vdGhpbmcgbW92ZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGVuIHRoZSBkZXNjZW50IHJlc3VtZWQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgaW52aXNpYmxlIHdlaWdodCBzdG9wcGVkIHBhcnR3YXkgZG93biB0aGUgc3RhaXJjYXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gY291bGQgbm90IHRlbGwgd2hpY2ggc3RlcCBoYWQgY3JlYWtlZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUZvciBzZXZlcmFsIHNlY29uZHMsIG5vdGhpbmcgbW92ZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGVuIHRoZSBkZXNjZW50IHJlc3VtZWQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGVuLiZsdDticiZndDsKCU5pbmUuJmx0O2JyJmd0OwoJRWlnaHQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZHMgd2VyZSBjb21pbmcgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2V2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaXguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZpdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGFsbHdheSBsYW1wIGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvdXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhcmsgc2hhcGUgcGFzc2VkIGFjcm9zcyB0aGUgdXBwZXIgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFpciB3YXJtZWQgYmVoaW5kIEtldmluLCBhcyB0aG91Z2ggc29tZW9uZSBoYWQgbGVhbmVkIGNsb3NlIHRvCgloaXMgbmVjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3by4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllJiMzOTtzIGhhbmQgZm91bmQgaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpbmFsIHN0ZXAgZGlkIG5vdCBjcmVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBoYWQgcmVhY2hlZCB0aGUgaGFsbHdheSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBkZXNjZW5kZWQgdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBwYXVzZWQgb24gdGhlIGVsZXZlbnRoIHN0YWlyJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHBhdXNlZCBhdCBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkZXhhbWluZWRTdGFpcmNhc2UmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0ludmlzaWJsZSBmb290c3RlcHMgcGF1c2VkIHNvbWV3aGVyZSBvbiB0aGUgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHBhdXNlZCBzb21ld2hlcmUgb24gdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0ludmlzaWJsZSBmb290c3RlcHMgcGF1c2VkIHBhcnR3YXkgZG93biB0aGUgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHBhdXNlZCBkdXJpbmcgdGhlaXIgZGVzY2VudCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O01vdmUgYmV0d2VlbiB0aGUgc3RhaXJjYXNlIGFuZCBBYmJpZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtUaGUgV2V0IEZvb3RwcmludCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUZWxsIEFiYmllIHRvIG9wZW4gdGhlIGZyb250IGRvb3IuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiB1cmdlbnRseSB0b2xkIEFiYmllIHRvIGxlYXZlIHRoZSBob3VzZSZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtUaGUgV2V0IEZvb3RwcmludCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaCB0aGUgZmxvb3IgdG8gbGVhcm4gd2hlcmUgdGhlIGZvb3RzdGVwcyBzdG9wLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7VGhlIFdldCBGb290cHJpbnQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGFrZSBBYmJpZSYjMzk7cyBoYW5kIGFuZCBsZWF2ZSBpbW1lZGlhdGVseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7VGhlIFdldCBGb290cHJpbnQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDYiIG5hbWU9IlRoZSBXZXQgRm9vdHByaW50IiB0YWdzPSIiIHBvc2l0aW9uPSI3NzUsMjAyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGZvdW5kV2V0Rm9vdHByaW50ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEZyb250IEhhbGwmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7R2V0IEFiYmllIG91dCBvZiB0aGUgaG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBjcmVha2luZyBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvdXNlIGJlY2FtZSBzaWxlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaWxlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9vZCBiZXNpZGUgaGltIHdpdGggb25lIGhhbmQgd3JhcHBlZCBhcm91bmQgaGlzIGZpbmdlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBcmUgd2UgbGVhdmluZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhcmsgbWFyayBhcHBlYXJlZCBvbiB0aGUgd29vZGVuIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXQgZmlyc3QsIGl0IHdhcyBubyBsYXJnZXIgdGhhbiBhIGNvaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXYXRlciBzcHJlYWQgc2xvd2x5IGludG8gdGhlIGdyYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gYXJjaCBmb3JtZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGZpdmUgbmFycm93IHRvZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZvb3RwcmludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJhcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTbWFsbGVyIHRoYW4gS2V2aW4mIzM5O3MgYnV0IGxhcmdlciB0aGFuIEFiYmllJiMzOTtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGVyIGNhcnJpZWQgZmxlY2tzIG9mIGJsYWNrIHNvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNlY29uZCBmb290cHJpbnQgZGlkIG5vdCBhcHBlYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2luZ2xlIHdldCBtYXJrIHBvaW50ZWQgdG93YXJkIHRoZSBmcm9udCBkb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVG93YXJkIEtldmluIGFuZCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBzaW5nbGUgd2V0IGZvb3RwcmludCBhcHBlYXJlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzdGFpcnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egd2V0IGJhcmVmb290IHByaW50IGFwcGVhcmVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtTaW5nbGUgd2V0IGZvb3RwcmludCBwb2ludGluZyB0b3dhcmQgdGhlIGZyb250IGRvb3ImcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYWpvciBjbHVlOiZsdDsvc3Ryb25nJmd0OyBBIHNpbmdsZSB3ZXQgZm9vdHByaW50IGFwcGVhcmVkIGF0IHRoZQoJYm90dG9tIG9mIHRoZSBzdGFpcmNhc2UgYW5kIHBvaW50ZWQgdG93YXJkIHRoZSBmcm9udCBkb29yLgombHQ7L2RpdiZndDsKJmx0OyZsdDtpZiAkaW52ZXN0aWdhdGVkQ2xvc2V0Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBmb290cHJpbnQgY2FycmllZCB0aGUgc2FtZSB3ZXQtZWFydGggc21lbGwgS2V2aW4gaGFkIG5vdGljZWQKCQlpbnNpZGUgdGhlIGNsb3NldC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUZpdmUgbmFycm93IHN0cmVha3MgZXh0ZW5kZWQgZnJvbSB0aGUgdG9lcy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZXkgbWF0Y2hlZCB0aGUgZmluZ2VyIG1hcmtzIGJlaGluZCB0aGUgaGFuZ2luZyBjb2F0cy4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZm9vdHByaW50IGFuZCBjbG9zZXQgc2hhcmVkIHRoZSBzbWVsbCBvZiB3ZXQgc29pbCZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBmb290cHJpbnQgbWF0Y2hlZCB0aGUgZml2ZSBtYXJrcyBpbiB0aGUgY2xvc2V0JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2V0IGZvb3RwcmludCBjb25uZWN0ZWQgdG8gdGhlIGNsb3NldCBzb2lsIG1hcmtzJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0Nvbm5lY3Rpb24gZGlzY292ZXJlZDombHQ7L3N0cm9uZyZndDsgVGhlIGZvb3RwcmludCBtYXRjaGVkIHRoZQoJCXdldC1lYXJ0aCBzbWVsbCBhbmQgZml2ZSBuYXJyb3cgbWFya3MgaW5zaWRlIHRoZSBjbG9zZXQuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgd2F0ZXIgaGFkIHRoZSBzYW1lIHVubmF0dXJhbCBjb2xkIEtldmluIGhhZCBmZWx0IG9uIHRoZQoJCWVsZXZlbnRoIHN0YWlyLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQSB0aGluIHN0cmVhbSBjb25uZWN0ZWQgdGhlIGZvb3RwcmludCB0byB0aGUgc3RhaXJjYXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gZm9sbG93ZWQgdGhlIGxpbmUgdXB3YXJkIHdpdGggaGlzIGV5ZXMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBlbmRlZCBhdCBzdGFpciBYSS4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZm9vdHByaW50IHJlc2VtYmxlZCB0aGUgbW9pc3R1cmUgb24gdGhlIGVsZXZlbnRoIHN0YWlyJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2V0IGZvb3RwcmludCBjb25uZWN0ZWQgdG8gc3RhaXIgWEkmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7Q29ubmVjdGlvbiBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBBIHRyYWlsIG9mIGNvbGQgbW9pc3R1cmUKCQljb25uZWN0ZWQgdGhlIGZvb3RwcmludCB0byB0aGUgZWxldmVudGggc3RhaXIuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGxpc3RlbmVkTmVhclN0YWlycyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlTb21ldGhpbmcgc2NyYXRjaGVkIG9uY2UgYmVoaW5kIHRoZSB3YWxsLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNvdW5kIHRyYXZlbGVkIGZyb20gdGhlIGVsZXZlbnRoIHN0YWlyIHRvIHRoZSBmb290cHJpbnQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBzdG9wcGVkIGRpcmVjdGx5IGJlbmVhdGggdGhlIHdldCBtYXJrLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBmb290cHJpbnQgYXBwZWFyZWQgd2l0aCB0aGUgc2FtZSBzY3JhdGNoaW5nIEtldmluIGhlYXJkIGJlaGluZCB0aGUgd2FsbCZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHdldCBmb290cHJpbnQgYXBwZWFyZWQgYWJvdmUgdGhlIG1vdmluZyBzY3JhdGNoaW5nIHNvdW5kJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0Nvbm5lY3Rpb24gZGlzY292ZXJlZDombHQ7L3N0cm9uZyZndDsgVGhlIHN5bmNocm9uaXplZCBzY3JhdGNoaW5nCgkJdHJhdmVsZWQgdGhyb3VnaCB0aGUgd2FsbCBhbmQgc3RvcHBlZCBiZW5lYXRoIHRoZSBmb290cHJpbnQuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGxlZnRTdGFpcnNBbG9uZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBoYWQgbm8gZWFybGllciBkaXNjb3ZlcnkgdG8gY29ubmVjdCB3aXRoIHRoZSB3ZXQgbWFyay4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoYXQgZGlkIG5vdCBtYWtlIHRoZSBmb290cHJpbnQgbGVzcyByZWFsLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgb25seSBtZWFudCBoZSBoYWQgZmV3ZXIgZXhwbGFuYXRpb25zLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZvb3RwcmludCBkZWVwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhdGVyIGZpbGxlZCB0aGUgc2hhcGUgdW50aWwgdGhlIGZsb29yIHJlZmxlY3RlZCB0aGUgaGFsbHdheSBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2F3IHRoZSBzdGFpcmNhc2UgaW4gdGhlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBhbHNvIHNhdyB0aHJlZSBnaXJscyBzdGFuZGluZyBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBzYXcgdGhyZWUgZ2lybHMgcmVmbGVjdGVkIGluIHRoZSB3ZXQgZm9vdHByaW50JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RocmVlIGdpcmxzIGFwcGVhcmVkIGluIHRoZSB3ZXQgZm9vdHByaW50JiMzOTtzIHJlZmxlY3Rpb24mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzcHVuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgQWJiaWUgc3Rvb2QgdGhlcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBiYWNrIGF0IHRoZSBmb290cHJpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcmVmbGVjdGlvbiBzaG93ZWQgb25seSB0aGUgY2VpbGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBBYmJpZSB0b3dhcmQgdGhlIGZyb250IGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIG91dHNpZGUsIHdhaXRlZCBmb3IgQWJiaWUgdG8gY3Jvc3MsIGFuZCBjbG9zZWQgdGhlIGRvb3IKCXdpdGhvdXQgbG9va2luZyBiYWNrIGludG8gdGhlIGhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxvY2sgY2xpY2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gdGhlIG90aGVyIHNpZGUgY2FtZSB0aHJlZSBzbG93IGtub2Nrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBhdCBoaW0uICZxdW90O0RpZCB5b3UgZm9yZ2V0IHNvbWV0aGluZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0YXJlZCBhdCB0aGUgZG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgd2FzIGJlZ2lubmluZyB0byBzdXNwZWN0IHRoYXQgc29tZXRoaW5nIGluc2lkZSBoYWQgcmVtZW1iZXJlZAoJdGhlbS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXZpZXcgS2V2aW4mIzM5O3MgZGlzY292ZXJpZXMtJmd0O0tldmluIENoYXB0ZXIgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDciIG5hbWU9IktldmluIENoYXB0ZXIgU3VtbWFyeSIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDIxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O091dHNpZGUgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7V2FsayBBYmJpZSB0byBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7Q2hhcHRlciBPbmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7S2V2aW4gV2luY2hlc3RlciZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCVdoYXQgS2V2aW4gS25vd3MKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArICRrZXZpbkFwcHJvYWNoLmFjdCAmZ3Q7PSAka2V2aW5BcHByb2FjaC5hdm9pZCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBsZWZ0IHRoZSBXaW5jaGVzdGVyIGhvdXNlIGtub3dpbmcgdGhhdCB0aGUgbW9ybmluZyBjb3VsZAoJCW5vdCBiZSBleHBsYWluZWQgYnkgb25lIGZhdWx0eSBsYW1wIG9yIG9uZSBicm9rZW4gY2xvY2suCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBsZWZ0IHRoZSBXaW5jaGVzdGVyIGhvdXNlIHN0aWxsIHRyeWluZyB0byBiZWxpZXZlIHRoYXQgZWFjaAoJCWV2ZW50IG1pZ2h0IGhhdmUgYW4gb3JkaW5hcnkgZXhwbGFuYXRpb24uCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHdldCBmb290cHJpbnQgbWFkZSB0aGF0IGJlbGllZiBtdWNoIGhhcmRlciB0byBtYWludGFpbi4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQgY2hhcHRlci1zdW1tYXJ5LWNsdWVzJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkaXNjb3ZlcmllczombHQ7L3N0cm9uZyZndDsKCgkmbHQ7dWwmZ3Q7CgkJJmx0O2xpJmd0O0tldmluJiMzOTtzIGRpZ2l0YWwgd2F0Y2ggZmFpbGVkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyBkaXNhcHBlYXJlZC4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRoYWxsd2F5RmlndXJlQ29uZmlybWVkJmd0OyZndDsKCQkJJmx0O2xpJmd0O0tldmluIGNsZWFybHkgc2F3IGEgZmlndXJlIGluIHRoZSBoYWxsd2F5LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4mZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2V2aW4gbWF5IGhhdmUgc2VlbiBhIGZpZ3VyZSBvciBoZWFyZCBzb21lb25lIG5lYXIgdGhlIHN0YWlyY2FzZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkZXhhbWluZWRFbXB0eUZyYW1lJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBwaG90b2dyYXBoIHZhbmlzaGVkIGZyb20gYSBmcmFtZSB0aGF0IHJlbWFpbmVkIHNlYWxlZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Egc2l4LXBldGFsZWQgc3ltYm9sIGlzIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3Rlci4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIFJvbWFuIG51bWVyYWwgWEkgYXBwZWFycyBuZWFyIHRoZSBzeW1ib2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgZWxldmVudGggc3RhaXIgd2FzIGNvbGQgYW5kIGRhbXAuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgaGFsbHdheSBjbG9zZXQgc21lbGxlZCBvZiB3ZXQgc29pbC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkbGlzdGVuZWROZWFyU3RhaXJzJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Egc2NyYXBpbmcgc291bmQgbW92ZWQgYmVoaW5kIHRoZSB3YWxsIHRvd2FyZCB0aGUgZWxldmVudGggc3RhaXIuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDtsaSZndDtBIHdldCBmb290cHJpbnQgYXBwZWFyZWQgbmVhciB0aGUgc3RhaXJjYXNlLiZsdDsvbGkmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBhbHNvIGtub3dzIHRoYXQgdGhlIGhhbGx3YXkgY2xvc2V0IHNtZWxsZWQgb2Ygd2V0IHNvaWwgYW5kCgkJdGhhdCBhbiBlbXB0eSBjb2F0IGhvb2sgbW92ZWQgYnkgaXRzZWxmLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRjYWxsZWRBYmJpZVRvRnJhbWUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgcmVtZW1iZXJzIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGguIFNoZSBiZWxpZXZlcyB0aGUgZ2lybCBpbgoJCXRoZSBtaWRkbGUgbG9va2VkIG1lYW4uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBkaWQgbm90IGFzayBBYmJpZSB3aGF0IHNoZSByZW1lbWJlcmVkIGFib3V0IHRoZSBwaG90b2dyYXBoLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRrZXZpblJlY29yZGVkQ2x1ZXMmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcHJlc2VydmVkIHBhcnQgb2YgdGhlIG1vcm5pbmcgaW4gd3JpdGluZy4KCSZsdDsvcCZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ludmVudG9yeSB1cGRhdGU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0OyZsdDtpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O015c3Rlcnkgbm90ZXMmcXVvdDspJmd0OyZndDsKCQkJS2V2aW4gaXMgY2FycnlpbmcgYSB3cml0dGVuIGxpc3Qgb2YgdGhlIHVuZXhwbGFpbmVkIGV2ZW50cy4KCQkmbHQ7Jmx0O2Vsc2VpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O0hleGFmb2lsIHNrZXRjaCZxdW90OykmZ3Q7Jmd0OwoJCQlLZXZpbiBpcyBjYXJyeWluZyBhIHNrZXRjaCBvZiB0aGUgc3ltYm9sIGFuZCB0aGUgUm9tYW4KCQkJbnVtZXJhbCBYSS4KCQkmbHQ7Jmx0O2Vsc2VpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O05vdGUgbWFya2VkIDk6MTQmcXVvdDspJmd0OyZndDsKCQkJS2V2aW4gaXMgY2FycnlpbmcgYSBub3RlIG1hcmtlZCA5OjE0LgoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gY2hvc2Ugbm90IHRvIGNyZWF0ZSBhIHdyaXR0ZW4gcmVjb3JkLiBGb3Igbm93LCB0aGUgZGV0YWlscwoJCWV4aXN0IG9ubHkgaW4gaGlzIG1lbW9yeS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtUb3RhbCB1bmV4cGxhaW5lZCBldmVudHM6Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0byBDaGFwdGVyIFR3by0mZ3Q7Q2hhcHRlciAyIFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ4IiBuYW1lPSJDaGFwdGVyIDIgVHJhbnNpdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDIyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMiZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtSeWFuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBvdXQgd2h5IFJ5YW4gd2FzIHN1bW1vbmVkIGJlZm9yZSB0aGUgZmlyc3QgYmVsbCZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgT25lJmx0Oy9kaXYmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItbnVtYmVyJnF1b3Q7Jmd0O0NoYXB0ZXIgVHdvJmx0Oy9kaXYmZ3Q7CgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7UnlhbiBHcnVibGVyJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtBIE5ldyBSZWNvcmQsIGFuZCBOb3QgdGhlIEdvb2QgS2luZCZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW9iamVjdGl2ZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ltbWVkaWF0ZSBvYmplY3RpdmU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0O3NwYW4mZ3Q7RmluZCBvdXQgd2h5IFJ5YW4gd2FzIHN1bW1vbmVkIGJlZm9yZSB0aGUgZmlyc3Qgc2Nob29sIGRheSBoYXMgcHJvcGVybHkgYmVndW4uJmx0Oy9zcGFuJmd0OwoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3Bvdi1ub3RpY2UmcXVvdDsmZ3Q7CglZb3UgYXJlIG5vdyBwbGF5aW5nIGFzICZsdDtzdHJvbmcmZ3Q7UnlhbiZsdDsvc3Ryb25nJmd0Oy4gUnlhbiBkb2VzIG5vdCBrbm93IHdoYXQKCWhhcHBlbmVkIGluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZS4gS2V2aW4mIzM5O3MgZGlzY292ZXJpZXMgd2lsbCByZW1haW4KCXByaXZhdGUgdW5sZXNzIEtldmluIGxhdGVyIGNob29zZXMgdG8gc2hhcmUgdGhlbS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJV2hpbGUgS2V2aW4gV2luY2hlc3RlciB3YXMgdHJ5aW5nIHRvIGxlYXZlIGEgaG91c2UgdGhhdCBhcHBlYXJlZAoJZGV0ZXJtaW5lZCB0byBrZWVwIGhpcyBhdHRlbnRpb24sIFJ5YW4gR3J1YmxlciB3YXMgYWxyZWFkeSBzaXR0aW5nCglvdXRzaWRlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpcnN0IGJlbGwgaGFkIG5vdCBydW5nLiBSeWFuIGhhZCBub3QgZW50ZXJlZCBhIGNsYXNzcm9vbSwgc3Bva2VuCgl0byBhIHRlYWNoZXIsIG9yIGNyZWF0ZWQgYW55IHByb2JsZW0gdGhhdCBjb3VsZCBiZSBkb2N1bWVudGVkIG9uIGFuCglvZmZpY2lhbCBmb3JtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZWhvdywgaGUgd2FzIGFscmVhZHkgaW4gdHJvdWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgaGFkIHRvIGJlIGEgc2Nob29sIHJlY29yZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgc29ydCB0aGF0IGNhbWUgd2l0aCBhIHRyb3BoeS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tCZWdpbiBSeWFuJiMzOTtzIGNoYXB0ZXItJmd0O1J5YW4gT3BlbmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDkiIG5hbWU9IlJ5YW4gT3BlbmluZyIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDI0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMiZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtSeWFuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE1haW4gT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoeSBSeWFuIHdhcyBzdW1tb25lZCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZXJlIHdlcmUgZXhhY3RseSB0aHJlZSBzaXR1YXRpb25zIGluIHdoaWNoIFJ5YW4gR3J1YmxlciByZW1vdmVkIGhpcwoJaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2xlZXBpbmcuIFNob3dlcmluZy4gQW5kLCBhcHBhcmVudGx5LCBiZWluZyBzdW1tb25lZCB0byB0aGUKCXByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHRoaXJkIHNpdHVhdGlvbiBoYWQgbm90IGJlZW4gY29uZmlybWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzYXQgb24gdGhlIGhhcmQgd29vZGVuIGJlbmNoIG91dHNpZGUgdGhlIG9mZmljZSB3aXRoIGhpcyBnbG9zc3kKCXJlZCBoZWxtZXQgcHVsbGVkIGxvdyBvdmVyIGhpcyBmb3JlaGVhZC4gVGhlIHdoaXRlIGxldHRlciBCIHN0b29kIGZvcgoJdGhlIEJvc3RvbiBSZWQgU294LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgYWxzbyBzdG9vZCBmb3IgYmFycmllciwgYnVmZmVyLCBhbmQsIG9uIHBhcnRpY3VsYXJseSBkaWZmaWN1bHQKCWRheXMsIGJldHRlciB0aGFuIG5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYmVuY2ggYXBwZWFyZWQgdG8gaGF2ZSBiZWVuIGRlc2lnbmVkIGJ5IHNvbWVvbmUgd2hvIGRpc2xpa2VkCgljaGlsZHJlbiBhbmQgaGFkIGFjY2VzcyB0byBsdW1iZXIuIEl0cyBlZGdlIHByZXNzZWQgYWdhaW5zdCB0aGUgYmFja3MKCW9mIFJ5YW4mIzM5O3MgbGVncyB3aGlsZSB0aGUgcG9saXNoZWQgd29vZCByZWZ1c2VkIHRvIHByb3ZpZGUgYW55dGhpbmcKCXJlc2VtYmxpbmcgY29tZm9ydC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhaXRpbmcsIFJ5YW4gZGVjaWRlZCwgc2hvdWxkIGVhcm4gYSBwZXJzb24gc29tZSBraW5kIG9mIGF3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJlZmVyYWJseSBvbmUgcHJlc2VudGVkIHNvbWV3aGVyZSBlbHNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCYjMzk7cyBkb29yIHN0b29kIG9wZW4gYnkgbGVzcyB0aGFuIGFuIGluY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZ2FwIHNob3VsZCBoYXZlIHJldmVhbGVkIHBhcnQgb2YgdGhlIHJvb20gYmV5b25kIGl0LiBBIGRlc2ssCglwZXJoYXBzLiBBIHdhbGwuIExpZ2h0IGZyb20gYSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCBkYXJrbmVzcyBmaWxsZWQgdGhlIG9wZW5pbmcgZnJvbSB0b3AgdG8gYm90dG9tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBsb29rIGxpa2UgYW4gdW5saXQgcm9vbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxvb2tlZCBsaWtlIHRoZSBuYXJyb3cgc3BhY2UgYmV0d2VlbiB0aGUgZG9vciBhbmQgZnJhbWUgY29udGludWVkCglmYXJ0aGVyIHRoYW4gdGhlIG9mZmljZSB3YWxsIGFsbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDbGFzc2VzIGhhZCBub3Qgc3RhcnRlZC4gVGhlIGZpcnN0IGJlbGwgaGFkIG5vdCBydW5nLiBIZSBoYWQgbm90CglzcG9rZW4gdG8gYW55b25lLCB0b3VjaGVkIGFueXRoaW5nLCBvciBjYXVzZWQgYSBzaW5nbGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgbGFzdCBwYXJ0IHdhcyBpbXBvcnRhbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgY291bGQgaG9uZXN0bHkgYmxhbWUgaGltIGZvciBhbnl0aGluZyBpZiBoZSBoYWQgbm90IHlldCBkb25lCglhbnl0aGluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglOZXcgcmVjb3JkLCBSeWFuIEdydWJsZXIuIE5vdCB0aGUga2luZCB0aGF0IGNvbWVzIHdpdGggYSB0cm9waHkuCiZsdDsvZGl2Jmd0OwombHQ7Jmx0O3J1biAkcnlhblRocmVhdHMucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwmIzM5O3Mgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJU29tZXdoZXJlIGJlaGluZCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXIsIGEgbWltZW9ncmFwaCBtYWNoaW5lIGJlZ2FuCgl0byB0dXJuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIHJvbGxlcnMgcHJvZHVjZWQgYSBzbG93IG1lY2hhbmljYWwgaHVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGFsZndheSB0aHJvdWdoIHRoZSBjeWNsZSwgdGhleSBjYXVnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWFjaGluZSBnYXZlIGEgd2V0IHNxdWVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgY29udGludWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgdG93YXJkIHRoZSBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgd2FzIGFscmVhZHkgbG9va2luZyBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFJ5YW4gZXZhbHVhdGUgZmlyc3Q/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0dWR5IHRoZSB3YWl0aW5nIGFyZWEgZm9yIHBvc3NpYmxlIGhhemFyZHMtJmd0O1J5YW4gU3R1ZGllcyB0aGUgV2FpdGluZyBBcmVhXV0KCVtbV2F0Y2ggdGhlIHNjaG9vbCBzZWNyZXRhcnktJmd0O1J5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5XV0KCVtbRXhhbWluZSB0aGUgcHJpbmNpcGFsJiMzOTtzIHBhcnRseSBvcGVuIGRvb3ItJmd0O1J5YW4gRXhhbWluZXMgdGhlIFByaW5jaXBhbCBEb29yXV0KCVtbQ2hlY2sgdGhlIG5lcnZvdXMgc3R1ZGVudCBzaXR0aW5nIGJlc2lkZSBoaW0tJmd0O1J5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MCIgbmFtZT0iQWJiaWUgR2V0cyBIZXIgT3duIENlcmVhbCIgdGFncz0iIiBwb3NpdGlvbj0iMTIwMCwyMjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHdhdGNoZWQgQWJiaWUgYmFsYW5jZSBvbiB0aGUgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb25zaWRlcmVkIGhlbHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBhbHNvIGtuZXcgd2hhdCB3b3VsZCBoYXBwZW4gaWYgaGUgZGlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd291bGQgaW5zaXN0IHNoZSBoYWQgbm90IG5lZWRlZCBoZWxwLiBLZXZpbiB3b3VsZCBleHBsYWluIHRoYXQKCWF2b2lkaW5nIGEgaGVhZCBpbmp1cnkgd2FzIG1vcmUgaW1wb3J0YW50IHRoYW4gaW5kZXBlbmRlbmNlLiBBYmJpZQoJd291bGQgYXJndWUgdGhhdCBoZXIgaGVhZCB3YXMgZXh0cmVtZWx5IHN0cm9uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdhcyBldmlkZW5jZSBzdXBwb3J0aW5nIGJvdGggc2lkZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3cmFwcGVkIGJvdGggaGFuZHMgYXJvdW5kIHRoZSBjZXJlYWwgYm94IGFuZCBwdWxsZWQgaXQgZnJvbSB0aGUKCXNoZWxmLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB0b2xkIHlvdSBJIGNvdWxkIGdldCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkbiYjMzk7dCBzYXkgYW55dGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2VyZSB0aGlua2luZyBsb3VkbHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgY2xpbWJlZCBkb3duIGFuZCBjYXJyaWVkIHRoZSBib3ggdG8gdGhlIHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgdGhlIG1vcm5pbmcgcmV0dXJuZWQgdG8gc29tZXRoaW5nIG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2VyZWFsLiBDaGFpci4gQmFja3BhY2suIEZpcnN0LWRheSBjb21wbGFpbnRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzb21ldGhpbmcgbGFyZ2Ugc3RydWNrIHRoZSBoYWxsd2F5IGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyYXNoIHNob29rIHRoZSBraXRjaGVuIGRvb3J3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBodWdnZWQgdGhlIGNlcmVhbCBib3ggYWdhaW5zdCBoZXIgY2hlc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgaGFkIGdvbmUgb3V0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZpbmQgb3V0IHdoYXQgYnJva2UtJmd0O1RoZSBIYWxsd2F5IENyYXNoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MSIgbmFtZT0iS2V2aW4gVGVsbHMgQWJiaWUgU29tZXRoaW5nIFdhcyBUaGVyZSIgdGFncz0iIiBwb3NpdGlvbj0iMTY3NSwxMDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0kgdGhvdWdodCBzb21ldGhpbmcgd2FzIGluIHRoZSBoYWxsd2F5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdHVybmVkIHRvIGxvb2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQgb2Ygc29tZXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qga25vdy4gQSBzaGFwZS4gT3IgZm9vdHN0ZXBzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hhcGVzIGRvbiYjMzk7dCBoYXZlIGZlZXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gaXQgd2FzIHByb2JhYmx5IHR3byBzb21ldGhpbmdzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIGhvcGVkIHRlbGxpbmcgc29tZW9uZSB3b3VsZCBtYWtlIHRoZSBleHBlcmllbmNlIGVhc2llciB0bwoJZXhwbGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUluc3RlYWQsIEFiYmllIGhhZCBkb3VibGVkIHRoZSBudW1iZXIgb2YgcG9zc2libGUgaW50cnVkZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IHNlZSBpdCBjbGVhcmx5LCZxdW90OyBoZSBzYWlkLiAmcXVvdDtJdCBkaXNhcHBlYXJlZCBiZWZvcmUgeW91IGNhbWUKCWluLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGVhbmVkIGludG8gdGhlIGhhbGx3YXkgZW50cmFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWxsbz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBoZXIgYmFjayBieSB0aGUgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgZG8gdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlY2F1c2UgaWYgc29tZXRoaW5nIGFuc3dlcnMsIHRoZW4gd2UgaGF2ZSBhIG11Y2ggbGFyZ2VyIHByb2JsZW0uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoYXQuICZxdW90O1doYXQgaWYgaXQmIzM5O3MgcG9saXRlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UG9saXRlIHRoaW5ncyBkb24mIzM5O3QgaGlkZSBpbiBkYXJrIGhhbGx3YXlzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U29tZXRpbWVzIHlvdSBoaWRlIGluIGRhcmsgcm9vbXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIGRpZmZlcmVudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBoaWRlIGZyb20gcGVvcGxlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gb3BlbmVkIGhpcyBtb3V0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gY2xvc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgZ2F2ZSBvbmUgZmFpbnQgZWxlY3RyaWNhbCBodW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQgdG93YXJkIHRoZSBlbXB0eSBoYWxsd2F5LiAmcXVvdDtNYXliZSBpdCBoaWRlcyBmb3IgdGhlIHNhbWUKCXJlYXNvbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S25vd2xlZGdlIHNoYXJlZDombHQ7L3N0cm9uZyZndDsgQWJiaWUga25vd3MgS2V2aW4gdGhvdWdodCBzb21ldGhpbmcKCXdhcyBuZWFyIHRoZSBzdGFpcmNhc2UsIGJ1dCBLZXZpbiBjYW5ub3QgaWRlbnRpZnkgaXQgd2l0aCBjZXJ0YWludHkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTIiIG5hbWU9IktldmluIExlYXZlcyB0aGUgSGFsbHdheSBFYXJseSIgdGFncz0iIiBwb3NpdGlvbj0iOTc1LDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkxlZnRJbnZlc3RpZ2F0aW9uRWFybHkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXZlIGZvciBzY2hvb2wgd2l0aCBBYmJpZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgYnJva2VuIGZyYW1lLCB0aGUgc2NhdHRlcmVkIGdsYXNzLCBhbmQgdGhlIGVtcHR5CglzcGFjZSB3aGVyZSB0aGUgcGhvdG9ncmFwaCBoYWQgYmVlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBoYWQgYWxyZWFkeSBsZWFybmVkIGVub3VnaCB0byBrbm93IHRoYXQgc29tZXRoaW5nIHdhcyB3cm9uZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBkaWQgbm90IG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeXRoaW5nIGJlZm9yZSBsZWF2aW5nIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgZ2V0IHlvdXIgYmFja3BhY2suJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7SSBhbHJlYWR5IGhhdmUgaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiB3ZSYjMzk7cmUgbGVhdmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgYXdheSBmcm9tIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJQmVoaW5kIGhpbSwgb25lIG9mIHRoZSBzdGVwcyBjcmVha2VkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tIZWFkIGZvciB0aGUgZnJvbnQgZG9vci0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUzIiBuYW1lPSJLZXZpbiBJbnNwZWN0cyB0aGUgRWxldmVudGggU3RlcCIgdGFncz0iIiBwb3NpdGlvbj0iMTI4Ny41LDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRpbnNwZWN0ZWRFbGV2ZW50aFN0ZXAgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogRWxldmVudGggU3RhaXImcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSBYSSBwb2ludHMgdG8gdGhlIGVsZXZlbnRoIHN0ZXAmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHBsYWNlZCBvbmUgZm9vdCBvbiB0aGUgZmlyc3Qgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JhdGNoaW5nIGluc2lkZSB0aGUgd2FsbCBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNsaW1iZWQgc2xvd2x5LCBjb3VudGluZyBlYWNoIHN0ZXAgYmVuZWF0aCBoaXMgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCU9uZS4KCVR3by4KCVRocmVlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc3RhaXJjYXNlIGNyZWFrZWQgYmVuZWF0aCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbiB0aGUgZm91cnRoIHN0ZXAsIGFub3RoZXIgY3JlYWsgYW5zd2VyZWQgZnJvbSBhYm92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZyb3plLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIG5vdCBzdGVwcGVkIG9uIGFueXRoaW5nIGFib3ZlIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvbnRpbnVlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglGaXZlLgoJU2l4LgoJU2V2ZW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBhaXIgZ3JldyBjb2xkZXIgYXMgaGUgY2xpbWJlZC4gQnkgdGhlIG5pbnRoIHN0ZXAsIGhpcyBicmVhdGgKCWZvcm1lZCBhIHBhbGUgY2xvdWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVtYWluZWQgYXQgdGhlIHRhYmxlLCBlYXRpbmcgY2VyZWFsIGFzIGlmIGhlciBicm90aGVyIGNvbW1vbmx5CgljbGltYmVkIHN0YWlyY2FzZXMgdGhhdCBicmVhdGhlZCB3aW50ZXIgYWlyLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUVpZ2h0LgoJTmluZS4KCVRlbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCBiZWxvdyB0aGUgZGFya2VyIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFbGV2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNb2lzdHVyZSBoYWQgY29sbGVjdGVkIGFsb25nIGl0cyB3b29kZW4gZWRnZS4gVGhlIHJlc3Qgb2YgdGhlCglzdGFpcmNhc2Ugd2FzIGRyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHRvdWNoZWQgdGhlIHN0YWluIHdpdGggb25lIGZpbmdlcnRpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b29kIHdhcyBjb2xkIGVub3VnaCB0byBodXJ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzb2Z0IGtub2NrIGNhbWUgZnJvbSBiZW5lYXRoIHRoZSBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtb3ZlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBrbm9jayBjYW1lIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIHRoaXJkIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZSBldmVubHkgc3BhY2VkIGtub2NrcyBmcm9tIGluc2lkZSB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJldHdlZW4gdGhlIGtub2Nrcywgc29tZXRoaW5nIG1vdmVkIGJlbmVhdGggdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgc2NyYXRjaGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJyZWF0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBzdHJlYW0gb2Ygd2F0ZXIgZW1lcmdlZCBmcm9tIHRoZSBzZWFtIGJlbG93IHRoZSBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5zdGVhZCBvZiBkcmlwcGluZyBkb3dud2FyZCwgaXQgdHJhdmVsZWQgc2lkZXdheXMgYWxvbmcgdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUb3dhcmQgS2V2aW4mIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJhY2tlZCBkb3duIHR3byBzdGVwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YXRlciBzdG9wcGVkIG1vdmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBicmVhdGhpbmcgc3RvcHBlZCB0b28uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1NvbWV0aGluZyBrbm9ja2VkIGJlbmVhdGggdGhlIGVsZXZlbnRoIHN0YWlyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZWxldmVudGggc3RhaXIgd2FzIGNvbGQgYW5kIGRhbXAmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1NvbWV0aGluZyBiZW5lYXRoIHN0YWlyIFhJIGFwcGVhcmVkIHRvIGJyZWF0aGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhyZWUga25vY2tzIGFuZCBicmVhdGhpbmcgYmVuZWF0aCBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgZGlzY292ZXJ5OiZsdDsvc3Ryb25nJmd0OyBTb21ldGhpbmcga25vY2tlZCB0aHJlZSB0aW1lcyBhbmQKCWFwcGVhcmVkIHRvIGJyZWF0aGUgYmVuZWF0aCB0aGUgY29sZCwgZGFtcCBlbGV2ZW50aCBzdGFpci4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgdXBwZXIgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCB0aHJlZSBzbWFsbCBzaGFkb3dzIHN0b29kIHNpZGUgYnkgc2lkZSBhZ2FpbnN0IHRoZQoJd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGhhbGx3YXkgbGFtcCBmbGlja2VyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IEtldmluJiMzOTtzIHNoYWRvdyByZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXR1cm4gZG93bnN0YWlycy0mZ3Q7S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQiIG5hbWU9IktldmluIENoZWNrcyB0aGUgSGFsbHdheSBDbG9zZXQiIHRhZ3M9IiIgcG9zaXRpb249IjE0MTIuNSwxODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hlY2tlZEhhbGx3YXlDbG9zZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDaGVjayB3aGV0aGVyIHRoZSBzY3JhdGNoaW5nIGVudGVyZWQgdGhlIGNsb3NldCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgdHJhdmVsZWQgZG93bndhcmQgdGhyb3VnaCB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGl0IHdpdGggaGlzIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBwYXNzZWQgdGhlIG5pbnRoIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2V2ZW50aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaWZ0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgdHVybmVkIGluc2lkZSB0aGUgd2FsbCBhbmQgbW92ZWQgdG93YXJkIHRoZSBoYWxsd2F5IGNsb3NldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjbG9zZXQgZG9vciBzdG9vZCBvcGVuIGJ5IGxlc3MgdGhhbiBhbiBpbmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtZW1iZXJlZCBsZWF2aW5nIGl0IGNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGFsc28gcmVtZW1iZXJlZCBlbm91Z2ggc3RyYW5nZSB0aGluZ3MgZnJvbSB0aGUgbW9ybmluZyB0byBrbm93IHRoYXQKCWhpcyBtZW1vcnkgd2FzIG5vIGxvbmdlciB0aGUgbGVhc3QgcmVsaWFibGUgb2JqZWN0IGluIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JhdGNoaW5nIHJlYWNoZWQgdGhlIGNsb3NldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZG9vciBvcGVuZWQgYW5vdGhlciBpbmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjb2xkIHNtZWxsIGRyaWZ0ZWQgdGhyb3VnaCB0aGUgZ2FwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2V0IHNvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEZWFkIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBkZWVwZXIgdGhhdCBLZXZpbiBjb3VsZCBub3QgbmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gaW5zaWRlIHRoZSBjbG9zZXQgY2FtZSBvbmUgc29mdCB0YXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIHRoaXJkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW09wZW4gdGhlIGNsb3NldC0mZ3Q7S2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTUiIG5hbWU9IktldmluIExpc3RlbnMgTmVhciB0aGUgU3RhaXJjYXNlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTI1LDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsaXN0ZW5lZE5lYXJTdGFpcnMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1RyYWNrIHRoZSBzb3VuZCBtb3ZpbmcgYmVoaW5kIHRoZSB3YWxsJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBiZXNpZGUgdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9sbG93aW5nIHRoZSBzb3VuZCBtaWdodCB0ZWxsIGhpbSB3aGVyZSBpdCB3ZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9sbG93aW5nIHRoZSBzb3VuZCBtaWdodCBhbHNvIHBsYWNlIGhpbSBkaXJlY3RseSBpbiBmcm9udCBvZiB3aGF0ZXZlcgoJd2FzIG1ha2luZyBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNob3NlIHRvIGxpc3Rlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JhdGNoaW5nIGJlZ2FuIGJlbmVhdGggdGhlIGVsZXZlbnRoIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0cmF2ZWxlZCBkb3dud2FyZCB0aHJvdWdoIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2xvd2x5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRoZSByYW5kb20gbW92ZW1lbnQgb2YgYSBtb3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1pY2UgZGlkIG5vdCBwYXVzZSBldmVyeSBmZXcgZmVldCBhcyB0aG91Z2ggY2hlY2tpbmcgd2hldGhlciBzb21lb25lCgl3YXMgc3RpbGwgbGlzdGVuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIHN0b3BwZWQgbmVhciB0aGUgc2V2ZW50aCBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGVsZCBoaXMgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgcmVzdW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJlYWNoZWQgdGhlIGZvdXJ0aCBzdGVwLCBjcm9zc2VkIGJlaGluZCB0aGUgYmFuaXN0ZXIgcG9zdCwgYW5kCgllbnRlcmVkIHRoZSB3YWxsIGJlc2lkZSB0aGUgY2xvc2V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzZWNvbmQgc291bmQgYW5zd2VyZWQgZnJvbSBpbnNpZGUgdGhlIGtpdGNoZW4gd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlciBmcm9tIGFib3ZlIHRoZSBsYW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgc2VwYXJhdGUgbG9jYXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgc2VwYXJhdGUgc2NyYXRjaGluZyBzb3VuZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbGwgbW92aW5nIGluIHRoZSBzYW1lIHJoeXRobS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vdCBkZWNpZGUgd2hldGhlciBvbmUgdGhpbmcgaGFkIGRpdmlkZWQgaW50byB0aHJlZSBvcgoJdGhyZWUgdGhpbmdzIGhhZCBmaW5hbGx5IG5vdGljZWQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kcyBzdG9wcGVkIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSBiZWhpbmQgdGhlIHN0YWlyY2FzZSB3YWxsIGNhbWUgb25lIGZhaW50IHdoaXNwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBub3QgdW5kZXJzdGFuZCB0aGUgd29yZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNvdW5kZWQgYWxtb3N0IGxpa2UgaGlzIG5hbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbG1vc3QuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egc2NyYXBpbmcgc291bmQgbW92ZWQgZnJvbSBzdGFpciBYSSB0b3dhcmQgdGhlIGhhbGx3YXkgY2xvc2V0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaHJlZSBzY3JhdGNoaW5nIHNvdW5kcyBtb3ZlZCB0aHJvdWdoIHNlcGFyYXRlIHdhbGxzIGluIHRoZSBzYW1lIHJoeXRobSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtTY3JhdGNoaW5nIHRyYXZlbGVkIGZyb20gc3RhaXIgWEkgdGhyb3VnaCB0aGUgaG91c2Ugd2FsbHMmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0FtYmlndW91cyBjbHVlOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBzeW5jaHJvbml6ZWQgc2NyYXRjaGluZyBzb3VuZHMKCW1vdmVkIGJlaGluZCBzZXBhcmF0ZSB3YWxscyBhZnRlciB0aGUgc291bmQgbGVmdCBzdGFpciBYSS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBhd2F5IGZyb20gdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YWxsIGJlc2lkZSBoaW0gc2NyYXRjaGVkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDbG9zZXIgdGhhbiBiZWZvcmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbR2V0IHJlYWR5IHRvIGxlYXZlLSZndDtLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NiIgbmFtZT0iS2V2aW4gTGVhdmVzIHRoZSBTdGFpcnMgQWxvbmUiIHRhZ3M9IiIgcG9zaXRpb249IjE3MjUsMTk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxlZnRTdGFpcnNBbG9uZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByaW9yaXRpemUgZ2V0dGluZyBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGF3YXkgZnJvbSB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmtlciBzdGVwIHdvdWxkIHN0aWxsIGJlIHRoZXJlIHdoZW4gTW9tIGNhbWUgaG9tZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2wgd291bGQgc3RpbGwgYmUgY2FydmVkIGludG8gdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hhdGV2ZXIgd2FzIHNjcmF0Y2hpbmcgaW5zaWRlIHRoZSB3YWxsIHdvdWxkIGhvcGVmdWxseSByZW1haW4gaW5zaWRlCgl0aGUgd2FsbCwgd2hpY2ggS2V2aW4gY29uc2lkZXJlZCB0aGUgaWRlYWwgbG9jYXRpb24gZm9yIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW52ZXN0aWdhdGluZyBhbG9uZSB3b3VsZCBub3QgbWFrZSBBYmJpZSBzYWZlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdvdWxkIG5vdCBnZXQgZWl0aGVyIG9mIHRoZW0gdG8gc2Nob29sIG9uIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3b3VsZCBwcm9iYWJseSBub3QgaW1wcm92ZSBLZXZpbiYjMzk7cyBmaXJzdC1kYXkgaW50cm9kdWN0aW9uIGlmIGhlCglhcnJpdmVkIGNhcnJ5aW5nIHBhcnQgb2YgYSBoYXVudGVkIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmNlLCBsZWF2aW5nIHNvbWV0aGluZyB1bmV4cGxhaW5lZCBmZWx0IGxpa2UgdGhlIG1vcmUgcmVhc29uYWJsZQoJZGVjaXNpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgdG93YXJkIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHRvb2sgYW5vdGhlciBzdGVwIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RhaXJjYXNlIGNyZWFrZWQgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhbm90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGZvbGxvd2VkIGhpbSBkb3dud2FyZCBldmVuIHRob3VnaCBoZSB3YXMgYWxyZWFkeSBvbiB0aGUKCWZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNob29zaW5nIG5vdCB0byBpbnZlc3RpZ2F0ZSB3YXMgbm90IHRoZSBzYW1lIGFzIHByZXRlbmRpbmcgbm90aGluZwoJd2FzIHRoZXJlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc3RhaXJjYXNlIGNyZWFrZWQgYWZ0ZXIgS2V2aW4gY2hvc2UgdG8gbGVhdmUgaXQgYWxvbmUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1Byb3RlY3RpdmUgZGVjaXNpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHN0b3BwZWQgaW52ZXN0aWdhdGluZyBzbwoJaGUgY291bGQgZ2V0IEFiYmllIG91dCBvZiB0aGUgaG91c2UuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tHZXQgcmVhZHkgdG8gbGVhdmUtJmd0O0tldmluIFJlY29yZHMgdGhlIE1vcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU3IiBuYW1lPSJSeWFuIFN0dWRpZXMgdGhlIFdhaXRpbmcgQXJlYSIgdGFncz0iIiBwb3NpdGlvbj0iNTg3LjUsMjUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE9mZmljZSBXYWl0aW5nIEFyZWEmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgYW55dGhpbmcgaW4gdGhlIHdhaXRpbmcgYXJlYSB0aGF0IG1pZ2h0IGJlIGRhbmdlcm91cyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CglSeWFuIGJlZ2FuIHdpdGggdGhlIGNlaWxpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlYXRzIGZyb20gYWJvdmUgaGFkIGFuIHVuZmFpciBhZHZhbnRhZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gZmx1b3Jlc2NlbnQgbGlnaHRzIHdvcmtlZC4gT25lIGZsaWNrZXJlZC4gQW5vdGhlciBhcHBlYXJlZCB0bwoJaGF2ZSBiZWVuIGRlYWQgbG9uZyBlbm91Z2ggdG8gYmVjb21lIHBhcnQgb2YgdGhlIGFyY2hpdGVjdHVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIGxvb3NlIHBhbmVscy4gTm8gaGFuZ2luZyBvYmplY3RzLiBObyB2aXNpYmxlIGxlYWtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGNlaWxpbmcgdGlsZSBhYm92ZSB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igd2FzIGRhcmtlciB0aGFuIHRoZQoJb3RoZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBjb3VsZCBoYXZlIGJlZW4gYW4gb2xkIHdhdGVyIHN0YWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgYWxzbyBoYXZlIGJlZW4gYSB3YXJuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBtb3ZlZCBvbiB0byB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTcXVhcmUgdGlsZXMgZm9ybWVkIGV2ZW4gcm93cyBiZW5lYXRoIHllYXJzIG9mIGNsb3VkeSB3YXguIE5vIGNyYWNrcwoJbGFyZ2UgZW5vdWdoIHRvIGNhdGNoIGEgc2hvZS4gTm8gbWlzc2luZyBzZWN0aW9ucy4gTm8gcmVhc29uIGZvciB0aGUKCXJvdyBuZWFyZXN0IHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vciB0byBiZSBzbGlnaHRseSBuYXJyb3dlciB0aGFuIHRoZQoJcmVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY291bnRlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByb3cgYmVnYW4gc3RyYWlnaHQgbmVhciB0aGUgb2ZmaWNlIGVudHJhbmNlIGFuZCBuYXJyb3dlZCBhcyBpdAoJYXBwcm9hY2hlZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IsIGFzIHRob3VnaCB0aGUgcm9vbSBoYWQgYmVlbiBzcXVlZXplZAoJYWZ0ZXIgdGhlIHRpbGVzIHdlcmUgaW5zdGFsbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIHRvd2FyZCB0aGUgd2FsbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGFwcGVhcmVkIHBhcmFsbGVsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsb29yIGRpc2FncmVlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtaW1lb2dyYXBoIG1hY2hpbmUgaHVtbWVkIGluIHRoZSBiYWNrIHJvb20uIEl0cyByb2xsZXJzIGNhdWdodAoJYW5kIHNxdWVha2VkIGhhbGZ3YXkgdGhyb3VnaCBhbm90aGVyIGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFpciBzbWVsbGVkIG9mIHBlbmNpbCBzaGF2aW5ncywgb2xkIGNvZmZlZSwgYW5kIHB1cnBsZSBpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNb3N0bHkgb3JkaW5hcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPcmRpbmFyeSBkaWQgbm90IG1lYW4gc2FmZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7Q2hlY2sgY2VpbGluZ3MgYW5kIGZsb29ycyBiZWZvcmUgbG93ZXJpbmcgZGVmZW5zZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBmbG9vciB0aWxlcyBuYXJyb3cgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2FpdGluZyBhcmVhIGZsb29yIGFwcGVhcnMgdG8gbmFycm93IG5lYXIgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J5YW4mIzM5O3MgcnVsZTombHQ7L3N0cm9uZyZndDsgQSByb29tIHNob3VsZCBiZSBjaGVja2VkIGJlZm9yZSBpdCBpcwoJdHJ1c3RlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmbG9vciB0aWxlcyBhcHBlYXIgdG8KCW5hcnJvdyBhcyB0aGV5IGFwcHJvYWNoIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZXR1cm5lZCBoaXMgYXR0ZW50aW9uIHRvIHRoZSByb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlYWQgZmx1b3Jlc2NlbnQgbGlnaHQgYWJvdmUgaGltIGNsaWNrZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJlbWFpbmVkIGRhcmsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXZhbHVhdGUgc29tZXRoaW5nIGVsc2UtJmd0O1J5YW4gV2FpdGluZyBBcmVhIEh1Yl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTgiIG5hbWU9IlJ5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSI3MTIuNSwyNTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhblN0dWRpZWRTZWNyZXRhcnkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBPZmZpY2UgV2FpdGluZyBBcmVhJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIHNlY3JldGFyeSBrZWVwcyB3YXRjaGluZyBSeWFuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgc2F0IGJlaGluZCB0aGUgY291bnRlciB3aXRoIGJvdGggaGFuZHMgZm9sZGVkIG92ZXIgYQoJc3RhY2sgb2YgZm9ybXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgaGFkIG5vdCBtb3ZlZCBzaW5jZSBSeWFuIGFycml2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgYmFjayByZW1haW5lZCBwZXJmZWN0bHkgc3RyYWlnaHQuIFNoZSBkaWQgbm90IHRhcCBhIHBlbmNpbCwKCWFkanVzdCBoZXIgY2hhaXIsIGNoZWNrIHRoZSBjbG9jaywgb3IgcGVyZm9ybSBhbnkgb2YgdGhlIHNtYWxsCgltb3ZlbWVudHMgcGVvcGxlIG1hZGUgd2hpbGUgd2FpdGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBvbmx5IHdhdGNoZWQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBicmllZmx5IGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hlbiBoZSBsb29rZWQgYmFjaywgdGhlIHNlY3JldGFyeSByZW1haW5lZCBpbiBleGFjdGx5IHRoZSBzYW1lCglwb3NpdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV4Y2VwdCBoZXIgZXllcyBoYWQgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHdlcmUgc3RpbGwgZml4ZWQgb24gaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBoZWF2eSBzaWx2ZXIgcmluZyByZXN0ZWQgb24gb25lIGZpbmdlci4gSXRzIGdyZWVuIHN0b25lIGxvb2tlZCB0b28KCWxhcmdlIGZvciBoZXIgbmFycm93IGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYWJvdmUgdGhlIGNvdW50ZXIgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0b25lIGZsYXNoZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgZGlkIG5vdCBsb29rIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWltZW9ncmFwaCBtYWNoaW5lIGNvbXBsZXRlZCBhbm90aGVyIGN5Y2xlIGJlaGluZCB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBmbGFzaGVkIGFnYWluIGF0IHRoZSBleGFjdCBtb21lbnQgdGhlIHJvbGxlcnMgY2F1Z2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3VudGVkIHRoZSBzZWNvbmRzIHVudGlsIHRoZSBuZXh0IGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSHVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHVybi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNxdWVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdG9uZSByZW1haW5lZCBkYXJrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhdHRlcm4gaGFkIGZhaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZm91bmQgdGhhdCBsZXNzIHJlYXNzdXJpbmcgdGhhbiBpZiBpdCBoYWQgY29udGludWVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1NjaG9vbCBzZWNyZXRhcnkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgd2VhcnMgYSBzaWx2ZXIgcmluZyB3aXRoIGEgbGFyZ2UgZ3JlZW4gc3RvbmUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSYjMzk7cyBncmVlbiByaW5nIGZsYXNoZWQgYmVuZWF0aCBhIGZsaWNrZXJpbmcgbGlnaHQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2VjcmV0YXJ5IHdlYXJzIGEgaGVhdnkgc2lsdmVyIHJpbmcKCXdpdGggYSBncmVlbiBzdG9uZSB0aGF0IGZsYXNoZWQgYmVuZWF0aCB0aGUgb2ZmaWNlIGxpZ2h0cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUludmVzdGlnYXRlIGxhdGVyLiBQcmVmZXJhYmx5IG5ldmVyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvd2VyZWQgaGlzIGV5ZXMgdG93YXJkIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBoYW5kcyByZW1haW5lZCBmb2xkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgZmluZ2VyIG5vdyBwb2ludGVkIGRpcmVjdGx5IHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGhhZCBub3Qgc2VlbiBpdCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xvb2sgZWxzZXdoZXJlLSZndDtSeWFuIFdhaXRpbmcgQXJlYSBIdWJdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU5IiBuYW1lPSJSeWFuIEV4YW1pbmVzIHRoZSBQcmluY2lwYWwgRG9vciIgdGFncz0iIiBwb3NpdGlvbj0iODM3LjUsMjUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgRG9vciZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciBhbnl0aGluZyBpcyB3cm9uZyB3aXRoIHRoZSBkb29yd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCVJ5YW4gc3R1ZGllZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igd2l0aG91dCBsZWF2aW5nIHRoZSBiZW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHN0b29kIG9wZW4gYnkgbGVzcyB0aGFuIGFuIGluY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2FpdGluZy1hcmVhIGxpZ2h0cyBzaG91bGQgaGF2ZSByZWFjaGVkIGF0IGxlYXN0IHBhcnQgb2YgdGhlIHJvb20KCWJleW9uZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgZGlkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmtuZXNzIGZpbGxlZCB0aGUgZ2FwIGFzIHRob3VnaCB0aGUgZG9vciBvcGVuZWQgaW50byBhIHJvb20gbXVjaAoJZGVlcGVyIHRoYW4gdGhlIG9mZmljZSB3YWxsIGFsbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNoZWNrZWQgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aGluIGJyYXNzIHN0cmlwIG1hcmtlZCB0aGUgdGhyZXNob2xkLiBXYXhlZCB0aWxlIGVuZGVkIG9uIG9uZSBzaWRlLgoJRGFyayBjYXJwZXQgYmVnYW4gb24gdGhlIG90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBwdXJwbGUgaW5rIHN0YWluIGNyb3NzZWQgdHdvIGZsb29yIHRpbGVzIGFuZCBzdG9wcGVkIGV4YWN0bHkgYXQgdGhlCglicmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBmYWRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcm91bmRlZCBlZGdlIG9mIHRoZSBzdGFpbiBmbGF0dGVuZWQgYWdhaW5zdCB0aGUgdGhyZXNob2xkIGFzCgl0aG91Z2ggdGhlIHdldCBpbmsgaGFkIGVuY291bnRlcmVkIGEgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbGVhbmVkIHNpZGV3YXlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmtuZXNzIGJleW9uZCB0aGUgZG9vciBzaGlmdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbGVhbmVkIHRoZSBvdGhlciB3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzaGlmdGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHdpdGggaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWdhaW5zdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHNhdCBzdHJhaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkYXJrbmVzcyBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGVzdGFibGlzaGVkIGEgdXNlZnVsIHJ1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEbyBub3QgY2hhbGxlbmdlIHN1c3BpY2lvdXMgZGFya25lc3MgdG8gYSBtb3ZlbWVudCBjb250ZXN0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCYjMzk7cyBkb29yd2F5JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtEbyBub3QgY3Jvc3Mgc3VzcGljaW91cyBib3VuZGFyaWVzIHdpdGhvdXQgcGVybWlzc2lvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7QSBwdXJwbGUgaW5rIHN0YWluIHN0b3BzIGF0IHRoZSBwcmluY2lwYWwmIzM5O3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGFwcGVhcnMgZGFya2VyIHRoYW4gdGhlIGRvb3J3YXkgc2hvdWxkIGFsbG93JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgY2x1ZTombHQ7L3N0cm9uZyZndDsgQSBwdXJwbGUgaW5rIHN0YWluIHN0b3BzIGV4YWN0bHkgYXQKCXRoZSBicmFzcyB0aHJlc2hvbGQsIGFuZCB0aGUgZGFya25lc3MgYmV5b25kIHRoZSBkb29yIGFwcGVhcnMgdG8gbW92ZQoJaW5kZXBlbmRlbnRseS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCYjMzk7cyBkb29yIG9wZW5lZCBhbm90aGVyIGZyYWN0aW9uIG9mIGFuIGluY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBoYW5kIGFwcGVhcmVkIGluIHRoZSBnYXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgY2FsbGVkIFJ5YW4gaW5zaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRvb3Igc2ltcGx5IGFkanVzdGVkIGl0cyB2aWV3IG9mIGhpbS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXR1cm4gdG8gdGhlIGJlbmNoLSZndDtSeWFuIFdhaXRpbmcgQXJlYSBIdWJdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYwIiBuYW1lPSJSeWFuIENoZWNrcyB0aGUgT3RoZXIgU3R1ZGVudCIgdGFncz0iIiBwb3NpdGlvbj0iOTYyLjUsMjUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE9mZmljZSBCZW5jaCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aGV0aGVyIHRoZSBvdGhlciBzdHVkZW50IGtub3dzIHdoeSBSeWFuIGlzIGhlcmUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gaGVsZCBhIG1ldGFsICZsdDtlbSZndDtMYW5kIG9mIHRoZSBMb3N0Jmx0Oy9lbSZndDsgbHVuY2gKCWJveCBhZ2FpbnN0IGJvdGgga25lZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbHVuY2ggYm94IGhhZCBvbmUgZGVudCBuZWFyIHRoZSBsYXRjaCBhbmQgYSBzdHJpcCBvZiBtYXNraW5nIHRhcGUKCWFjcm9zcyB0aGUgaGFuZGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQmIzM5O3Mgc2hvdWxkZXJzIHdlcmUgdGlnaHQuIFRoZSBzdHVkZW50JiMzOTtzIGF0dGVudGlvbiByZW1haW5lZAoJZml4ZWQgb24gdGhlIHNlY3JldGFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIG5vcm1hbCBuZXJ2b3VzbmVzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vcm1hbCBuZXJ2b3VzbmVzcyBoYWQgYW4gaWRlbnRpZmlhYmxlIGNhdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBlbnZpZWQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyB5b3Uga25vdyB3aHkgSSYjMzk7bSBoZXJlPyZxdW90OyBSeWFuIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IHNob29rIHRoZWlyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyB5b3Uga25vdyB3aHkgeW91JiMzOTtyZSBoZXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgbm9kZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXMgaXQgc29tZXRoaW5nIGRhbmdlcm91cz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsdW5jaCBib3ggbW92ZWQgc2V2ZXJhbCBpbmNoZXMgZmFydGhlciBmcm9tIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHByb2JhYmx5IG1lYW50IHRoZSBjb252ZXJzYXRpb24gd2FzIG92ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHRyaWVkIGEgc2FmZXIgcXVlc3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb2VzIHRoZSBwcmluY2lwYWwgYWx3YXlzIGtlZXAgdGhlIGRvb3IgbGlrZSB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQmIzM5O3MgZ2F6ZSBtb3ZlZCB0b3dhcmQgdGhlIG5hcnJvdyBibGFjayBvcGVuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGx1bmNoIGJveCB0aWdodGVuZWQgYmV0d2VlbiBib3RoIGhhbmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG9uJiMzOTt0IGxvb2sgaW4gdGhlcmUsJnF1b3Q7IHRoZSBzdHVkZW50IHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IGxvb2tlZCB0b3dhcmQgdGhlIHNlY3JldGFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NoZSBub3RpY2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBmb2xsb3dlZCB0aGUgZ2xhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSByZW1haW5lZCBiZWhpbmQgdGhlIGNvdW50ZXIgd2l0aCBoZXIgaGFuZHMgZm9sZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGdyZWVuIHJpbmcgZmFjZWQgdGhlIGJlbmNoLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtOb3QgZXZlcnlvbmUgd2FudHMgdG8gcGFydGljaXBhdGUgaW4gYW4gaW52ZXN0aWdhdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7RG8gbm90IHN0YXJlIGludG8gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG90aGVyIHN0dWRlbnQgd2FybmVkIFJ5YW4gdGhhdCB0aGUgc2VjcmV0YXJ5IG5vdGljZXMgcGVvcGxlIGxvb2tpbmcgaW50byB0aGUgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzdHVkZW50IGJlc2lkZSBSeWFuIGFwcGVhcmVkIGFmcmFpZCBvZiB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3J3YXkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1dhcm5pbmcgcmVjZWl2ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBvdGhlciBzdHVkZW50IHNhaWQgbm90IHRvIGxvb2sKCWluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBiZWNhdXNlIOKAnHNoZSBub3RpY2VzLuKAnQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglSeWFuIGRlY2lkZWQgbm90IHRvIGFzayB3aGV0aGVyIHRoZSBzdHVkZW50IG1lYW50IHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWx0ZXJuYXRpdmUgcG9zc2liaWxpdHkgd2FzIHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIHRoZSBzZWNyZXRhcnktJmd0O1NlY3JldGFyeSBDYWxscyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MSIgbmFtZT0iUnlhbiBXYWl0aW5nIEFyZWEgSHViIiB0YWdzPSIiIHBvc2l0aW9uPSI1NzUsMjY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE9mZmljZSBXYWl0aW5nIEFyZWEmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VW5kZXJzdGFuZCB0aGUgcm9vbSBiZWZvcmUgUnlhbiYjMzk7cyBuYW1lIGlzIGNhbGxlZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhaXRpbmcgYXJlYSBjb250aW51ZWQgcHJldGVuZGluZyB0byBiZSBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbHVvcmVzY2VudCBsaWdodHMgYnV6emVkLiBUaGUgbWltZW9ncmFwaCBtYWNoaW5lIHR1cm5lZCBiZWhpbmQKCXRoZSB3YWxsLiBQYXBlcnMgd2FpdGVkIGluIG5lYXQgc3RhY2tzIG9uIHRoZSBzZWNyZXRhcnkmIzM5O3MgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gd2FzIG5vdCBjb252aW5jZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkcnlhbk5vdGljZWREb29yQm91bmRhcnkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGJyYXNzIHN0cmlwIGF0IHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSBkaXZpZGVkIHRoZSBvcmRpbmFyeQoJCXRpbGUgZnJvbSB0aGUgZGFya25lc3MgYmV5b25kIGl0LgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5TdHVkaWVkU2VjcmV0YXJ5Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBzZWNyZXRhcnkgcmVtYWluZWQgYmVoaW5kIHRoZSBjb3VudGVyLCBuZWFybHkgbW90aW9ubGVzcywgd2l0aAoJCXRoZSBncmVlbiBzdG9uZSByZXN0aW5nIGFnYWluc3Qgb25lIGZvbGRlZCBoYW5kLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5SZXRyaWV2ZWRBcHBsZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgb3RoZXIgc3R1ZGVudCBoZWxkIHRoZSByZXR1cm5lZCBhcHBsZSBpbnNpZGUgdGhlIGNsb3NlZCBsdW5jaAoJCWJveCwgYXMgdGhvdWdoIGl0IG1pZ2h0IGF0dGVtcHQgYW5vdGhlciBlc2NhcGUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglSeWFuIG9yZ2FuaXplZCB0aGUgYXZhaWxhYmxlIHBpZWNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJvb20uIFNlY3JldGFyeS4gRG9vci4gU3R1ZGVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBvZiB0aGVtIHdvdWxkIGV2ZW50dWFsbHkgZXhwbGFpbiB3aHkgaGUgaGFkIGJlZW4gc3VtbW9uZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglVbmZvcnR1bmF0ZWx5LCBhbGwgZm91ciBjdXJyZW50bHkgbG9va2VkIHN1c3BpY2lvdXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFJ5YW4gZXhhbWluZT8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7aWYgISRyeWFuU3R1ZGllZFNlY3JldGFyeSZndDsmZ3Q7CgkJW1tXYXRjaCB0aGUgc2Nob29sIHNlY3JldGFyeS0mZ3Q7UnlhbiBXYXRjaGVzIHRoZSBTZWNyZXRhcnldXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCQlbW0V4YW1pbmUgdGhlIHByaW5jaXBhbCYjMzk7cyBwYXJ0bHkgb3BlbiBkb29yLSZndDtSeWFuIEV4YW1pbmVzIHRoZSBQcmluY2lwYWwgRG9vcl1dCgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2lmICEkcnlhblJldHJpZXZlZEFwcGxlJmd0OyZndDsKCQlbW0NoZWNrIHRoZSBuZXJ2b3VzIHN0dWRlbnQgYmVzaWRlIGhpbS0mZ3Q7UnlhbiBDaGVja3MgdGhlIE90aGVyIFN0dWRlbnRdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJW1tXYWl0IGZvciBoaXMgbmFtZSB0byBiZSBjYWxsZWQtJmd0O1NlY3JldGFyeSBDYWxscyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MiIgbmFtZT0iU2VjcmV0YXJ5IENhbGxzIFJ5YW4iIHRhZ3M9IiIgcG9zaXRpb249IjY1MCwyODI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogT2ZmaWNlIFdhaXRpbmcgQXJlYSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZXNwb25kIHdoZW4gdGhlIHNlY3JldGFyeSBjYWxscyBSeWFuJiMzOTtzIG5hbWUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBtaW1lb2dyYXBoIG1hY2hpbmUgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdWRkZW4gc2lsZW5jZSBkcmV3IFJ5YW4mIzM5O3MgYXR0ZW50aW9uIHRvd2FyZCB0aGUgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgbG9va2VkIGRvd24gYXQgYSBzaGVldCBvZiBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1J5YW4gR3Jvb2IuLi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzdG9wcGVkIGhhbGZ3YXkgdGhyb3VnaCBoaXMgbGFzdCBuYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGJlY2F1c2Ugc2hlIGhhZCByZWFjaGVkIGEgZGlmZmljdWx0IGxldHRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlY2F1c2Ugc2hlIGhhZCByZWFjaGVkIGEgZGVjaXNpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZXllcyBtb3ZlZCBmcm9tIHRoZSBwYXBlciB0byBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7R3Jvb2ItbGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gdGlnaHRlbmVkIGJvdGggaGFuZHMgYXJvdW5kIHRoZSBsdW5jaCBib3guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGF1c2UgYm90aGVyZWQgUnlhbiBtb3JlIHRoYW4gdGhlIG1pc3Rha2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzb3VuZGVkIGFzIHRob3VnaCB0aGUgc2VjcmV0YXJ5IGhhZCB0ZXN0ZWQgc2V2ZXJhbCB2ZXJzaW9ucyBvZiBoaXMKCW5hbWUgYmVmb3JlIGNob29zaW5nIHRoZSBvbmUgdGhhdCB3b3VsZCBtYWtlIGhpbSByZXNwb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGluIGhlciByaW5nIGZhY2VkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSB3YWl0ZWQgbG9uZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXBwYXJlbnRseSwgdGhleSBoYWQgZW50ZXJlZCBhIGNvbnRlc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGRpZCBub3Qga25vdyB0aGUgcnVsZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHByb2JhYmx5IGRpZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBSeWFuIHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29ycmVjdCBoZXIgaW1tZWRpYXRlbHkuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkNvcnJlY3RlZFNlY3JldGFyeSA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIENvcnJlY3RzIEhpcyBOYW1lJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JhaXNlIGhpcyBoYW5kIHdpdGhvdXQgY29ycmVjdGluZyBoZXIuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkNvcnJlY3RlZFNlY3JldGFyeSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtUaGUgRXNjYXBlZCBBcHBsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2h5IHNoZSBwYXVzZWQgYmVmb3JlIHNheWluZyBoaXMgbmFtZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQ29ycmVjdGVkU2VjcmV0YXJ5ID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFF1ZXN0aW9ucyB0aGUgUGF1c2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHJldGVuZCBzaGUgY2FsbGVkIHNvbWVvbmUgZWxzZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQ29ycmVjdGVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MyIgbmFtZT0iUnlhbiBDb3JyZWN0cyBIaXMgTmFtZSIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDI3MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7R3J1YmxlciwmcXVvdDsgUnlhbiBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGhhbmQgc2hvdCBpbnRvIHRoZSBhaXIgYXMgdGhvdWdoIGl0IGhhZCBkaXNjb3ZlcmVkIGFuIGVtZXJnZW5jeQoJYmVmb3JlIHRoZSByZXN0IG9mIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dydWIsIGxpa2UgdHViLiBUaGVuIGxlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gdXN1YWxseSBhdm9pZGVkIGNvbXBhcmluZyBoaXMgbmFtZSB0byBhbiBhY3R1YWwgZ3J1Yi4gSGUgaGFkCglkb25lIHRoYXQgb25jZSBhbmQgc3BlbnQgdGhyZWUgd2Vla3MgYmVpbmcgY2FsbGVkIERpcnQgU25vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR1YiB3YXMgc2FmZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCBkaXJlY3RseSBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZXhwcmVzc2lvbiBkaWQgbm90IGNoYW5nZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09mIGNvdXJzZSwmcXVvdDsgc2hlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCByZXBlYXQgdGhlIGNvcnJlY3RlZCBuYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzbG93bHkgbG93ZXJlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBmbGFzaGVkIGFnYWluc3QgdGhlIHBhcGVyd29yay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBhbiBpbnN0YW50LCB0aGUgbGV0dGVycyBvbiB0aGUgcGFnZSBhcHBlYXJlZCBiYWNrd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbGVhbmVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFwZXIgbG9va2VkIG5vcm1hbCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgcGxhY2VkIG9uZSBmaW5nZXIgb3ZlciB0aGUgbGluZSBjb250YWluaW5nIGhpcyBuYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hhdGV2ZXIgd2FzIHByaW50ZWQgdGhlcmUgZGlzYXBwZWFyZWQgYmVuZWF0aCB0aGUgcmluZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IGF2b2lkZWQgcmVwZWF0aW5nIFJ5YW4mIzM5O3MgY29ycmVjdGx5IHByb25vdW5jZWQgbmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBkaWQgbm90IHJlcGVhdCBSeWFuJiMzOTtzIGNvcnJlY3RlZCBuYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtFdmlkZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHNlY3JldGFyeSBhdm9pZGVkIHJlcGVhdGluZyBSeWFuJiMzOTtzIG5hbWUKCWFmdGVyIGhlIGNvcnJlY3RlZCB0aGUgcHJvbnVuY2lhdGlvbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gc2hpZnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtZXRhbCBsdW5jaCBib3ggc3RydWNrIHRoZSBiZW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBpbnNpZGUgcm9sbGVkIHRvd2FyZCB0aGUgbGF0Y2guCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTG93ZXIgaGlzIGhhbmQtJmd0O1RoZSBFc2NhcGVkIEFwcGxlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2NCIgbmFtZT0iVGhlIEVzY2FwZWQgQXBwbGUiIHRhZ3M9IiIgcG9zaXRpb249Ijg3NSwyOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7QXZvaWQgbWFraW5nIHRoZSB3YWl0aW5nLXJvb20gc2l0dWF0aW9uIHdvcnNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgbHVuY2ggYm94IHN0cnVjayB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGF0Y2ggb3BlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpZCBzcHJhbmcgdXB3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gYXBwbGUgZXNjYXBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJvbGxlZCBhY3Jvc3MgdGhlIHRpbGUsIHBhc3NlZCBiZXR3ZWVuIFJ5YW4mIzM5O3Mgc2hvZXMsIGFuZCBjb250aW51ZWQKCXRvd2FyZCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmxvb3IgYXBwZWFyZWQgbGV2ZWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYXBwbGUgaW5jcmVhc2VkIHNwZWVkIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNyb3NzZWQgb25lIHJvdyBvZiBjbG91ZHkgdGlsZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBwYXNzZWQgb3ZlciB0aGUgcHVycGxlIGluayBzdGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBpbmsgZGlkIG5vdCBtYXJrIHRoZSBhcHBsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhcHBsZSByZWFjaGVkIHRoZSBkYXJrbmVzcyBiZW5lYXRoIHRoZSBjb3VudGVyIGFuZCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IHN0YXJlZCBhZnRlciBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgc2VjcmV0YXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGRpZCBub3QgcmVhY3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCBibGluaywgc2lnaCwgb3IgcGVyZm9ybSB0aGUgbm9ybWFsIGFkdWx0IHJvdXRpbmUgb2YKCXByZXRlbmRpbmcgbm90IHRvIGJlIGFubm95ZWQgd2hpbGUgbWFraW5nIGNlcnRhaW4gZXZlcnlvbmUga25ldyBzaGUKCXdhcyBhbm5veWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGNvbnRpbnVlZCBsb29raW5nIGF0IFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbG9zcyBvZiB0aGUgYXBwbGUgYXBwZWFyZWQgdG8gYmUgaGlzIHJlc3BvbnNpYmlsaXR5IG5vdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgd2FzIHVuZmFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhbHNvIGNvbnNpc3RlbnQgd2l0aCB0aGUgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgUnlhbiBkbz8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZXRyaWV2ZSB0aGUgYXBwbGUgZm9yIHRoZSBzdHVkZW50LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFJldHJpZXZlcyB0aGUgQXBwbGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXBvbG9naXplIGJ1dCByZW1haW4gb24gdGhlIGJlbmNoLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIEFwb2xvZ2l6ZXMgZm9yIHRoZSBBcHBsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaCB3aGV0aGVyIHRoZSBzZWNyZXRhcnkgcmVhY3RzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFdhdGNoZXMgdGhlIEFwcGxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0RvIG5vdGhpbmcuIEhlIGhhcyBhbHJlYWR5IGF0dHJhY3RlZCBlbm91Z2ggYXR0ZW50aW9uLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7VGhlIFNlY3JldGFyeSBQb2ludHMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjUiIG5hbWU9IlJ5YW4gUXVlc3Rpb25zIHRoZSBQYXVzZSIgdGFncz0iIiBwb3NpdGlvbj0iMTI1MCwyNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1doeSBkaWQgeW91IHN0b3A/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCBhdCBoaW0gb3ZlciB0aGUgdG9wIG9mIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4Y3VzZSBtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0luIHRoZSBtaWRkbGUgb2YgbXkgbmFtZS4gWW91IHN0b3BwZWQgYmVmb3JlIHlvdSBmaW5pc2hlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciB0aGUgZmlyc3QgdGltZSwgb25lIG9mIGhlciBmaW5nZXJzIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIHNoaWZ0ZWQgYWdhaW5zdCB0aGUgZGVzay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbHVvcmVzY2VudCBsaWdodCBhYm92ZSB0aGUgY291bnRlciBkaW1tZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHdhbnRlZCB0byBiZSBjZXJ0YWluLCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NlcnRhaW4gb2YgdGhlIHByb251bmNpYXRpb24/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDZXJ0YWluIHRoYXQgSSBoYWQgdGhlIGNvcnJlY3QgY2hpbGQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBiZXNpZGUgUnlhbiB0dXJuZWQgc2xpZ2h0bHkgYXdheSBmcm9tIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY29uc2lkZXJlZCB0aGUgYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2Nob29scyBnZW5lcmFsbHkgY29uZmlybWVkIGlkZW50aXR5IHdpdGggbmFtZXMsIHNjaGVkdWxlcywgb3IgY2xhc3MKCWxpc3RzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBkaWQgbm90IG5vcm1hbGx5IGRvIGl0IGJ5IHN0YXJpbmcgdW50aWwgdGhlIGNvcnJlY3QgY2hpbGQgYmVjYW1lCgl1bmNvbWZvcnRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SG93IHdvdWxkIHlvdSBrbm93IGlmIEkgd2FzIHRoZSB3cm9uZyBvbmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSB3cm9uZyBvbmUgd291bGQgbm90IGhhdmUgYW5zd2VyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGhhZCBhbnN3ZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgbm93IGZlbHQgbGlrZSBhIHRhY3RpY2FsIG1pc3Rha2UuCiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc2hlIHdhbnRlZCB0byBiZSBjZXJ0YWluIHNoZSBoYWQgdGhlIGNvcnJlY3QgY2hpbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgc2FpZCB0aGUgd3JvbmcgY2hpbGQgd291bGQgbm90IGhhdmUgYW5zd2VyZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBwYXVzZWQgb3ZlciBSeWFuJiMzOTtzIG5hbWUgdG8gaWRlbnRpZnkgdGhlIGNvcnJlY3QgY2hpbGQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0FtYmlndW91cyBzdGF0ZW1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzZWNyZXRhcnkgd2FudGVkIHRvIGJlCgljZXJ0YWluIHNoZSBoYWQg4oCcdGhlIGNvcnJlY3QgY2hpbGTigJ0gYW5kIGNsYWltZWQgdGhlIHdyb25nIGNoaWxkIHdvdWxkCglub3QgaGF2ZSBhbnN3ZXJlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGx1bmNoLWJveCBsYXRjaCBiZXNpZGUgUnlhbiBjbGlja2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIGhhZCB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Jlc3BvbmQgdG8gaGlzIG5hbWUtJmd0O1RoZSBFc2NhcGVkIEFwcGxlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2NiIgbmFtZT0iUnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhciIgdGFncz0iIiBwb3NpdGlvbj0iMTM3NSwyNDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgb2ZmaWNlIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUGVyaGFwcyBhbm90aGVyIFJ5YW4gR3Jvb2JsZXIgaGFkIGFycml2ZWQgd2l0aG91dCBoaXMga25vd2xlZGdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHN0YXRpc3RpY2FsbHkgcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IHN0YXRpc3RpY2FsbHkgbGlrZWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGV4YW1pbmVkIGEgYnVsbGV0aW4gYm9hcmQgZGlzcGxheWluZyBmaXJlLWRyaWxsIGluc3RydWN0aW9ucywKCWF0dGVuZGFuY2UgcmVtaW5kZXJzLCBhbmQgYSBub3RpY2UgYWJvdXQgc2VsbGluZyBjYW5keSBvbiBzY2hvb2wKCXByb3BlcnR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWxsIHRocmVlIHRvcGljcyBzdWRkZW5seSByZXF1aXJlZCBoaXMgY29tcGxldGUgYXR0ZW50aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UnlhbiBHcnVibGVyLCZxdW90OyB0aGUgc2VjcmV0YXJ5IHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIHRpbWUsIHNoZSBwcm9ub3VuY2VkIGl0IHBlcmZlY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gc2xvd2x5IGxvb2tlZCBiYWNrIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSB3YXMgc21pbGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBoYWQga25vd24gaG93IHRvIHNheSBoaXMgbmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaXJzdCBwcm9udW5jaWF0aW9uIGhhZCBub3QgYmVlbiBhIG1pc3Rha2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBoYWQgYmVlbiBhIHRlc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGRpZCBub3Qga25vdyB3aGV0aGVyIGhlIGhhZCBwYXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB3YXMgbm90IGNlcnRhaW4gcGFzc2luZyB3YXMgdGhlIHNhZmVyIHJlc3VsdC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbkNvcnJlY3RlZFNlY3JldGFyeSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgcHJvbm91bmNlZCBSeWFuJiMzOTtzIG5hbWUgY29ycmVjdGx5IHdoZW4gaGUgZGlkIG5vdCByZXNwb25kJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgbWF5IGhhdmUgbWlzcHJvbm91bmNlZCBSeWFuJiMzOTtzIG5hbWUgZGVsaWJlcmF0ZWx5JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtFdmlkZW5jZTombHQ7L3N0cm9uZyZndDsgV2hlbiBSeWFuIGZhaWxlZCB0byByZXNwb25kLCB0aGUgc2VjcmV0YXJ5Cglwcm9ub3VuY2VkIGhpcyBuYW1lIGNvcnJlY3RseS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gc2hpZnRlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGx1bmNoIGJveCBzbGlwcGVkIGZyb20gdGhlIHN0dWRlbnQmIzM5O3Mga25lZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQWNrbm93bGVkZ2UgaGVyLSZndDtUaGUgRXNjYXBlZCBBcHBsZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjciIG5hbWU9IlJ5YW4gUmV0cmlldmVzIHRoZSBBcHBsZSIgdGFncz0iIiBwb3NpdGlvbj0iMTIyNSwyODUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhblJldHJpZXZlZEFwcGxlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBTZWNyZXRhcnkmIzM5O3MgQ291bnRlciZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBrbmVsdCBiZXNpZGUgdGhlIGNvdW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYXBwbGUgaGFkIHJvbGxlZCBmYXJ0aGVyIGJlbmVhdGggaXQgdGhhbiBzZWVtZWQgcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY291bnRlciB3YXMgbGVzcyB0aGFuIHRocmVlIGZlZXQgZGVlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhcHBsZSB3YWl0ZWQgYmV5b25kIHRoZSByZWFjaCBvZiBSeWFuJiMzOTtzIGZpcnN0IGF0dGVtcHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb3dlcmVkIGhpbXNlbGYgY2xvc2VyIHRvIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmtuZXNzIGZpbGxlZCB0aGUgbmFycm93IHNwYWNlIGJlbmVhdGggdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzbWVsbGVkIG9mIGR1c3QsIHB1cnBsZSBpbmssIGFuZCBzb21ldGhpbmcgZGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB3YXRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHBsYWNlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSB0aWxlIGFuZCByZWFjaGVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZmluZ2VycyBmb3VuZCB0aGUgYXBwbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGFsc28gZm91bmQgYSB0aGluIGdyb292ZSBjYXJ2ZWQgaW50byB0aGUgdW5kZXJzaWRlIG9mIHRoZQoJY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gdHJhY2VkIGl0IGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyb292ZSBjb250aW51ZWQgYmVuZWF0aCB0aGUgd29vZCB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc2hpZnRlZCBoaXMgaGVhZCBhbmQgZm9sbG93ZWQgdGhlIGxpbmUgd2l0aCBoaXMgZXllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNyb3NzZWQgdGhlIGZsb29yIGFzIGEgaGFpcmxpbmUgc2NyYXRjaCwgcGFzc2VkIGJlbmVhdGggdGhlCglzZWNyZXRhcnkmIzM5O3MgY2hhaXIsIGFuZCBlbmRlZCBhdCB0aGUgYnJhc3MgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBzaG9lIHJlc3RlZCBkaXJlY3RseSBvdmVyIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZWxlYXNlZCB0aGUgZ3Jvb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGFib3ZlIGhpbSBjbGlja2VkIG9uY2UgYWdhaW5zdCB0aGUgZGVza3RvcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHB1bGxlZCB0aGUgYXBwbGUgZnJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFyayB0aHVtYnByaW50IG1hcmtlZCBvbmUgc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gaGFkIG5vdCB0b3VjaGVkIHRoYXQgcGFydC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IGFjY2VwdGVkIHRoZSBhcHBsZSBieSBpdHMgc3RlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYW5rcywmcXVvdDsgdGhlIHN0dWRlbnQgd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBzaG9lIGhhZCBub3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O0EgY2FydmVkIGxpbmUgYmVuZWF0aCB0aGUgY291bnRlciBlbmRzIGF0IHRoZSBwcmluY2lwYWwmIzM5O3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtBIGRhcmsgdGh1bWJwcmludCBhcHBlYXJlZCBvbiB0aGUgYXBwbGUgYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7QSBoaWRkZW4gbGluZSBjb25uZWN0cyB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXIgdG8gdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBkaXNjb3Zlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IEEgY2FydmVkIGxpbmUgYmVuZWF0aCB0aGUgY291bnRlcgoJcnVucyB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyB0aHJlc2hvbGQsIGFuZCBhbiB1bmV4cGxhaW5lZCBkYXJrIHByaW50CgltYXJrZWQgdGhlIGFwcGxlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBvcGVuZWQgdGhlIGx1bmNoIGJveC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZXhwZWN0ZWQgdGhlIGFwcGxlIHRvIGJlIHBsYWNlZCBpbnNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCB0aGUgc3R1ZGVudCBsZWZ0IGl0IG9uIHRoZSBiZW5jaCBiZXR3ZWVuIHRoZW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIHRoZSBiZW5jaC0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjY4IiBuYW1lPSJUaGUgU2VjcmV0YXJ5IFBvaW50cyIgdGFncz0iIiBwb3NpdGlvbj0iMTI3NSwzMTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIERvb3ImcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RW50ZXIgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgc3Rvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgcm9zZSBzbG93bHkgYW5kIHNtb290aGx5LCBrZWVwaW5nIG9uZSBoYW5kIGFnYWluc3QgdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGRpZCBub3QgaGVhciB0aGUgY2hhaXIgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBtb21lbnQgc2hlIHdhcyBzZWF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbmV4dCwgc2hlIHdhcyBzdGFuZGluZyBiZWhpbmQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgb3RoZXIgaGFuZCBleHRlbmRlZCB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZ3JlZW4gc3RvbmUgZmxhc2hlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRHcmVlblJpbmcgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CglIZXIgZmluZ2VyIHN0b3BwZWQgcHJlY2lzZWx5IGF0IHRoZSBlZGdlIG9mIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGRpZCBub3QgcG9pbnQgdGhyb3VnaCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBkaWQgbm90IGxlYW4gYWNyb3NzIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpbmdlcnRpcCByZW1haW5lZCBvbiB0aGUgd2FpdGluZy1yb29tIHNpZGUgb2YgdGhlIGJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTm90aWNlZERvb3JCb3VuZGFyeSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBzdG9wcGVkIGhlciBoYW5kIGF0IHRoZSBkb29yd2F5IHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHdvdWxkIG5vdCBleHRlbmQgaGVyIGhhbmQgYWNyb3NzIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBwcmluY2lwYWwgd2lsbCBzZWUgeW91IG5vdywgeW91bmcgbWFuLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIHZvaWNlIHdhcyBzb2Z0IGFuZCBhbG1vc3Qga2luZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIG5vdyBwZXJtaXR0ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igb3BlbmVkIGFub3RoZXIgaW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmtuZXNzIHByZXNzZWQgYWdhaW5zdCB0aGUgbmV3IGdhcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkmIzM5O3MgcG9pbnRpbmcgZmluZ2VyIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGRpbW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBSeWFuLCB0aGUgc3R1ZGVudCB3aXRoIHRoZSBsdW5jaCBib3ggd2hpc3BlcmVkIHNvbWV0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhlYXJkIG9ubHkgdGhlIGZpbmFsIHR3byB3b3Jkcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NvbWUgYmFjay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIG92ZXIgaGlzIHNob3VsZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgc3RhcmVkIGF0IHRoZSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgY29udGludWVkIHBvaW50aW5nLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtFdmlkZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHNlY3JldGFyeSBzdG9wcGVkIGF0IHRoZSBkb29yd2F5Cglib3VuZGFyeSBhbmQgc2FpZCBlbnRlcmluZyB3YXMg4oCcbm93IHBlcm1pdHRlZC7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFJ5YW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtFbnRlciB3aXRob3V0IHF1ZXN0aW9uaW5nIGhlci4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRW50ZXJzIHRoZSBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgc2hlIG1lYW5zIGJ5IHBlcm1pdHRlZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBBc2tzIEFib3V0IFBlcm1pc3Npb24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCB0aGUgdGhyZXNob2xkIGJlZm9yZSBjcm9zc2luZyBpdC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFRlc3RzIHRoZSBCb3VuZGFyeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZXF1ZXN0IHBlcm1pc3Npb24gdG8ga2VlcCBoaXMgaGVsbWV0IG9uLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFJlcXVlc3RzIEhlbG1ldCBQZXJtaXNzaW9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjY5IiBuYW1lPSJSeWFuIEFwb2xvZ2l6ZXMgZm9yIHRoZSBBcHBsZSIgdGFncz0iIiBwb3NpdGlvbj0iMTYwMCwyNjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1NvcnJ5LCZxdW90OyBSeWFuIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBjbG9zZWQgaGlzIGx1bmNoIGJveCBhbmQgaGVsZCBpdCBhZ2FpbnN0IGhpcyBjaGVzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgYXBwbGUgcmVtYWluZWQgYmVuZWF0aCB0aGUgY291bnRlci4KJmx0Oy9wJmd0OyZsdDtwJmd0OwoJJnF1b3Q7U29ycnksJnF1b3Q7IFJ5YW4gd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgY2xvc2VkIHRoZSBsdW5jaCBib3ggYW5kIGhlbGQgaXQgYWdhaW5zdCB0aGVpciBjaGVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkbiYjMzk7dCB0b3VjaCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2h5IGFyZSB5b3Ugc29ycnk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNvbnNpZGVyZWQgdGhlIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVjYXVzZSBoaXMgdm9pY2UgaGFkIHN0YXJ0bGVkIHRoZSBzdHVkZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVjYXVzZSB0aGUgYXBwbGUgaGFkIGNyb3NzZWQgYmVuZWF0aCBoaXMgc2hvZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWNhdXNlIHN0cmFuZ2UgZXZlbnRzIGhhZCBhIGhhYml0IG9mIGFzc2lnbmluZyByZXNwb25zaWJpbGl0eSB0byB0aGUKCW5lYXJlc3QgYXZhaWxhYmxlIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQcmV2ZW50aXZlIGFwb2xvZ3ksJnF1b3Q7IGhlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBsb29rZWQgdG93YXJkIHRoZSBkYXJrbmVzcyBiZW5lYXRoIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hlIGtlZXBzIHRoaW5ncy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZm9sbG93ZWQgdGhlIHN0dWRlbnQmIzM5O3MgZ2F6ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBzZWNyZXRhcnk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBkaWQgbm90IGFuc3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhcHBsZSByZW1haW5lZCBoaWRkZW4gYmVuZWF0aCB0aGUgZGVzay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgbmV2ZXIgbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgYXMgdGhvdWdoIHNoZSBhbHJlYWR5IGtuZXcgZXhhY3RseSB3aGVyZSBpdCBoYWQgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG90aGVyIHN0dWRlbnQgc2FpZCAmIzM5O3NoZSBrZWVwcyB0aGluZ3MmIzM5OyBhZnRlciB0aGUgYXBwbGUgZGlzYXBwZWFyZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBpZ25vcmVkIHRoZSBhcHBsZSBiZW5lYXRoIGhlciBjb3VudGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgd2FybmluZzombHQ7L3N0cm9uZyZndDsgVGhlIG90aGVyIHN0dWRlbnQgc2FpZCwg4oCcU2hlIGtlZXBzCgl0aGluZ3Ms4oCdIGJ1dCB3b3VsZCBub3QgZXhwbGFpbiB3aG8gb3Igd2hhdCB0aGF0IG1lYW50LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBIHNvZnQgY3J1bmNoIGNhbWUgZnJvbSBiZW5lYXRoIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFwcGxlIGRpZCBub3Qgcm9sbCBiYWNrIG91dC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciBpbnN0cnVjdGlvbnMtJmd0O1RoZSBTZWNyZXRhcnkgUG9pbnRzXV0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB3YXRjaGVkIHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJU2hlIGRpZCBub3QgbG9vayBkb3duIG9uY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIGFzIHRob3VnaCBzaGUgYWxyZWFkeSBrbmV3IGV4YWN0bHkgd2hlcmUgdGhlIGFwcGxlIGhhZCBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IGlnbm9yZWQgdGhlIGFwcGxlIGJlbmVhdGggaGVyIGNvdW50ZXImcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIGluc3RydWN0aW9ucy0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjcwIiBuYW1lPSJSeWFuIFdhdGNoZXMgdGhlIEFwcGxlIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDc1LDI5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJUnlhbiBrZXB0IGhpcyBleWVzIG9uIHRoZSBkYXJrbmVzcyBiZW5lYXRoIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFwcGxlIGhhZCBzdG9wcGVkIHJvbGxpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3VsZCBzZWUgb25lIGN1cnZlZCByZWQgZWRnZSBiZXlvbmQgdGhlIHNlY3JldGFyeSYjMzk7cyBjaGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgY29udGludWVkIHdhdGNoaW5nIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNvbnRpbnVlZCB3YXRjaGluZyB0aGUgYXBwbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2FpdGluZyBhcmVhIGVudGVyZWQgYW5vdGhlciBjb250ZXN0IHdob3NlIHJ1bGVzIGhlIGhhZCBub3QgYmVlbgoJZ2l2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYXBwbGUgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgaW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsb29yIGFwcGVhcmVkIGxldmVsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFwcGxlIHJvbGxlZCBkZWVwZXIgdW5kZXIgdGhlIHNlY3JldGFyeSYjMzk7cyBjaGFpciB1bnRpbCBvbmx5IHRoZQoJc3RlbSByZW1haW5lZCB2aXNpYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGZsYXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RlbSBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgdGhlbiBkaWQgdGhlIHNlY3JldGFyeSBzbWlsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY2hlY2tlZCBiZW5lYXRoIHRoZSBuZWlnaGJvcmluZyBjaGFpcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhZG93cyBiZW5lYXRoIHRoZW0gbGVhbmVkIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gZnJvbSB0aGUKCW92ZXJoZWFkIGxpZ2h0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgcG9pbnRlZCB0b3dhcmQgdGhlIGNvdW50ZXIuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5UaHJlYXRzLnB1c2hVbmlxdWUoJnF1b3Q7U3BhY2UgYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBhcHBsZSBtb3ZlZCBhZnRlciBpdCBhcHBlYXJlZCB0byBzdG9wJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2FpdGluZy1hcmVhIHNoYWRvd3MgcG9pbnRlZCB0b3dhcmQgdGhlIHNlY3JldGFyeSYjMzk7cyBjb3VudGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBhcHBsZSByb2xsZWQgdG93YXJkIHRoZSBzZWNyZXRhcnkgd2l0aG91dCBiZWluZyB0b3VjaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBhcHBsZSBtb3ZlZCBhZnRlciBpdCBoYWQKCXN0b3BwZWQsIGFuZCBuZWFyYnkgc2hhZG93cyBhcHBlYXJlZCB0byBwb2ludCB0b3dhcmQgdGhlIHNlY3JldGFyeSYjMzk7cwoJY291bnRlci4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1pbWVvZ3JhcGggbWFjaGluZSBiZWdhbiBhbm90aGVyIGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsaXN0ZW5lZCBmb3IgdGhlIHVzdWFsIHNxdWVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgdGhlIG1hY2hpbmUgcHJvZHVjZWQgYSBzb3VuZCBsaWtlIGEgc21hbGwgYml0ZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMb29rIGF3YXkgZnJvbSB0aGUgY291bnRlci0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjcxIiBuYW1lPSJSeWFuIEFza3MgQWJvdXQgUGVybWlzc2lvbiIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDMwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7UGVybWl0dGVkIGJ5IHdob20/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGNvbnRpbnVlZCBwb2ludGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0J5IHRoZSBwcmluY2lwYWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgaXQgbm90IHBlcm1pdHRlZCBiZWZvcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhbnN3ZXIgYXJyaXZlZCB3aXRob3V0IGhlc2l0YXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHdvdWxkIGhhdmUgaGFwcGVuZWQgaWYgSSB3ZW50IGluIGJlZm9yZSB5b3Ugc2FpZCBpdCB3YXMKCXBlcm1pdHRlZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBzbWlsZSB3aWRlbmVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2Ugd291bGQgaGF2ZSBzdG9wcGVkIHlvdS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGFyb3VuZCB0aGUgd2FpdGluZyBhcmVhLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgb24gdGhlIGJlbmNoIGhhZCBsb3dlcmVkIHRoZWlyIGhlYWQuIE5vIHRlYWNoZXJzIHN0b29kCgluZWFyYnkuIE5vIG9mZmljZSBhc3Npc3RhbnRzIHdhaXRlZCBiZWhpbmQgdGhlIGNvdW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gaXMgd2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHRpbHRlZCBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkIG5vdCBzYXkgd2hvLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgdGVjaG5pY2FsbHkgY29ycmVjdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhbHNvIG5vdCBhbiBhbnN3ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGFya25lc3MgYmV5b25kIHRoZSB0aHJlc2hvbGQgc2hpZnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZGVjaWRlZCBub3QgdG8gYXNrIHdoZXRoZXIgaXQgY291bnRlZCBhcyBwYXJ0IG9mIHdlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtEbyBub3QgZW50ZXIgcmVzdHJpY3RlZCBzcGFjZXMgYmVmb3JlIHBlcm1pc3Npb24gaXMgZ2l2ZW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgc2FpZCAmIzM5O3dlJiMzOTsgd291bGQgc3RvcCB1bmF1dGhvcml6ZWQgZW50cnkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgVGhlIHNlY3JldGFyeSBjbGFpbXMgdW5hdXRob3JpemVkCgllbnRyeSB3b3VsZCBiZSBzdG9wcGVkIGJ5IGFuIHVuaWRlbnRpZmllZCDigJx3ZS7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0Nyb3NzIHRoZSB0aHJlc2hvbGQtJmd0O1J5YW4gRW50ZXJzIHRoZSBPZmZpY2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjcyIiBuYW1lPSJSeWFuIEVudGVycyB0aGUgT2ZmaWNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsMzE3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5Bc2tlZEFib3V0QW1hcmFsID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoeSB0aGUgY3VzdG9kaWFuIGFwcGVhcnMgdW5yZXNwb25zaXZlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0lzIGhlIGFsbCByaWdodD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIHRoZSBjdXN0b2RpYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuIGRpZCBub3QgcmVhY3QgdG8gZWl0aGVyIG9mIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsIGhhZCBhIGRpZmZpY3VsdCBtb3JuaW5nLCZxdW90OyB0aGUgcHJpbmNpcGFsIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbmVkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBvbmUgb2YgdGhlIHRoaW5ncyB3ZSBhcmUgYXR0ZW1wdGluZyB0byBkZXRlcm1pbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBhdCBNci4gQW1hcmFsJiMzOTtzIHJ1YmJlciBib290cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb2xlcyB3ZXJlIHdldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGxpbmUgb2YgZGFyayBzb2lsIG1hcmtlZCBvbmUgY3VmZiBvZiBoaXMgd29yayBwYW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkYW1wbmVzcyBoYWQgbm90IHNwcmVhZCBpbnRvIHRoZSBjYXJwZXQgYmVuZWF0aCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmxvb3Igd2FzIGRyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBib290cyB3ZXJlIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZGV0ZWN0ZWQgYSBmYWludCBzbWVsbCBiZW5lYXRoIHRoZSBsYW1wJiMzOTtzIHdhcm0gZHVzdCBhbmQgdGhlCglwcmluY2lwYWwmIzM5O3MgY29mZmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2V0IGVhcnRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGVhdmVzIHByZXNzZWQgYmVuZWF0aCBjb2xkIHJhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgZWxzZSBjbHVuZyB0byBNci4gQW1hcmFsJiMzOTtzIHNoaXJ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHVycGxlIGluay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIGEgZGFyayBzdGFpbiB0aGF0IGxvb2tlZCBlbm91Z2ggbGlrZSBwdXJwbGUgaW5rIHRvIHJlbWFpbiBvcmRpbmFyeQoJaWYgbm8gb25lIGV4YW1pbmVkIGl0IGNsb3NlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgdGhpcyBoYXBwZW4gaW4gdGhlIGJhdGhyb29tPyZxdW90OyBSeWFuIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGNsb3NlZCB0aGUgZm9sZGVyIG9uIGhpcyBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWQgbm90IHNheSB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBhdCB0aGUgd2V0IGJvb3RzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRpZCBub3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGZpbmdlcnMgdGlnaHRlbmVkIGFyb3VuZCBoaXMga25lZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgdGhlIGZpcnN0IGRlbGliZXJhdGUgbW92ZW1lbnQgUnlhbiBoYWQgc2VlbiBoaW0gbWFrZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHRoZSBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHNtZWxsZWQgZmFpbnRseSBvZiB3ZXQgZWFydGgmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09wdGlvbmFsIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsJiMzOTtzIGJvb3RzIHdlcmUgd2V0LAoJaGlzIGNsb3RoZXMgc21lbGxlZCBvZiBkYW1wIGVhcnRoLCBhbmQgaGUgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkCgl0aGUgYmF0aHJvb20uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVJ5YW4gc2F0IGluIHRoZSBlbXB0eSBjaGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwmIzM5O3MgZ3JpcCBzbG93bHkgbG9vc2VuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgd2V0IGJvb3QgcmVtYWluZWQgcG9pbnRlZCB0b3dhcmQgdGhlIG9mZmljZSBkb29yLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZhY2UgdGhlIHByaW5jaXBhbC0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3MyIgbmFtZT0iUnlhbiBSZXF1ZXN0cyBIZWxtZXQgUGVybWlzc2lvbiIgdGFncz0iIiBwb3NpdGlvbj0iMTAyNSwzMDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0FtIEkgcGVybWl0dGVkIHRvIGtlZXAgdGhlIGhlbG1ldCBvbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkmIzM5O3MgZXllcyBtb3ZlZCB0b3dhcmQgdGhlIHdoaXRlIEIgYWJvdmUgaGlzIGZvcmVoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSByZW1haW5lZCB0aGVyZSBmb3Igc2V2ZXJhbCBzZWNvbmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZXNpc3RlZCB0aGUgdXJnZSB0byB0aWdodGVuIHRoZSBjaGluIHN0cmFwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VW50aWwgeW91IGFyZSBhc2tlZCB0byByZW1vdmUgaXQsJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgbm90IGFwcHJvdmFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHRlbXBvcmFyeSBhdXRob3JpemF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB1bmRlcnN0b29kIHRlbXBvcmFyeSBhdXRob3JpemF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWVhbnQgeWVzIGhhZCBhbHJlYWR5IGJlZ3VuIHR1cm5pbmcgaW50byBuby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0Fza2VkIGJ5IHdob20/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvd2VyZWQgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZmluZ2VyIHN0aWxsIGRpZCBub3QgY3Jvc3MgdGhlIHRocmVzaG9sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0J5IHNvbWVvbmUgd2l0aCB0aGUgYXV0aG9yaXR5IHRvIGFzay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gYWRkZWQgdGhhdCBhbnN3ZXIgdG8gaGlzIG1lbnRhbCBmaWxlIGxhYmVsZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGVjaG5pY2FsbHkgbWVhbmluZ2Z1bC4gUHJhY3RpY2FsbHkgdXNlbGVzcy4KJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaGVsbWV0IG1heSByZW1haW4gdW50aWwgYW4gYWR1bHQgc3BlY2lmaWNhbGx5IGFza3MgZm9yIGl0cyByZW1vdmFsJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIGlkZW50aWZpZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gbWF5IGtlZXAgaGlzIGhlbG1ldCBvbiB1bnRpbAoJc29tZW9uZSB3aXRoIGF1dGhvcml0eSBkaXJlY3RseSBhc2tzIGhpbSB0byByZW1vdmUgaXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBkZXNrIGxhbXAgaW5zaWRlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGJyaWdodGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgcmVhY2hlZCB0aGUgYnJhc3MgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc3RvcHBlZCB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFbnRlciB0aGUgb2ZmaWNlLSZndDtSeWFuIEVudGVycyB0aGUgT2ZmaWNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3NCIgbmFtZT0iUnlhbiBUZXN0cyB0aGUgQm91bmRhcnkiIHRhZ3M9IiIgcG9zaXRpb249Ijc3NSwzMDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhblRlc3RlZERvb3JCb3VuZGFyeSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIFRocmVzaG9sZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBleHRlbmRlZCBvbmUgc25lYWtlciB0b3dhcmQgdGhlIGJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RvcHBlZCBiZWZvcmUgY3Jvc3NpbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbW92ZWQgdGhlIHNuZWFrZXIgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBoYW5kIHRpZ2h0ZW5lZCBhZ2FpbnN0IHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGJyaWdodGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igb3BlbmVkIGFub3RoZXIgaW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZnJvemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGRpZCBub3QgbW92ZSBoZXIgcG9pbnRpbmcgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIHBlcm1pdHRlZCwmcXVvdDsgc2hlIHJlcGVhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB0b3VjaGVkIHRoZSB0b2Ugb2YgaGlzIHNuZWFrZXIgdG8gdGhlIGJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2FybXRoIHByZXNzZWQgdGhyb3VnaCB0aGUgcnViYmVyIHNvbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGlsZSBiZWhpbmQgaGltIHJlbWFpbmVkIGNvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2FycGV0IGJleW9uZCB0aGUgdGhyZXNob2xkIGxvb2tlZCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QgZmVlbCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gc2hpZnRlZCBtb3JlIHdlaWdodCBvbnRvIHRoZSBicmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtaW1lb2dyYXBoIG1hY2hpbmUgc3RvcHBlZCBtaWQtY3ljbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmx1b3Jlc2NlbnQgbGlnaHRzIGJlY2FtZSBzaWxlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFdmVyeSBzb3VuZCBpbiB0aGUgd2FpdGluZyBhcmVhIGVuZGVkIGF0IG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHB1bGxlZCBoaXMgZm9vdCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpZ2h0cyByZXN1bWVkIGJ1enppbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWltZW9ncmFwaCByb2xsZXJzIGZpbmlzaGVkIHRoZWlyIGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyByaW5nIHdlbnQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbmNsdXNpb246CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhyZXNob2xkIHJlYWN0ZWQgd2hlbiBhcHByb2FjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2Vjb25kYXJ5IGNvbmNsdXNpb246CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUZXN0aW5nIGl0IGFnYWluIHdvdWxkIGJlIHRhY3RpY2FsbHkgdW5uZWNlc3NhcnkuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBicmFzcyB0aHJlc2hvbGQgZmVsdCB3YXJtIHRocm91Z2ggUnlhbiYjMzk7cyBzaG9lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2FpdGluZyBhcmVhIGJlY2FtZSBzaWxlbnQgd2hlbiBSeWFuIHRvdWNoZWQgdGhlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5JiMzOTtzIHJpbmcgYnJpZ2h0ZW5lZCB3aGVuIFJ5YW4gYXBwcm9hY2hlZCB0aGUgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZG9vcndheSByZWFjdHMgd2hlbiBhcHByb2FjaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBkaXNjb3Zlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBicmFzcyB0aHJlc2hvbGQgZmVsdCB3YXJtLAoJdGhlIHdhaXRpbmcgYXJlYSBmZWxsIHNpbGVudCwgYW5kIHRoZSBzZWNyZXRhcnkmIzM5O3MgcmluZyBicmlnaHRlbmVkIHdoZW4KCVJ5YW4gYXBwcm9hY2hlZCB0aGUgb2ZmaWNlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglSeWFuIGxpZnRlZCBoaXMgZm9vdCBhY3Jvc3MgdGhlIGJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmtuZXNzIGluc2lkZSB0aGUgb2ZmaWNlIG1vdmVkIGFzaWRlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0Nyb3NzIHRoZSB0aHJlc2hvbGQtJmd0O1J5YW4gRW50ZXJzIHRoZSBPZmZpY2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijc1IiBuYW1lPSJSeWFuIFRlc3RzIHRoZSBPZmZpY2UgQ2hhaXIiIHRhZ3M9IiIgcG9zaXRpb249IjcxMi41LDMzMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRyeWFuVGVzdGVkQ2hhaXIgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9mZmVyZWQgY2hhaXIgaXMgc2FmZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCiZsdDtwJmd0OwoJUnlhbiBwcmVzc2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIGNoYWlyIGN1c2hpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgY29tcHJlc3NlZCBub3JtYWxseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBwcmVzc2VkIGl0IGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVN0aWxsIG5vcm1hbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBjaGVja2VkIGJlbmVhdGggdGhlIHNlYXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJTm8gZXhwb3NlZCBzcHJpbmdzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCU5vIGxvb3NlIHNjcmV3cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglObyBtZWNoYW5pc20gZGVzaWduZWQgdG8gZm9sZCBhIHN0dWRlbnQgaW4gaGFsZiBhbmQgZHJvcCBoaW0gdGhyb3VnaAoJdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyB3YXRjaGVkIHdpdGhvdXQgaW50ZXJydXB0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4gY29udGludWVkIHN0YXJpbmcgYXQgdGhlIGNhcnBldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglSeWFuIHNhdCBjYXJlZnVsbHkuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtOZXZlciB0cnVzdCBhbiB1bmZhbWlsaWFyIGNoYWlyIGJlZm9yZSB0ZXN0aW5nIGl0JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnlhbiYjMzk7cyBydWxlOiZsdDsvc3Ryb25nJmd0OyBBbiBvZmZlcmVkIHNlYXQgc2hvdWxkIGJlIGluc3BlY3RlZAoJYmVmb3JlIGl0IGlzIGFjY2VwdGVkLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZhY2UgdGhlIHByaW5jaXBhbC0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3NiIgbmFtZT0iUnlhbiBBc2tzIEFib3V0IEFtYXJhbCIgdGFncz0iIiBwb3NpdGlvbj0iODM3LjUsMzMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5Bc2tlZEFib3V0QW1hcmFsID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoeSB0aGUgY3VzdG9kaWFuIGFwcGVhcnMgdW5yZXNwb25zaXZlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtJcyBoZSBhbGwgcmlnaHQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB0b3dhcmQgdGhlIG1hbiBiZXNpZGUgaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4gZGlkIG5vdCByZWFjdCB0byBlaXRoZXIgb2YgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsIGhhZCBhIGRpZmZpY3VsdCBtb3JuaW5nLCZxdW90OyB0aGUgcHJpbmNpcGFsIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBoYXBwZW5lZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIG9uZSBvZiB0aGUgdGhpbmdzIHdlIGFyZSBhdHRlbXB0aW5nIHRvIGRldGVybWluZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBhdCBNci4gQW1hcmFsJiMzOTtzIHJ1YmJlciBib290cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgc29sZXMgd2VyZSB3ZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJQSBmYWludCBicm93biBzdGFpbiBtYXJrZWQgb25lIGN1ZmYgb2YgaGlzIHdvcmsgcGFudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgbWlnaHQgaGF2ZSBiZWVuIG9yZGluYXJ5IGRpcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBzbWVsbCBsaWtlIG9yZGluYXJ5IGRpcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgc21lbGxlZCBkYW1wIGFuZCBlYXJ0aHksIGxpa2UgbGVhdmVzIHByZXNzZWQgYmVuZWF0aCBjb2xkIHJhaW4uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsJiMzOTtzIGJvb3RzIHdlcmUgd2V0IGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHNtZWxsZWQgZmFpbnRseSBvZiB3ZXQgZWFydGgmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCwKCWFuZCBoaXMgY2xvdGhlcyBjYXJyaWVkIGEgZmFpbnQgc21lbGwgb2YgZGFtcCBlYXJ0aC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKCVJ5YW4gc2F0IGluIHRoZSBlbXB0eSBjaGFpci4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmFjZSB0aGUgcHJpbmNpcGFsLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijc3IiBuYW1lPSJSeWFuIFNpdHMgQmVmb3JlIHRoZSBLaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSI5NjIuNSwzMzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtMZWFybiB3aHkgUnlhbiB3YXMgc3VtbW9uZWQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrZXB0IGJvdGggZmVldCBmbGF0IGFnYWluc3QgdGhlIGZsb29yIGFuZCBoaXMgaGVsbWV0IGxldmVsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCBjb250cm9sbGVkIHRoZSBkZXNrLCB0aGUgbGFtcCwgdGhlIGZvbGRlcnMsIGFuZCB0aGUKCWRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IG1hZGUgaGltIEtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHNhdCBiZXNpZGUgUnlhbiB3aXRob3V0IG1vdmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgS25pZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGJlY2F1c2UgaGUgbG9va2VkIHByZXBhcmVkIHRvIGNoYXJnZSBpbnRvIGJhdHRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlY2F1c2Uga25pZ2h0cyBvY2Nhc2lvbmFsbHkgYmVjYW1lIHRyYXBwZWQgYmVoaW5kIG90aGVyIHBpZWNlcyBhbmQKCWNvdWxkIG5vdCBmaW5kIGEgc2FmZSBzcXVhcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHJlbWFpbmVkIG91dHNpZGUgdGhlIG9mZmljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgQmlzaG9wLCBSeWFuIGRlY2lkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCaXNob3BzIHN0YXllZCBhdCBhIGRpc3RhbmNlIGFuZCBtb3ZlZCBhbG9uZyBsaW5lcyBvdGhlciBwaWVjZXMgZGlkCglub3QgYWx3YXlzIG5vdGljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gaGFkIG5vdCBmb3VuZCBhIHBsYWNlIGZvciBoaW1zZWxmIG9uIHRoZSBib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGEgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVVuY2xhc3NpZmllZCBwaWVjZXMgaGFkIGZld2VyIHJ1bGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGZvbGRlZCBib3RoIGhhbmRzIG9uIHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3BpZWQgdGhlIGdlc3R1cmUgaW4gaGlzIGxhcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZXNrIGxhbXAgZGltbWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvd2VyZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGFtcCBicmlnaHRlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsZWZ0IGhpcyBvd24gaGFuZHMgZXhhY3RseSB3aGVyZSB0aGV5IHdlcmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBjbGFzc2lmaWVkIFByaW5jaXBhbCBNYXR0aGV3cyBhcyBLaW5nIGFuZCBNci4gQW1hcmFsIGFzIEtuaWdodCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZGVzayBsYW1wIGFwcGVhcmVkIHRvIHJlYWN0IHdoZW4gUHJpbmNpcGFsIE1hdHRoZXdzIG1vdmVkIGhpcyBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBkZXNrIGxhbXAgZGltbWVkIGFuZAoJYnJpZ2h0ZW5lZCBhcyBQcmluY2lwYWwgTWF0dGhld3MgbW92ZWQgb25lIGhhbmQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciB0aGUgZmlyc3QgbW92ZS0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3OCIgbmFtZT0iUnlhbiBIb2xkcyBIaXMgUG9zaXRpb24iIHRhZ3M9IiIgcG9zaXRpb249IjEwODcuNSwzMzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhblJlZnVzZWRUb1NpdCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtNYWtlIFByaW5jaXBhbCBNYXR0aGV3cyBleHBsYWluIHRoZSBzaXR1YXRpb24mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CglSeWFuIHJlbWFpbmVkIHN0YW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gd2FpdGVkIGxvbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpbGVuY2UgYmVjYW1lIHRoZSBmaXJzdCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB3YXMgZ29vZCBhdCB3YWl0aW5nIHdoZW4gaGUga25ldyBhIGNvbnRlc3QgaGFkIGJlZ3VuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpZmZpY3VsdHkgd2FzIGRldGVybWluaW5nIHdoZXRoZXIgUHJpbmNpcGFsIE1hdHRoZXdzIGtuZXcgdGhleQoJd2VyZSBwbGF5aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlc2sgbGFtcCBnYXZlIGEgZmFpbnQgZWxlY3RyaWNhbCBodW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGtleXMgY2xpY2tlZCBvbmNlIGFnYWluc3QgdGhlIGNoYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gcGFydCBvZiBNci4gQW1hcmFsIGFwcGVhcmVkIHRvIGhhdmUgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgZm9sZGVkIGhpcyBoYW5kcyBvbiB0aGUgZGVzay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0lzIHRoZXJlIGEgcHJvYmxlbSB3aXRoIHRoZSBjaGFpcj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IGtub3cgd2h5IEkmIzM5O20gaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgd2h5IEkgaW52aXRlZCB5b3UgdG8gc2l0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SW52aXRlZCBpbXBsaWVzIGEgY2hvaWNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCBhdCBSeWFuIGZvciBzZXZlcmFsIHNlY29uZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2ZmaWNlIHNlZW1lZCB0byBkYXJrZW4gYXJvdW5kIHRoZSBlZGdlIG9mIHRoZSBkZXNrIGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQbGVhc2Ugc2l0IGRvd24sIE1yLiBHcnVibGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgbm8gbG9uZ2VyIGFuIGludml0YXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyBhbiBpbnN0cnVjdGlvbiB3ZWFyaW5nIHBvbGl0ZSBjbG90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gc2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9mZmljZSByZXR1cm5lZCB0byBpdHMgcHJldmlvdXMgbGV2ZWwgb2YgZGFya25lc3MuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O0FuIGludml0YXRpb24gYmVjb21lcyBhbiBpbnN0cnVjdGlvbiB3aGVuIHRoZSBwcmluY2lwYWwgcmVwZWF0cyBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgZGFya2VuZWQgd2hpbGUgUnlhbiByZWZ1c2VkIHRvIHNpdCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnlhbiYjMzk7cyBydWxlOiZsdDsvc3Ryb25nJmd0OyBXaGVuIGFuIGFkdWx0IHJlcGxhY2VzIOKAnHNpdOKAnSB3aXRoCgnigJxwbGVhc2Ugc2l0LOKAnSB0aGUgY2hvaWNlIGhhcyB1c3VhbGx5IGV4cGlyZWQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciB0aGUgcHJpbmNpcGFsJiMzOTtzIGZpcnN0IHF1ZXN0aW9uLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijc5IiBuYW1lPSJQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXQiIHRhZ3M9IiIgcG9zaXRpb249IjkwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZXNwb25kIHRvIHRoZSBwcmluY2lwYWwgd2l0aG91dCBzdXJyZW5kZXJpbmcgYW55dGhpbmcgaW1wb3J0YW50JnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIGF0IFJ5YW4mIzM5O3MgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGV4YW1pbmF0aW9uIGJlZ2FuIHdpdGggdGhlIHdoaXRlIEIgYW5kIG1vdmVkIHRvd2FyZCB0aGUgYmx1ZQoJdmlzb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCaWcgZ2FtZSB0b2RheT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4ga25ldyB3aGF0IHRoZSBxdWVzdGlvbiBtZWFudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QgbWVhbjoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglBcmUgeW91IHBhcnRpY2lwYXRpbmcgaW4gYSBzcG9ydGluZyBldmVudD8KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJSXQgbWVhbnQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJUmVtb3ZlIHRoZSBoZWxtZXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUFkdWx0cyBvZnRlbiBkaXNndWlzZWQgaW5zdHJ1Y3Rpb25zIGFzIHF1ZXN0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdvdWxkIHlvdSBsaWtlIHRvIHRha2UgeW91ciBzZWF0PwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2FuIHdlIHB1dCB0aGF0IGF3YXk/CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJcyB0aGVyZSBhIHJlYXNvbiB5b3UgYXJlIHdlYXJpbmcgdGhhdCBpbmRvb3JzPwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnkgcXVlc3Rpb24gaGFkIG9uZSBjb3JyZWN0IGFuc3dlciwgYW5kIG5vbmUgb2YgdGhlbSByZXF1aXJlZAoJYWN0dWFsIGluZm9ybWF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGhhZCBlc3RhYmxpc2hlZCB0aGUgYm9hcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIG5lZWRlZCB0byBjaG9vc2UgaGlzIG9wZW5pbmcgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlc2lkZSBoaW0sIE1yLiBBbWFyYWwgbGlmdGVkIGhpcyBleWVzIGZyb20gdGhlIGNhcnBldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZ2F6ZSBzZXR0bGVkIG9uIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGhlIGxvd2VyZWQgaGlzIGV5ZXMgYWdhaW4uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgUnlhbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JlbW92ZSB0aGUgaGVsbWV0IGFuZCBtZW50aW9uIHRoZSBub3RlIG9uIGZpbGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gUmVtb3ZlcyB0aGUgSGVsbWV0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0tlZXAgdGhlIGhlbG1ldCBvbiB1bnRpbCBkaXJlY3RseSBpbnN0cnVjdGVkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBLZWVwcyB0aGUgSGVsbWV0IE9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0V4cGxhaW4gdGhlIGhlbG1ldCYjMzk7cyBwcm90ZWN0aXZlIHNwZWNpZmljYXRpb25zLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBFeHBsYWlucyB0aGUgSGVsbWV0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aGV0aGVyIHRoZSBwcmluY2lwYWwgY29uc2lkZXJzIHRoZSBjZWlsaW5nIHNhZmUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gUXVlc3Rpb25zIHRoZSBDZWlsaW5nJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjgwIiBuYW1lPSJSeWFuIFJlbW92ZXMgdGhlIEhlbG1ldCIgdGFncz0iIiBwb3NpdGlvbj0iMTIyNSwzNDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCVJ5YW4gcmVtb3ZlZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcGxhY2VkIGl0IG9uIGhpcyBsYXAgd2l0aCBib3RoIGhhbmRzIHJlc3Rpbmcgb24gdG9wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlIGEgbm90ZSBvbiBmaWxlLCBzaXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgb3BlbmVkIGEgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLiBJIHNlZSB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB0cmllZCB0byByZWFkIHRoZSB1cHNpZGUtZG93biBwYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTW9zdCBvZiB0aGUgd3JpdGluZyB3YXMgaGlkZGVuIGJlbmVhdGggdGhlIHByaW5jaXBhbCYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBocmFzZSByZW1haW5lZCB2aXNpYmxlOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVByb3RlY3RpdmUgYWNjb21tb2RhdGlvbgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGF0IHNvdW5kZWQgbW9yZSBvZmZpY2lhbCB0aGFuIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGFsc28gc291bmRlZCBtb3JlIHVzZWZ1bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgY2VpbGluZyBvbmUgbGFzdCB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRpbGVzIHJlbWFpbmVkIHdoZXJlIHRoZXkgYmVsb25nZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igbm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVzaWRlIGhpbSwgTXIuIEFtYXJhbCYjMzk7cyBmaW5nZXJzIGxvb3NlbmVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgZG93biBhdCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJsdWUgdmlzb3IgcmVmbGVjdGVkIHRoZSBvZmZpY2UgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgc3Rvb2QgaW4gdGhlIGRvb3J3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkb29yd2F5IHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZW4gaGUgY2hlY2tlZCB0aGUgdmlzb3IgYWdhaW4sIHRoZSByZWZsZWN0aW9uIHNob3dlZCBvbmx5IGRhcmtuZXNzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBhY2tub3dsZWRnZWQgUnlhbiYjMzk7cyBoZWxtZXQgbm90ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBicmllZmx5IHNhdyB0aGUgc2VjcmV0YXJ5IHJlZmxlY3RlZCBpbnNpZGUgdGhlIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIHJlZmxlY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gYnJpZWZseSBzYXcgdGhlIHNlY3JldGFyeQoJaW4gaGlzIGhlbG1ldCB2aXNvciBldmVuIHRob3VnaCB0aGUgZG9vcndheSB3YXMgZW1wdHkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4MSIgbmFtZT0iUHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuIiB0YWdzPSIiIHBvc2l0aW9uPSIxMjUwLDM2NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtFeHBsYWluIHdoeSBSeWFuIGVudGVyZWQgdGhlIHNjaG9vbCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBvcGVuZWQgdGhlIGZvbGRlciBvbiBoaXMgZGVzay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NvdWxkIHlvdSBleHBsYWluIHlvdXIgZWFybHkgYXJyaXZhbCBhbmQgZW50cnkgaW50byB0aGUgc2Nob29sLCBNci4KCUdyb29ibGVyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHJvbm91bmNlZCBSeWFuJiMzOTtzIGxhc3QgbmFtZSBpbmNvcnJlY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY29uc2lkZXJlZCBjb3JyZWN0aW5nIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGRlY2lkZWQgb25lIGJhdHRsZSBhdCBhIHRpbWUgd2FzIHRoZSBiZXR0ZXIgc3RyYXRlZ3kuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2l0dWF0aW9uIGl0c2VsZiB3YXMgc2ltcGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBoYWQgYXJyaXZlZCBiZWZvcmUgdGhlIGNoZXNzIGluc3RydWN0b3IuIFRoZSBsb2FkaW5nLWRvY2sgZG9vcgoJaGFkIGJlZW4gcHJvcHBlZCBvcGVuLiBSeWFuIG5lZWRlZCB0byB1c2UgdGhlIGJhdGhyb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIGVudGVyZWQgdGhyb3VnaCBhbiBhdmFpbGFibGUgZG9vcndheSB0byBzb2x2ZSBhIGJpb2xvZ2ljYWwKCWVtZXJnZW5jeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGEgY29tcGxldGUsIGxvZ2ljYWwsIGFuZCBkZWZlbnNpYmxlIGV4cGxhbmF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVW5mb3J0dW5hdGVseSwgZXhwbGFuYXRpb25zIGhhZCB0byB0cmF2ZWwgZnJvbSBSeWFuJiMzOTtzIGJyYWluIHRvIGhpcwoJbW91dGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyB3aGVyZSB0aGUgc3lzdGVtIG9jY2FzaW9uYWxseSBmYWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyBrZXlzIGNsaWNrZWQgc29mdGx5IGFnYWluc3QgdGhlIGNoYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1c3RvZGlhbiBoYWQgbm90IG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXQgbGVhc3QsIFJ5YW4gaGFkIG5vdCBzZWVuIGhpbSBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBSeWFuIHRlbGwgdGhlIHByaW5jaXBhbD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtFeHBsYWluIHRoZSBvcGVuIGxvYWRpbmctZG9jayBkb29yIGFuZCB0aGUgYmF0aHJvb20gZW1lcmdlbmN5LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5FeHBsYWluZWRCYWNrRG9vciA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRXhwbGFpbnMgdGhlIEJhY2sgRG9vciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtHaXZlIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSBhbnN3ZXI6IFBlZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuRXhwbGFpbmVkQmFja0Rvb3IgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5NZW50aW9uZWRCYXRocm9vbSA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gR2l2ZXMgdGhlIFNob3J0IEFuc3dlciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTYXkgaGUgZW50ZXJlZCB0aHJvdWdoIGEgZG9vciB0aGF0IHdhcyBhbHJlYWR5IG9wZW4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkV4cGxhaW5lZEJhY2tEb29yID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5NZW50aW9uZWRCYXRocm9vbSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRXhwbGFpbnMgdGhlIE9wZW4gRG9vciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtEZW55IGNhdXNpbmcgYW55IHByb2JsZW0gYmVmb3JlIG9uZSBpcyBtZW50aW9uZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkV4cGxhaW5lZEJhY2tEb29yID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRGVuaWVzIEV2ZXJ5dGhpbmcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODIiIG5hbWU9IlJ5YW4gS2VlcHMgdGhlIEhlbG1ldCBPbiIgdGFncz0iIiBwb3NpdGlvbj0iMTA3NSwzNTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCVJ5YW4gcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgd2FpdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBoYWQgbGVhcm5lZCB0aGF0IGFkdWx0cyBzb21ldGltZXMgcmVsaWVkIG9uIHNpbGVuY2UgdG8gbWFrZQoJY2hpbGRyZW4gc3VycmVuZGVyIHBvc2l0aW9ucyB0aGV5IGhhZCBub3QgYmVlbiB0b2xkIHRvIGFiYW5kb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsIHRhcHBlZCBSeWFuJiMzOTtzIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1BsZWFzZSByZW1vdmUgdGhlIGhlbG1ldC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCURpcmVjdCBpbnN0cnVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBydWxlIHdhcyBub3cgY2xlYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxpZnRlZCBib3RoIGhhbmRzIHRvd2FyZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyBib290IHNjcmFwZWQgc2hhcnBseSBhZ2FpbnN0IHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuJiMzOTtzIGV5ZXMgcmVtYWluZWQgbG93ZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwgYmVjYW1lIHN0aWxsIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZW1vdmVkIHRoZSBoZWxtZXQgYW5kIHBsYWNlZCBpdCBvbiBoaXMgbGFwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvb20gZmVsdCBjb2xkZXIgd2l0aG91dCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIHByb2JhYmx5IHBzeWNob2xvZ2ljYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseSBoYWQgYmVjb21lIGEgZGFuZ2Vyb3VzbHkgb3ZlcnVzZWQgd29yZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBoZWxtZXQgY29tZXMgb2ZmIG9ubHkgYWZ0ZXIgYSBkaXJlY3QgaW5zdHJ1Y3Rpb24mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gYmVnYW4gcmVtb3ZpbmcgaGlzIGhlbG1ldCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZSBjb25maXJtZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4ga2VwdCB0aGUgaGVsbWV0IHVudGlsIFByaW5jaXBhbAoJTWF0dGhld3MgZGlyZWN0bHkgaW5zdHJ1Y3RlZCBoaW0gdG8gcmVtb3ZlIGl0LgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCBtb3ZlZCB3aGVuIFJ5YW4gYmVnYW4KCXJlbW92aW5nIHRoZSBoZWxtZXQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4MyIgbmFtZT0iUnlhbiBFeHBsYWlucyB0aGUgSGVsbWV0IiB0YWdzPSIiIHBvc2l0aW9uPSI2NTAsMzY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtUaGlzIGlzIGEgMTk3NiBCb3N0b24gUmVkIFNveCBiYXR0ZXImIzM5O3MgaGVsbWV0LCZxdW90OyBSeWFuIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7R2lmdC1zaG9wIG1vZGVsLiBOb3QgcmVndWxhdGlvbi4gSXQgY2FuIHN0aWxsIGFic29yYiBhIHJlYXNvbmFibGUKCWltcGFjdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIGF0IHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlbiBhdCBSeWFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0FyZSB5b3UgZXhwZWN0aW5nIGFuIGltcGFjdD8mcXVvdDsKJmx0Oy9wJmd0OyZsdDtwJmd0OwoJJnF1b3Q7VGhpcyBpcyBhIDE5NzYgQm9zdG9uIFJlZCBTb3ggYmF0dGVyJiMzOTtzIGhlbG1ldCwmcXVvdDsgUnlhbiBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7R2lmdC1zaG9wIG1vZGVsLiBOb3QgcmVndWxhdGlvbi4gSXQgY2FuIHN0aWxsIGFic29yYiBhIHJlYXNvbmFibGUKCWltcGFjdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgYXQgdGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYXQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FyZSB5b3UgZXhwZWN0aW5nIGFuIGltcGFjdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4cGVjdGluZyBpcyBub3QgdGhlIHNhbWUgYXMgcHJlcGFyaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyByaWdodCBib290IHNxdWVha2VkIGFnYWluc3QgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB0dXJuZWQgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4gaGFkIGxpZnRlZCBoaXMgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBleWVzIHdlcmUgZml4ZWQgb24gdGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBzb21ldGhpbmcgaGl0IHlvdT8mcXVvdDsgUnlhbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwmIzM5O3MgbW91dGggb3BlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc291bmQgZW1lcmdlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBwb2ludGVkIHRvd2FyZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGxlYXNlIHJlbW92ZSBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY29tcGxpZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIGxvd2VyZWQgaGlzIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYm9vdCBzdG9wcGVkIHNxdWVha2luZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHByZXBhcmluZyBmb3IgaW1wYWN0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgZm9jdXNlZCBvbiBSeWFuJiMzOTtzIGhlbG1ldCB3aGVuIGltcGFjdCB3YXMgbWVudGlvbmVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gcmVhY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgZm9jdXNlZCBvbiB0aGUgaGVsbWV0Cgl3aGVuIFJ5YW4gbWVudGlvbmVkIHByZXBhcmluZyBmb3IgYW4gaW1wYWN0LgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbl1dCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtFeHBlY3RpbmcgaXMgbm90IHRoZSBzYW1lIGFzIHByZXBhcmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGJvb3Qgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJUnlhbiB0dXJuZWQgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuIGhhZCBub3Qgb3RoZXJ3aXNlIG1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBwb2ludGVkIGF0IHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7UGxlYXNlIHJlbW92ZSBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglSeWFuIGNvbXBsaWVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHByZXBhcmluZyBmb3IgaW1wYWN0JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIHJlYWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIG1vdmVkIHdoZW4gUnlhbgoJbWVudGlvbmVkIHByZXBhcmluZyBmb3IgYW4gaW1wYWN0LgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijg0IiBuYW1lPSJSeWFuIFF1ZXN0aW9ucyB0aGUgQ2VpbGluZyIgdGFncz0iIiBwb3NpdGlvbj0iODAwLDM3NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7SXMgdGhlIGNlaWxpbmcgc2VjdXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB1cHdhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIYXMgaXQgYmVlbiBpbnNwZWN0ZWQgcmVjZW50bHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gR3J1Ymxlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBmbHVvcmVzY2VudCBsaWdodHMgb3V0c2lkZSBhcmUgZmxpY2tlcmluZywgYW5kIG9uZSBjZWlsaW5nIHBhbmVsCglpcyBhIGRpZmZlcmVudCBjb2xvciBmcm9tIHRoZSBvdGhlcnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsIHNsb3dseSBsb3dlcmVkIGhpcyBnYXplLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGNlaWxpbmcgaXMgc2FmZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHVwIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkYXJrIHN0YWluIG1hcmtlZCB0aGUgdGlsZSBkaXJlY3RseSBhYm92ZSBNci4gQW1hcmFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0YWluIGhhZCBub3QgYmVlbiB2aXNpYmxlIHdoZW4gUnlhbiBmaXJzdCBlbnRlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkcm9wIGdhdGhlcmVkIGF0IGl0cyBjZW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHdhdGNoZWQgaXQgc3dlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IGZhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtb3ZlZCB1cHdhcmQgaW50byB0aGUgdGlsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGF0IE1yLiBBbWFyYWwmIzM5O3Mgd2V0IGJvb3RzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBiYWNrIGF0IHRoZSBjZWlsaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGxlYXNlIHJlbW92ZSB0aGUgaGVsbWV0LCZxdW90OyBQcmluY2lwYWwgTWF0dGhld3Mgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gcmVtb3ZlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBub3QgZW50aXJlbHkgY29udmluY2VkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuUmVtb3ZlZEhlbG1ldCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIGNsYWltcyB0aGUgb2ZmaWNlIGNlaWxpbmcgaXMgc2FmZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TW9pc3R1cmUgYWJvdmUgTXIuIEFtYXJhbCBtb3ZlZCB1cHdhcmQgaW50byBhIGNlaWxpbmcgdGlsZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc3RhaW4gYWJvdmUgTXIuIEFtYXJhbCByZXNlbWJsZWQgdGhlIG1vaXN0dXJlIG9uIGhpcyBib290cyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEEgZHJvcCBvZiBtb2lzdHVyZSBhYm92ZSBNci4gQW1hcmFsCgltb3ZlZCB1cHdhcmQgaW50byB0aGUgY2VpbGluZyB0aWxlLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODUiIG5hbWU9IlJ5YW4gRXhwbGFpbnMgdGhlIEJhY2sgRG9vciIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDM2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGxvYWRpbmctZG9jayBkb29yIHdhcyBwcm9wcGVkIG9wZW4sJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYXJyaXZlZCBiZWZvcmUgdGhlIGNoZXNzIGluc3RydWN0b3IsIGFuZCBJIG5lZWRlZCB0byB1c2UgdGhlCgliYXRocm9vbS4gSSBlbnRlcmVkIHRocm91Z2ggdGhlIGF2YWlsYWJsZSBkb29yd2F5LCB1c2VkIHRoZSBiYXRocm9vbSwKCXdhc2hlZCBteSBoYW5kcywgYW5kIHdlbnQgdG8gbXkgbG9ja2VyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SW4gdGhhdCBvcmRlcj8mcXVvdDsgUHJpbmNpcGFsIE1hdHRoZXdzIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSB0b3VjaCBhbnl0aGluZyBlbHNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZWNvbnN0cnVjdGVkIHRoZSB0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRG9vciBoYW5kbGUuIEJhdGhyb29tIHN0YWxsLiBGbHVzaCBsZXZlci4gRmF1Y2V0LiBTb2FwIGRpc3BlbnNlci4KCVBhcGVyLXRvd2VsIGhhbmRsZS4gTG9ja2VyIGRpYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbm9ybWFsIHRoaW5ncyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aG9zZSBhY3Rpdml0aWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHBsYWNlZCBvbmUgZmluZ2VyIGFnYWluc3QgdGhlIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlIHNwZWNpZmljLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsaXN0ZWQgZXZlcnkgc3VyZmFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFzIGhlIHNwb2tlLCBNci4gQW1hcmFsJiMzOTtzIHJpZ2h0IGhhbmQgdGlnaHRlbmVkIGFyb3VuZCBoaXMga25lZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWFjdGlvbiBvY2N1cnJlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHRoZSBmYXVjZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHRvd2FyZCB0aGUgY3VzdG9kaWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q29udGludWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgYmF0aHJvb20gYXBwZWFyZWQgZW1wdHksJnF1b3Q7IFJ5YW4gc2FpZC4gJnF1b3Q7VGhlIGZsb29yIHdhcyBkcnkuIE9uZQoJZmF1Y2V0IG1heSBoYXZlIGJlZW4gZHJpcHBpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGJvb3Qgc2NyYXBlZCBhZ2FpbnN0IHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBhdCB0aGUgd2V0IHJ1YmJlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4mIzM5O3MgYm9vdCBsZWZ0IG5vIG1hcmsgYmVoaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgYmVjb21pbmcgZGlmZmljdWx0IHRvIGlnbm9yZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtSeWFuIGVudGVyZWQgdGhyb3VnaCB0aGUgcHJvcHBlZC1vcGVuIGxvYWRpbmctZG9jayBkb29yJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBiYXRocm9vbSBhcHBlYXJlZCBub3JtYWwgd2hlbiBSeWFuIHVzZWQgaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHRoZSBiYXRocm9vbSBmYXVjZXQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCByZWFjdGVkIHdoZW4gUnlhbgoJbWVudGlvbmVkIHRoZSBiYXRocm9vbSBmYXVjZXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBjbG9zZWQgdGhlIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgYWNjb3VudHMgZm9yIHlvdXIgZWFybHkgYXJyaXZhbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyB0b25lIGluZGljYXRlZCBpdCBkaWQgbm90IGFjY291bnQgZm9yIHNvbWV0aGluZyBlbHNlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xlYXJuIHdoeSB0aGUgYmF0aHJvb20gbWF0dGVycy0mZ3Q7VGhlIEJhdGhyb29tIEFjY3VzYXRpb25dXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4NiIgbmFtZT0iVGhlIEJhdGhyb29tIEFjY3VzYXRpb24iIHRhZ3M9IiIgcG9zaXRpb249IjY3NSwzODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb252aW5jZSBQcmluY2lwYWwgTWF0dGhld3MgdGhhdCBSeWFuIGRpZCBub3QgY2F1c2UgdGhlIGJhdGhyb29tIGluY2lkZW50JnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgY2xvc2VkIFJ5YW4mIzM5O3MgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91ciBleHBsYW5hdGlvbiBtYXkgYWNjb3VudCBmb3IgeW91ciBlYXJseSBhcnJpdmFsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIHRvd2FyZCBNci4gQW1hcmFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgbWF5IGFsc28gZXhwbGFpbiB3aHkgTXIuIEFtYXJhbCBzYXcgeW91IG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbQoJc2hvcnRseSBiZWZvcmUgaGUgZGlzY292ZXJlZCB0aGUgbWVzcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4mIzM5O3Mgc3RvbWFjaCBkcm9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBtZXNzPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyByaWdodCBib290IGRyZXcgYmFja3dhcmQgYmVuZWF0aCB0aGUgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcnViYmVyIHNvbGUgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBoYXBwZW5lZCBpbiB0aGUgYmF0aHJvb20/JnF1b3Q7IFJ5YW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIHdoYXQgd2UgYXJlIHRyeWluZyB0byBkZXRlcm1pbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHVzZWQgdGhlIHRvaWxldC4gSSB3YXNoZWQgbXkgaGFuZHMuIEkgd2VudCB0byBteSBsb2NrZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJbiB0aGF0IG9yZGVyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBsZWF2ZSBhbnl0aGluZyBiZWhpbmQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3RoaW5nIHRoYXQgc2hvdWxkIHJlcXVpcmUgYSBtZWV0aW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHByZXNzZWQgaGlzIGxpcHMgdG9nZXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHJlYWxpemVkIHRvbyBsYXRlIHRoYXQgYWNjdXJhY3kgbWl4ZWQgd2l0aCBodW1vciBkaWQgbm90IGFsd2F5cwoJaW1wcm92ZSBhY2N1cmFjeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBzb21ldGhpbmcgZGFtYWdlZD8mcXVvdDsgUnlhbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIE1yLiBBbWFyYWwgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuJiMzOTtzIGhlYWQgcm9ja2VkIG9uY2UgZnJvbSBzaWRlIHRvIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHBlcmhhcHMgbm90IGRhbWFnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgYW55b25lIGh1cnQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObyBzdHVkZW50cyB3ZXJlIGZvdW5kIGluc2lkZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gc3R1ZGllZCB0aGUgd29yZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHN0dWRlbnRzIHdlcmUgZm91bmQgaW5zaWRlIGRpZCBub3QgbWVhbiBubyBvbmUgaGFkIGJlZW4gaW5zaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBtZWFuIHRoZSByb29tIGhhZCBiZWVuIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBhbnN3ZXIgdGhlIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9mZmljZSBzdWRkZW5seSBzbWVsbGVkIGRhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXZXQgc29pbCBiZW5lYXRoIGZhbGxlbiBsZWF2ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHByZXNzZWQgYm90aCBib290cyB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhblRocmVhdHMucHVzaFVuaXF1ZSgmcXVvdDtVbmV4cGxhaW5lZCBib3lzJiMzOTsgYmF0aHJvb20gaW5jaWRlbnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIGhhcHBlbmVkIGluIHRoZSBib3lzJiMzOTsgYmF0aHJvb20gYWZ0ZXIgUnlhbiBsZWZ0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgY29ubmVjdGVkIFJ5YW4gdG8gYW4gdW5leHBsYWluZWQgYmF0aHJvb20gbWVzcyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TmV3IG15c3Rlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgZGlzY292ZXJlZCBzb21ldGhpbmcgaW4gdGhlCglib3lzJiMzOTsgYmF0aHJvb20gc2hvcnRseSBhZnRlciBSeWFuIHVzZWQgaXQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hlcmUgc2hvdWxkIFJ5YW4gZm9jdXM/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3R1ZHkgTXIuIEFtYXJhbCYjMzk7cyBjb25kaXRpb24uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gU3R1ZGllcyBNciBBbWFyYWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHRoZSBwcmluY2lwYWwgdG8gZGVzY3JpYmUgdGhlIG1lc3MuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBBc2tzIEFib3V0IHRoZSBNZXNzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JlcGVhdCB0aGUgZXhhY3Qgb3JkZXIgb2YgZXZlcnl0aGluZyBoZSBkaWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gUmVjb25zdHJ1Y3RzIHRoZSBCYXRocm9vbSBWaXNpdCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgTXIuIEFtYXJhbCB3aGV0aGVyIGhlIGFjdHVhbGx5IHNhdyBSeWFuIGNhdXNlIGl0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtQcmluY2lwYWwgQ2FsbHMgdG8gQW1hcmFsJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijg3IiBuYW1lPSJSeWFuIEdpdmVzIHRoZSBTaG9ydCBBbnN3ZXIiIHRhZ3M9IiIgcG9zaXRpb249IjEwMjUsMzc1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtQZWUsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGFsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSB3b3JkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjb21wbGV0ZSBiaW9sb2dpY2FsIGV4cGxhbmF0aW9uIHJlZHVjZWQgdG8gaXRzIGxlYXN0IHVzZWZ1bCBmb3JtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvcmQgc2VlbWVkIHRvIHJlbWFpbiBpbiB0aGUgYWlyIGJldHdlZW4gUnlhbiBhbmQgdGhlIHByaW5jaXBhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyByYWlzZWQgb25lIGV5ZWJyb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIHJ1YmJlciBib290IHNxdWVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlbiB0aGUgZGVzayBsYW1wIHNlZW1lZCB0byBkaW0gaW4gZGlzYXBwb2ludG1lbnQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJQmFkIG1vdmUuIFZlcnkgYmFkIG1vdmUuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCSZxdW90O0kgaGFkIHRvIHBlZSwmcXVvdDsgUnlhbiBhZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJlcGVhdGluZyB0aGUgc2FtZSBhbnN3ZXIgd2FzIG5vdCBhIHN0cmF0ZWd5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgcGFuaWMgZG91YmxpbmcgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgSSBtZWFuIGlzLCBJIG5lZWRlZCB0byB1c2UgdGhlIGJhdGhyb29tLiBJIHVzZWQgaXQuIFRoZW4gSQoJbGVmdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBjb250aW51ZWQgd2F0Y2hpbmcgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb25zaWRlcmVkIGFkZGluZyBtb3JlIGRldGFpbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgbW91dGggaGFkIGFscmVhZHkgZGVtb25zdHJhdGVkIHBvb3IganVkZ21lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaWxlbmNlIHNlZW1lZCBzYWZlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtSeWFuIHRvbGQgUHJpbmNpcGFsIE1hdHRoZXdzIGhlIGVudGVyZWQgYmVjYXVzZSBoZSBuZWVkZWQgdGhlIGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0F0dGVtcHQgdG8gcmVjb3Zlci0mZ3Q7VGhlIEJhdGhyb29tIEFjY3VzYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijg4IiBuYW1lPSJSeWFuIEV4cGxhaW5zIHRoZSBPcGVuIERvb3IiIHRhZ3M9IiIgcG9zaXRpb249IjkyNSwzOTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1RoZSBiYWNrIGRvb3Igd2FzIG9wZW4uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGRvZXMgbm90IG1ha2UgaXQgYSBzdHVkZW50IGVudHJhbmNlLCZxdW90OyBQcmluY2lwYWwgTWF0dGhld3Mgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBub3QgbWFya2VkIGFzIGEgbm9uLXN0dWRlbnQgZW50cmFuY2Ugb24gdGhlIG91dHNpZGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpcyBiZXNpZGUgdGhlIGxvYWRpbmcgZG9jay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgZW52aXJvbm1lbnRhbCBjb250ZXh0LCBub3QgYSBwb3N0ZWQgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyByZW1vdmVkIGhpcyBnbGFzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzdXNwZWN0ZWQgaGUgaGFkIG1hZGUgdGhlIHNpdHVhdGlvbiB3b3JzZSBpbiBhIHZlcnkgcHJlY2lzZSBhbmQKCXRlY2huaWNhbGx5IGRlZmVuc2libGUgd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIHRoZSBkb29yIHVubG9ja2VkPyZxdW90OyB0aGUgcHJpbmNpcGFsIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIHByb3BwZWQgb3BlbiB3aXRoIGEgYmxvY2sgb2Ygd29vZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwmIzM5O3MgaGVhZCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZXllcyByZW1haW5lZCBmaXhlZCBvbiB0aGUgY2FycGV0LCBidXQgaGlzIGNoaW4gbGlmdGVkIGFzIHRob3VnaAoJdGhlIHBocmFzZSAmbHQ7ZW0mZ3Q7YmxvY2sgb2Ygd29vZCZsdDsvZW0mZ3Q7IGhhZCBwdWxsZWQgaXQgdXB3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGl0IHN1cHBvc2VkIHRvIGJlIG9wZW4/JnF1b3Q7IFJ5YW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcmVwbGFjZWQgaGlzIGdsYXNzZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhbnN3ZXIgd2FzIGltbWVkaWF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2hvIG9wZW5lZCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWQgeW91IG5lZWQgdG8gZW50ZXIgYmVmb3JlIHRoZSBiZWxsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCBoYWQgaWdub3JlZCBSeWFuJiMzOTtzIHF1ZXN0aW9uIHdpdGggcHJvZmVzc2lvbmFsIHNraWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBnbGFuY2VkIGF0IE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCYXRocm9vbS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbk1lbnRpb25lZEJhdGhyb29tID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtBbiBvcGVuIGRvb3IgaXMgbm90IGF1dG9tYXRpY2FsbHkgYW4gYXV0aG9yaXplZCBlbnRyYW5jZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCByZWFjdGVkIHdoZW4gUnlhbiBkZXNjcmliZWQgdGhlIHdvb2RlbiBkb29yc3RvcCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbG9hZGluZy1kb2NrIGRvb3Igd2FzIG5vdCBzdXBwb3NlZCB0byBiZSBvcGVuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIGlkZW50aWZpZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEFuIHVubG9ja2VkIG9yIHByb3BwZWQtb3BlbiBkb29yIGlzCglub3QgbmVjZXNzYXJpbHkgYW4gYXV0aG9yaXplZCBzdHVkZW50IGVudHJhbmNlLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIGRlc2NyaWJlZCB0aGUKCWJsb2NrIG9mIHdvb2QgaG9sZGluZyB0aGUgZG9vciBvcGVuLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1RoZSBCYXRocm9vbSBBY2N1c2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4OSIgbmFtZT0iUnlhbiBEZW5pZXMgRXZlcnl0aGluZyIgdGFncz0iIiBwb3NpdGlvbj0iMTMwMCwzODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0kgZGlkbiYjMzk7dCBkbyBhbnl0aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgZG93biBhdCB0aGUgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlIG5vdCB5ZXQgYWNjdXNlZCB5b3Ugb2YgZG9pbmcgYW55dGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdoYXQgYXJlIHlvdSBkZW55aW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb25zaWRlcmVkIHRoZSBhdmFpbGFibGUgcmVzcG9uc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBpbXByb3ZlZCBoaXMgcG9zaXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0ZXZlciB5b3Ugd2VyZSBhYm91dCB0byBhc2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGZpbmdlcnMgdGlnaHRlbmVkIGFyb3VuZCBoaXMga25lZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIG5vdGljZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgbm90aWNlZCBSeWFuIG5vdGljaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvb20gaGFkIGJlY29tZSBleHRyZW1lbHkgZWZmaWNpZW50IGF0IG1ha2luZyBldmVyeXRoaW5nIHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IHdvdWxkIHlvdSBhc3N1bWUgc29tZXRoaW5nIGhhcHBlbmVkPyZxdW90OyB0aGUgcHJpbmNpcGFsIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgYXQgTXIuIEFtYXJhbCYjMzk7cyB3ZXQgYm9vdHMsIGZpeGVkIHN0YXJlLCBhbmQgd2hpdGUta251Y2tsZWQKCWdyaXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIGhlIGxvb2tzIGxpa2Ugc29tZXRoaW5nIGhhcHBlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGdsYW5jZWQgdG93YXJkIHRoZSBjdXN0b2RpYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHdoaXNwZXJlZCBzb21ldGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgd2FzIHRvbyBmYWludCB0byB1bmRlcnN0YW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGhlYXJkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCYjMzk7cyBleHByZXNzaW9uIGNoYW5nZWQgZm9yIGxlc3MgdGhhbiBhIHNlY29uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZmlsZWQgdGhhdCByZWFjdGlvbiB1bmRlcjoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJbXBvcnRhbnQuIFVuaGVscGZ1bC4gUHJvYmFibHkgdGVycmlibGUuCiZsdDsvZGl2Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCByZWFjdGVkIHdoZW4gUnlhbiBkZW5pZWQgY2F1c2luZyBhIHByb2JsZW0mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgd2hpc3BlcmVkIHNvbWV0aGluZyB0aGF0IGRpc3R1cmJlZCBQcmluY2lwYWwgTWF0dGhld3MmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCB3aGlzcGVyZWQgc29tZXRoaW5nCglSeWFuIGNvdWxkIG5vdCBoZWFyLCBhbmQgUHJpbmNpcGFsIE1hdHRoZXdzIGJyaWVmbHkgcmVhY3RlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xlYXJuIHdoYXQgdGhlIHByaW5jaXBhbCBzdXNwZWN0cy0mZ3Q7VGhlIEJhdGhyb29tIEFjY3VzYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjkwIiBuYW1lPSJSeWFuIFN0dWRpZXMgTXIgQW1hcmFsIiB0YWdzPSIiIHBvc2l0aW9uPSI3NzUsNDAyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5PYnNlcnZlZEFtYXJhbCA9IHRydWUmZ3Q7Jmd0OwombHQ7cCZndDsKCVJ5YW4gZXhhbWluZWQgTXIuIEFtYXJhbCBtb3JlIGNhcmVmdWxseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4mIzM5O3MgY2hlc3Qgcm9zZSBhbmQgZmVsbCBpbiBzbG93LCBtZWFzdXJlZCBicmVhdGhzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQnJlYXRoaW5nIG1lYW50IGhlIHdhcyBhbGl2ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIHRoZSBtb3N0IGVuY291cmFnaW5nIGNvbmNsdXNpb24gYXZhaWxhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGV5ZXMgcmVtYWluZWQgZml4ZWQgb24gb25lIHNlY3Rpb24gb2YgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBmb2xsb3dlZCBoaXMgZ2F6ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXJwZXQgbG9va2VkIG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJR3JheSBmaWJlcnMuIEJyb3duIGZsZWNrcy4gT25lIGRhcmsgdGhyZWFkIHByZXNzZWQgZmxhdCBuZWFyIHRoZSBjaGFpcgoJbGVnLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCB3YXRjaGVkIGl0IGFzIHRob3VnaCBpdCBtaWdodCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGhhbmRzIGdyaXBwZWQgaGlzIGtuZWVzIHRpZ2h0bHkgZW5vdWdoIHRvIHdoaXRlbiB0aGUga251Y2tsZXMuIEhpcwoJcnViYmVyIGJvb3RzIHJlbWFpbmVkIHByZXNzZWQgdG9nZXRoZXIsIGFzIHRob3VnaCBoZSB3ZXJlIGF0dGVtcHRpbmcKCXRvIG9jY3VweSBsZXNzIHNwYWNlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5Bc2tlZEFib3V0QW1hcmFsJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBkYW1wLWVhcnRoIHNtZWxsIFJ5YW4gaGFkIG5vdGljZWQgZWFybGllciByZW1haW5lZCBvbiB0aGUKCQljdXN0b2RpYW4mIzM5O3MgY2xvdGhlcy4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUEgZGFyayBwdXJwbGlzaCBzdGFpbiBtYXJrZWQgb25lIHNoaXJ0IGN1ZmYuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjb3VsZCBoYXZlIGJlZW4gbWltZW9ncmFwaCBpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGhhZCBzbWVsbGVkIHRoYXQgaW5rIGluIHRoZSB3YWl0aW5nIGFyZWEuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjb3VsZCBhbHNvIGhhdmUgYmVlbiBzb21ldGhpbmcgdGhhdCBvbmx5IGxvb2tlZCBwdXJwbGUgYmVuZWF0aCB0aGUKCWRlc2sgbGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdGFpbiBhcHBlYXJlZCB3ZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHdhdGNoZWQgb25lIGRyb3AgdHJhdmVsIGFsb25nIHRoZSBmYWJyaWMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtb3ZlZCB1cHdhcmQgdG93YXJkIE1yLiBBbWFyYWwmIzM5O3MgZWxib3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHdoaXNwZXJlZCwgJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZHJvcCBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc2FuayBpbnRvIHRoZSBjbG90aCBhbmQgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBhdCBQcmluY2lwYWwgTWF0dGhld3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsIGhhZCBzZWVuIGl0IHRvby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIGhhZCBiZWNvbWUgdmVyeSBza2lsbGVkIGF0IHByZXRlbmRpbmcgbm90IHRvIHNlZSB0aGluZ3MuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgaGFkIGEgZGFyayBwdXJwbGUgc3RhaW4gb24gb25lIGN1ZmYmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01vaXN0dXJlIG1vdmVkIHVwd2FyZCBhbG9uZyBNci4gQW1hcmFsJiMzOTtzIHNsZWV2ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGFwcGVhcmVkIGZyaWdodGVuZWQgcmF0aGVyIHRoYW4gbWVyZWx5IHNpY2smcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIGFwcGVhcnMgZnJpZ2h0ZW5lZCwgYW5kIGEKCWRhcmsgc3RhaW4gbW92ZWQgdXB3YXJkIGFsb25nIGhpcyBjdWZmIGJlZm9yZSBkaXNhcHBlYXJpbmcuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBkYXJrIHRocmVhZCBpbiB0aGUgY2FycGV0IHNoaWZ0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHB1bGxlZCBib3RoIGZlZXQgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHdhcyBubyBsb25nZXIgY2VydGFpbiBpdCB3YXMgYSB0aHJlYWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VlIHdoZXRoZXIgaGUgcmVzcG9uZHMtJmd0O1ByaW5jaXBhbCBDYWxscyB0byBBbWFyYWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjkxIiBuYW1lPSJQcmluY2lwYWwgQ2FsbHMgdG8gQW1hcmFsIiB0YWdzPSIiIHBvc2l0aW9uPSI3NzUsNDE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBNci4gQW1hcmFsIHRvIGV4cGxhaW4gd2hhdCBoZSBkaXNjb3ZlcmVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgdHVybmVkIHRvd2FyZCB0aGUgY3VzdG9kaWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXIuIEFtYXJhbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsLCBkaWQgeW91IHNlZSBNci4gR3J1YmxlciBpbnNpZGUgdGhlIGJhdGhyb29tPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1c3RvZGlhbiBkaWQgbm90IHJlc3BvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZXllcyByZW1haW5lZCBmaXhlZCBvbiB0aGUgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmsgdGhyZWFkIGJlbmVhdGggaGlzIGNoYWlyIHNoaWZ0ZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaXNhcHBlYXJlZCBiZXR3ZWVuIHRoZSBjYXJwZXQgZmliZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHJhaXNlZCBoaXMgdm9pY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvZmZpY2UgZ3JldyBxdWlldGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3VsZCBubyBsb25nZXIgaGVhciB0aGUgZmx1b3Jlc2NlbnQgbGlnaHRzIG91dHNpZGUgb3IgdGhlCgltaW1lb2dyYXBoIG1hY2hpbmUgYmVoaW5kIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgaGVhciBNci4gQW1hcmFsIGJyZWF0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgc2Vjb25kIHJoeXRobSBqb2luZWQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjYW1lIGZyb20gc29tZXdoZXJlIGJlbmVhdGggdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyB3YXMgdGhlcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc25hcHBlZCBoaXMgZmluZ2VycyB0aHJlZSB0aW1lcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoYXJwLiBFdmVubHkgc3BhY2VkLiBEZWxpYmVyYXRlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTm90aWNlZFRocmVlU25hcHMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBzbmFwcGVkIHRocmVlIHRpbWVzIGJlZm9yZSBNci4gQW1hcmFsIHJlc3BvbmRlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgb25seSBhZnRlciB0aHJlZSBmaW5nZXIgc25hcHMmcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglSeWFuIGZsaW5jaGVkIGFuZCBwdWxsZWQgdGhlIGhlbG1ldCBiYWNrIG9udG8gaGlzIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3ZlcmVkIGl0IHdpdGggYm90aCBoYW5kcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgYnJlYXRoaW5nIHJoeXRobSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCBzbG93bHkgbGlmdGVkIGhpcyBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4gdGhlIGRlc2sgbGFtcCYjMzk7cyBsaWdodCwgaGlzIGV5ZXMgcmVmbGVjdGVkIGEgZGFyayByb29tIFJ5YW4gY291bGQKCW5vdCBzZWUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGlzdGVuIHRvIHRoZSBjdXN0b2RpYW4tJmd0O0l0IFdhcyBFdmVyeXdoZXJlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5MiIgbmFtZT0iUnlhbiBBc2tzIEFib3V0IHRoZSBNZXNzIiB0YWdzPSIiIHBvc2l0aW9uPSI5NzUsNDM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQgb2YgbWVzcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGRlc2NyaXB0aW9uIHdpbGwgaGF2ZSB0byBjb21lIGZyb20gaGltLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHNvbWV0aGluZyBicmVhaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHJlc3BvbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGFueW9uZSBodXJ0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8gc3R1ZGVudHMgd2VyZSBmb3VuZCBpbnNpZGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgaXQgd2F0ZXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgaGVzaXRhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBub3RpY2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU28gZGlkIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuJiMzOTtzIGhlYWQgdHVybmVkIHNsaWdodGx5IHRvd2FyZCB0aGUgcHJpbmNpcGFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHRoZSBuZWFyZXN0IGhlIGhhZCBjb21lIHRvIGxvb2tpbmcgYXQgYW5vdGhlciBwZXJzb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRvIG5vdCBrbm93LCZxdW90OyBQcmluY2lwYWwgTWF0dGhld3Mgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIG5vdCB0aGUgc2FtZSBhcyBuby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyB0aGUgZmxvb3Igd2V0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCBkaWQgbm90IGFuc3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGF0IE1yLiBBbWFyYWwmIzM5O3MgYm9vdHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgaXQgY29tZSBmcm9tIHRoZSBwaXBlcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwgbWFkZSBhIGxvdyBzb3VuZCBpbiBoaXMgdGhyb2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGNsb3NlZCB0aGUgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBlbm91Z2ggc3BlY3VsYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHRyYW5zbGF0ZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJT25lIG9mIHRob3NlIHF1ZXN0aW9ucyB3YXMgdG9vIGNsb3NlLgombHQ7L2RpdiZndDsKJmx0OyZsdDtzZXQgJHJ5YW5CYXRocm9vbVRoZW9yeSA9ICZxdW90O3dhdGVyJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBoZXNpdGF0ZWQgd2hlbiBSeWFuIGFza2VkIHdoZXRoZXIgd2F0ZXIgY2F1c2VkIHRoZSBtZXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIGFza2VkIGFib3V0IHRoZSBwaXBlcyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgdGhlb3J5OiZsdDsvc3Ryb25nJmd0OyBUaGUgYmF0aHJvb20gaW5jaWRlbnQgbWF5IGhhdmUKCWludm9sdmVkIHdhdGVyIG9yIHRoZSBwbHVtYmluZywgYnV0IFByaW5jaXBhbCBNYXR0aGV3cyB3b3VsZCBub3QKCWNvbmZpcm0gaXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUZyb20gc29tZXdoZXJlIGJleW9uZCB0aGUgb2ZmaWNlIGNhbWUgYSBob2xsb3cga25vY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQaXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHNvbWV0aGluZyBtYWtpbmcgY2VydGFpbiBSeWFuIGtuZXcgdGhlIHF1ZXN0aW9uIGhhZCBiZWVuIGhlYXJkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayB0aGUgY3VzdG9kaWFuIGRpcmVjdGx5LSZndDtQcmluY2lwYWwgQ2FsbHMgdG8gQW1hcmFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5MyIgbmFtZT0iUnlhbiBSZWNvbnN0cnVjdHMgdGhlIEJhdGhyb29tIFZpc2l0IiB0YWdzPSIiIHBvc2l0aW9uPSIxMjc1LDQxMjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7SSBlbnRlcmVkIHRocm91Z2ggdGhlIGJhY2sgZG9vci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY291bnRlZCBlYWNoIGFjdGlvbiBvbiBoaXMgZmluZ2Vycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgd2Fsa2VkIGRpcmVjdGx5IHRvIHRoZSBib3lzJiMzOTsgYmF0aHJvb20uIEkgdXNlZCB0aGUgZmlyc3Qgc3RhbGwuIEkKCWZsdXNoZWQuIEkgd2FzaGVkIG15IGhhbmRzLiBJIHVzZWQgdHdvIHBhcGVyIHRvd2Vscy4gSSBvcGVuZWQgdGhlCglkb29yIHdpdGggdGhlIHNlY29uZCB0b3dlbC4gVGhlbiBJIHdlbnQgdG8gbXkgbG9ja2VyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHdyb3RlIHNvbWV0aGluZyBpbiB0aGUgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBub3RpY2UgYW55b25lIGVsc2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHJlY29uc3RydWN0ZWQgdGhlIHJvb20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZSBzaW5rcy4gRm91ciBzdGFsbHMuIE9uZSBuYXJyb3cgd2luZG93IHRvbyBoaWdoIHRvIHJlYWNoLiBHcmVlbgoJdGlsZSBhbG9uZyB0aGUgbG93ZXIgaGFsZiBvZiB0aGUgd2FsbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFbXB0eSBzaW5rcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsb3NlZCBzdGFsbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRyaXBwaW5nIGZhdWNldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIGhhZCB0aGUgZmF1Y2V0IGJlZ3VuIGRyaXBwaW5nIG9ubHkgd2hlbiBoZSBsZWZ0PwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3VsZCBub3QgYmUgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3UgY2hlY2sgdGhlIHN0YWxscz8mcXVvdDsgUHJpbmNpcGFsIE1hdHRoZXdzIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgbm90PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBjaGVja2luZyBvY2N1cGllZCBiYXRocm9vbSBzdGFsbHMgaXMgZ2VuZXJhbGx5IGRpc2NvdXJhZ2VkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCBzdG9wcGVkIHdyaXRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNvbnRpbnVlZCBiZWZvcmUgdGhlIHNpbGVuY2UgY291bGQgYmVjb21lIGRpc2NpcGxpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBkb29ycyB3ZXJlIGNsb3NlZC4gSSBkaWQgbm90IGhlYXIgYW55b25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyBib290IHNxdWVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RXhjZXB0IG9uZSBzb3VuZCwmcXVvdDsgUnlhbiBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgc291bmQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHNlYXJjaGVkIHRoZSBtZW1vcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNvZnQgc2NyYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIGNvbWUgZnJvbSB0aGUgZmluYWwgc3RhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdCB0aGUgdGltZSwgUnlhbiBoYWQgYXNzdW1lZCBhIHBpcGUgc2hpZnRlZCBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3cgTXIuIEFtYXJhbCB3YXMgc3RhcmluZyBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGdWxseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCB0aGUgY3VzdG9kaWFuJiMzOTtzIGV5ZXMgd2VyZSBjbGVhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhleSBkcm9wcGVkIGJhY2sgdG8gdGhlIGNhcnBldC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbkJhdGhyb29tVGhlb3J5ID0gJnF1b3Q7c29tZW9uZSBlbnRlcmVkIGFmdGVyIFJ5YW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiByZW1lbWJlcnMgdGhlIGJhdGhyb29tIGFwcGVhcmluZyBlbXB0eSBiZWZvcmUgdGhlIGluY2lkZW50JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtSeWFuIGhlYXJkIGEgc2NyYXBlIG5lYXIgdGhlIGZpbmFsIGJhdGhyb29tIHN0YWxsJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1J5YW4gY2Fubm90IHJlbWVtYmVyIHdoZXRoZXIgdGhlIGZhdWNldCB3YXMgZHJpcHBpbmcgYmVmb3JlIGhlIGxlZnQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1JlY292ZXJlZCBtZW1vcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gaGVhcmQgYSBmYWludCBzY3JhcGUgbmVhciB0aGUKCWZpbmFsIHN0YWxsIGJ1dCBhc3N1bWVkIGl0IGNhbWUgZnJvbSB0aGUgcGx1bWJpbmcuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBkcmV3IGEgbGluZSBiZW5lYXRoIHdoYXRldmVyIGhlIGhhZCB3cml0dGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3VsZCBub3QgcmVhZCB0aGUgd29yZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3VsZCBzZWUgdGhlIGZpbmFsIHB1bmN0dWF0aW9uIG1hcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHF1ZXN0aW9uIG1hcmsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQXNrIHdoYXQgTXIuIEFtYXJhbCBzYXctJmd0O1ByaW5jaXBhbCBDYWxscyB0byBBbWFyYWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijk0IiBuYW1lPSJJdCBXYXMgRXZlcnl3aGVyZSIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDQyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRyeWFuSGVhcmRFdmVyeXdoZXJlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1VuZGVyc3RhbmQgd2hhdCBNci4gQW1hcmFsIGRpc2NvdmVyZWQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwgc2xvd2x5IHJhaXNlZCBoaXMgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBmYWNlIGxvb2tlZCBlbXB0eSwgYnV0IGhpcyBleWVzIGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHJlZmxlY3RlZCBhIHBsYWNlIGJleW9uZCB0aGUgb2ZmaWNlLiBEYXJrIHRpbGUuIFdlYWsgbGlnaHQuCglTb21ldGhpbmcgcGFsZSBtb3Zpbmcgd2hlcmUgdGhlIGRlc2sgbGFtcCBzaG91bGQgaGF2ZSBiZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsZWFuZWQgc2xpZ2h0bHkgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJlZmxlY3Rpb24gdmFuaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGxpcHMgcGFydGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvb20gYmVjYW1lIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIGV2ZXJ5d2hlcmUsJnF1b3Q7IGhlIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5d2hlcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdvcmQgc2hvdWxkIG5vdCBiZSBhbGxvd2VkIHRvIGRlc2NyaWJlIGFueXRoaW5nIGZvdW5kIGluc2lkZSBhCglzY2hvb2wgYmF0aHJvb20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHByZXNzZWQgaGlzIGJvb3RzIHRvZ2V0aGVyLiBIaXMgaGFuZHMgdGlnaHRlbmVkIGFyb3VuZCBoaXMKCWtuZWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkcm9wIG9mIHdhdGVyIGFwcGVhcmVkIGJlbmVhdGggb25lIGJvb3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGRpZCBub3Qgc29hayBpbnRvIHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZHJvcHMgcmVtYWluZWQgcm91bmQgYW5kIGRhcmsgb24gdGhlIGZpYmVycywgdHJlbWJsaW5nIHdpdGggZWFjaAoJYnJlYXRoIE1yLiBBbWFyYWwgdG9vay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyB3YXRjaGVkIHRoZSBjdXN0b2RpYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBkaWQgbm90IGFzayB3aGF0IGV2ZXJ5d2hlcmUgbWVhbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIG5vdGljZWQgdGhhdCBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmluY2lwYWwgZWl0aGVyIGFscmVhZHkga25ldyB0aGUgYW5zd2VyIG9yIGRpZCBub3Qgd2FudCB0byBoZWFyCglpdCBzcG9rZW4gYWxvdWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5UaHJlYXRzLnB1c2hVbmlxdWUoJnF1b3Q7V2hhdGV2ZXIgTXIuIEFtYXJhbCBmb3VuZCBpbiB0aGUgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgc2FpZCB0aGUgdW5pZGVudGlmaWVkIHN1YnN0YW5jZSBvciBvYmplY3Qgd2FzIGV2ZXJ5d2hlcmUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1dhdGVyIGFwcGVhcmVkIGJlbmVhdGggTXIuIEFtYXJhbCYjMzk7cyBib290cyB3aXRob3V0IHNvYWtpbmcgaW50byB0aGUgY2FycGV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgZGVzY3JpYmVkIHRoZSBiYXRocm9vbSBkaXNjb3Zlcnkgb25seSBhcyAmIzM5O2V2ZXJ5d2hlcmUmIzM5OyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgZGVzY3JpYmVkIHdoYXQgaGUgZm91bmQKCXdpdGggb25seSBvbmUgd29yZDog4oCcRXZlcnl3aGVyZS7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCBicmVhdGhpbmcgcmh5dGhtIGJlbmVhdGggdGhlIGRlc2sgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIGhlYXJkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGdhemUgZHJvcHBlZCB0b3dhcmQgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBrZXB0IGJvdGggaGFuZHMgb24gaGlzIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBSeWFuIHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgd2FzIGV2ZXJ5d2hlcmUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhblF1ZXN0aW9uZWRFdmVyeXdoZXJlID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gUXVlc3Rpb25zIEV2ZXJ5d2hlcmUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2F0Y2ggUHJpbmNpcGFsIE1hdHRoZXdzIGluc3RlYWQgb2YgTXIuIEFtYXJhbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuUXVlc3Rpb25lZEV2ZXJ5d2hlcmUgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFdhdGNoZXMgdGhlIFByaW5jaXBhbCBSZWFjdCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtNb3ZlIGhpcyBjaGFpciBmYXJ0aGVyIGZyb20gTXIuIEFtYXJhbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuUXVlc3Rpb25lZEV2ZXJ5d2hlcmUgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBNb3ZlcyBIaXMgQ2hhaXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoZXRoZXIgTXIuIEFtYXJhbCBuZWVkcyBoZWxwLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5RdWVzdGlvbmVkRXZlcnl3aGVyZSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gT2ZmZXJzIEFtYXJhbCBIZWxwJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijk1IiBuYW1lPSJSeWFuIFF1ZXN0aW9ucyBFdmVyeXdoZXJlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTI1LDQwNzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCB3YXMgZXZlcnl3aGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGV5ZXMgbW92ZWQgdG93YXJkIFJ5YW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIHRoZXkgYXBwZWFyZWQgY2xlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGlzIGxpcHMgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHdhcyBldmVyeXdoZXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyBleWVzIG1vdmVkIHRvd2FyZCBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIHRoZXkgYXBwZWFyZWQgY2xlYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgbGlwcyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHNvdW5kIGVtZXJnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHRyaWVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCBhIGRhbXAgYnJlYXRoIGVzY2FwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzbWVsbGVkIG9mIHNvaWwgYW5kIHN0YW5kaW5nIHdhdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHdvcmQgYWxtb3N0IGZvcm1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gaGVhcmQgdGhlIGJlZ2lubmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JvLi4uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGdhemUgc2hpZnRlZCB0b3dhcmQgdGhlIGZsb29yIGJlbmVhdGggdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgbW91dGggY2xvc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHdyb3RlIHNvbWV0aGluZyBpbiBSeWFuJiMzOTtzIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdmVyZWQgdGhlIHdvcmRzIHdpdGggb25lIGhhbmQgYmVmb3JlIFJ5YW4gY291bGQgcmVhZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjYXVnaHQgb25seSB0aGUgZmluYWwgbGV0dGVyczoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CgkuLi5vb3QKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUm9vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJvb20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciBzb21ldGhpbmcgZWxzZSBlbnRpcmVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaXN0aW5jdGlvbiBzZWVtZWQgaW1wb3J0YW50LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgcmVjb3JkZWQgTXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgcmVzcG9uc2UgYW5kIGNvbmNlYWxlZCB0aGUgbm90ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgd29yZCBtYXkgaGF2ZSBiZWd1biB3aXRoICYjMzk7cm8mIzM5OyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGF0dGVtcHRlZCB0byBhbnN3ZXIgYnV0IGNvdWxkIG5vdCBjb21wbGV0ZSB0aGUgd29yZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SW5jb21wbGV0ZSBhbnN3ZXI6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgYXR0ZW1wdGVkIHRvIHNwZWFrLAoJYnV0IFJ5YW4gaGVhcmQgb25seSB0aGUgYmVnaW5uaW5nIG9mIGEgd29yZCB0aGF0IHNvdW5kZWQgbGlrZSDigJxyby7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGVyIGJlbmVhdGggTXIuIEFtYXJhbCYjMzk7cyBib290cyBkcmV3IGlud2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdpdGhpbiBzZWNvbmRzLCB0aGUgY2FycGV0IHdhcyBkcnkuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGhlIHByaW5jaXBhbCBjYWxscyBmb3IgaGVscC0mZ3Q7VGhlIE51cnNlIElzIFN1bW1vbmVkXV0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJTm8gc291bmQgY2FtZSBvdXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlbiBoaXMgZ2F6ZSBkcm9wcGVkIGJhY2sgdG8gdGhlIGNhcnBldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgd3JvdGUgc29tZXRoaW5nIGluIHRoZSBmb2xkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgY292ZXJlZCB0aGUgd29yZHMgd2l0aCBvbmUgaGFuZCBiZWZvcmUgUnlhbiBjb3VsZCByZWFkIHRoZW0uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgcmVjb3JkZWQgTXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgcmVzcG9uc2UgYW5kIGNvbmNlYWxlZCB0aGUgbm90ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGF0dGVtcHRlZCB0byBhbnN3ZXIgYnV0IGNvdWxkIG5vdCBzcGVhayZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIHRyaWVkIHRvIGFuc3dlciwgYW5kIFByaW5jaXBhbAoJTWF0dGhld3MgY29uY2VhbGVkIHdoYXQgaGUgd3JvdGUgYWZ0ZXJ3YXJkLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1RoZSBwcmluY2lwYWwgY2FsbHMgZm9yIGhlbHAtJmd0O1RoZSBOdXJzZSBJcyBTdW1tb25lZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iOTYiIG5hbWU9IlRoZSBOdXJzZSBJcyBTdW1tb25lZCIgdGFncz0iIiBwb3NpdGlvbj0iMTUyNSw0MjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7V2FpdCB3aGlsZSBQcmluY2lwYWwgTWF0dGhld3Mgc3VtbW9ucyBoZWxwIGZvciBNci4gQW1hcmFsJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgY2FsbGVkIHRocm91Z2ggdGhlIHBhcnRseSBvcGVuIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNcy4gQXZlbnNoYWxlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBhcHBlYXJlZCBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gaGFkIG5vdCBoZWFyZCBoZXIgYXBwcm9hY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3RvcHBlZCBvdXRzaWRlIHRoZSBicmFzcyB0aHJlc2hvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCBlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZW4geW91IGhhdmUgYSBtb21lbnQsIGFzayB0aGUgc2Nob29sIG51cnNlIHRvIGNvbWUgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgYXQgTXIuIEFtYXJhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCBicmluZyB0aGUgc21lbGxpbmcgc2FsdHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwYXVzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBbmQgYSBzdHJldGNoZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdHJldGNoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGYW50YXN0aWMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHN0cmV0Y2hlciB3YXMgcmFyZWx5IGEgc2lnbiBvZiBhZG1pbmlzdHJhdGl2ZSBzdWNjZXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXMuIEF2ZW5zaGFsZSBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZ3JlZW4gcmluZyByZXN0ZWQgYWdhaW5zdCB0aGUgZG9vcmZyYW1lLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gd2F0Y2hlZCBoZXIgaGFuZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSByaW5nIGNyb3NzZWQgaW50byB0aGUgb2ZmaWNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGVyIGZpbmdlciBkaWQgbm90LgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgcmVtYWluZWQgb3V0c2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBldmVuIHdoZW4gaGVscCB3YXMgcmVxdWVzdGVkJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IGFsbG93ZWQgaGVyIHJpbmcgdG8gY3Jvc3MgdGhlIHRocmVzaG9sZCBidXQgbm90IGhlciBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZGVzayBsYW1wIGRpbW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBicmlnaHRlbmVkIGluIHJlc3BvbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIGEgdGhpbiBsaW5lIG9mIGdyZWVuIGxpZ2h0IHJhbiBhbG9uZyB0aGUgYnJhc3MKCXRocmVzaG9sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRyYXZlbGVkIGZyb20gb25lIHNpZGUgb2YgdGhlIGRvb3J3YXkgdG8gdGhlIG90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCByZWxlYXNlZCBhIGJyZWF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0d28gZGFyayBkcm9wcyBiZW5lYXRoIGhpcyBib290cyBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1zLiBBdmVuc2hhbGUgd2l0aGRyZXcgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgdmFuaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBbnl0aGluZyBlbHNlPyZxdW90OyBzaGUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHRvd2FyZCBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5JiMzOTtzIGdhemUgZm9sbG93ZWQgaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZXZpc2VkIHRoZSBhbnN3ZXI6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTm90aGluZyBlbHNlIHRoZXkgaW50ZW5kZWQgdG8gZGlzY3VzcyBpbiBmcm9udCBvZiBoaW0uCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tIZWFyIHRoZSBwcmluY2lwYWwmIzM5O3MgZGVjaXNpb24tJmd0O1ByaW5jaXBhbCBHaXZlcyB0aGUgV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iOTciIG5hbWU9IlJ5YW4gV2F0Y2hlcyB0aGUgUHJpbmNpcGFsIFJlYWN0IiB0YWdzPSIiIHBvc2l0aW9uPSIxMTc1LDQzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJUnlhbiB3YXRjaGVkIFByaW5jaXBhbCBNYXR0aGV3cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmluY2lwYWwgZGlkIG5vdCBhcHBlYXIgY29uZnVzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyB0aGUgZmlyc3QgaW1wb3J0YW50IGRldGFpbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgd2FzIHRoYXQgaGUgZGlkIG5vdCBhc2sgTXIuIEFtYXJhbCB3aGF0IGV2ZXJ5d2hlcmUgbWVhbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCBQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHRvd2FyZCB0aGUgcGFydGx5IG9wZW4gb2ZmaWNlIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRvd2FyZCB0aGUgZGFyayBjb3JuZXIgYmVoaW5kIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGJlbmVhdGggdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjaGVja2VkIGVhY2ggbG9jYXRpb24gaW4gdGhlIHNhbWUgb3JkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ29ybmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHByYWN0aWNlZCBpbnNwZWN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHBsYWNlZCBvbmUgaGFuZCBmbGF0IGFnYWluc3QgdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIGJyZWF0aGluZyByaHl0aG0gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBBbWFyYWwsJnF1b3Q7IHRoZSBwcmluY2lwYWwgc2FpZCwgJnF1b3Q7eW91IGFyZSBpbiBteSBvZmZpY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuJiMzOTtzIGdyaXAgbG9vc2VuZWQgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgY3Jvc3NlZCB0aGUgdGhyZXNob2xkLCZxdW90OyBQcmluY2lwYWwgTWF0dGhld3MgY29udGludWVkLiAmcXVvdDtOb3RoaW5nCglmb2xsb3dlZCB5b3UgdGhyb3VnaC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgYnJhc3Mgc3RyaXAgb3V0c2lkZSB0aGUgZG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyByZWFsaXplZCB3aGF0IGhlIGhhZCBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCYjMzk7cyBmYWNlIHJldHVybmVkIHRvIGl0cyBuZXV0cmFsIHBvc2l0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBmaWxlZCB0aGUgc3RhdGVtZW50IGJlZm9yZSBpdCBjb3VsZCBiZSB3aXRoZHJhd24uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBkaWQgbm90IGFzayB3aGF0IE1yLiBBbWFyYWwgbWVhbnQgYnkgZXZlcnl3aGVyZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIHRvbGQgTXIuIEFtYXJhbCB0aGF0IG5vdGhpbmcgZm9sbG93ZWQgaGltIGFjcm9zcyB0aGUgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBjaGVja2VkIHRoZSBkb29yLCBjb3JuZXIsIGFuZCBmbG9vciBhZnRlciBNci4gQW1hcmFsIHNwb2tlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcHJpbmNpcGFsJiMzOTtzIHRocmVzaG9sZCBtYXkgcHJldmVudCBzb21ldGhpbmcgZnJvbSBmb2xsb3dpbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBQcmluY2lwYWwgTWF0dGhld3MgcmVhc3N1cmVkIE1yLgoJQW1hcmFsIHRoYXQgbm90aGluZyBoYWQgZm9sbG93ZWQgaGltIGFjcm9zcyB0aGUgb2ZmaWNlIHRocmVzaG9sZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBncmVlbiByaW5nIGZsYXNoZWQgYmV5b25kIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHJlYWNoZWQgZm9yIHRoZSB0ZWxlcGhvbmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGhlIHByaW5jaXBhbCBjYWxscyBmb3IgaGVscC0mZ3Q7VGhlIE51cnNlIElzIFN1bW1vbmVkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5OCIgbmFtZT0iUnlhbiBNb3ZlcyBIaXMgQ2hhaXIiIHRhZ3M9IiIgcG9zaXRpb249IjI1MCw0MjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCVJ5YW4gc2hpZnRlZCBoaXMgY2hhaXIgc2V2ZXJhbCBpbmNoZXMgYXdheSBmcm9tIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgbGVncyBzY3JhcGVkIGFjcm9zcyB0aGUgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCByZWFjdGVkIGltbWVkaWF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHVsbGVkIGJvdGggZmVldCBiZW5lYXRoIGhpcyBjaGFpciBhbmQgc3RhcmVkIGF0IHRoZSBzcG90IFJ5YW4gaGFkCglqdXN0IHVuY292ZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gZm9sbG93ZWQgaGlzIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIHdhcyB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUdyYXkgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGRhcmtlciBwYXRjaCB3aGVyZSB0aGUgY2hhaXIgaGFkIHJlc3RlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyBpbmRlbnRhdGlvbiBmcm9tIHRoZSBjaGFpciBsZWcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBpbmRlbnRhdGlvbiBkZWVwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXJwZXQgZmliZXJzIHByZXNzZWQgZG93bndhcmQgYXMgdGhvdWdoIHNvbWV0aGluZyBuYXJyb3cgaGFkCglwbGFjZWQgd2VpZ2h0IHVwb24gdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gc3RvcHBlZCBtb3ZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNlY29uZCBpbmRlbnRhdGlvbiBhcHBlYXJlZCBiZXNpZGUgdGhlIGZpcnN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIHVuc2VlbiBmZWV0IHN0b29kIGluIHRoZSBlbXB0eSBzcGFjZSBiZXR3ZWVuIFJ5YW4gYW5kIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHNob29rIGhpcyBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8sJnF1b3Q7IGhlIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBpbmRlbnRhdGlvbnMgdmFuaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2FycGV0IHNsb3dseSByb3NlIGJhY2sgaW50byBwbGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbW92ZWQgaGlzIGNoYWlyIG5vIGZhcnRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSZXRyZWF0IGhhZCBjcmVhdGVkIGFkZGl0aW9uYWwgcHJvYmxlbXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyB1c2VmdWwgdGFjdGljYWwgaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCBmZWFyZnVsbHkgd2hlbiBSeWFuJiMzOTtzIGNoYWlyIHNjcmFwZWQgdGhlIGNhcnBldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VHdvIGZvb3Qtc2hhcGVkIGltcHJlc3Npb25zIGFwcGVhcmVkIGluIHRoZSBlbXB0eSBjYXJwZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIHVuc2VlbiBhcHBlYXJlZCB0byBzdGFuZCBiZXR3ZWVuIFJ5YW4gYW5kIE1yLiBBbWFyYWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5UaHJlYXRzLnB1c2hVbmlxdWUoJnF1b3Q7VW5zZWVuIHByZXNlbmNlIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFR3byBmb290LXNoYXBlZCBpbXByZXNzaW9ucyBhcHBlYXJlZCBpbgoJdGhlIGVtcHR5IGNhcnBldCBhZnRlciBSeWFuIG1vdmVkIGhpcyBjaGFpci4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCBiZW5lYXRoIHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBoZSByZWFjaGVkIGZvciB0aGUgdGVsZXBob25lLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1RoZSBwcmluY2lwYWwgY2FsbHMgZm9yIGhlbHAtJmd0O1RoZSBOdXJzZSBJcyBTdW1tb25lZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iOTkiIG5hbWU9IlJ5YW4gT2ZmZXJzIEFtYXJhbCBIZWxwIiB0YWdzPSIiIHBvc2l0aW9uPSI1NTAsNDQwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtEbyB5b3UgbmVlZCBoZWxwPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCBsb29rZWQgYXQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBleWVzIGZvY3VzZWQgc2xvd2x5LCBhcyB0aG91Z2ggUnlhbiBzdG9vZCBhdCB0aGUgZmFyIGVuZCBvZiBhIGxvbmcKCWhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIG1vdXRoIG1vdmVkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZWFjaGVkIHRvd2FyZCBSeWFuJiMzOTtzIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBoYW5kIHN0b3BwZWQgaGFsZndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5nZXJzIHRyZW1ibGVkIGFib3ZlIHRoZSB3aGl0ZSBCLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG9uJiMzOTt0IHRha2UgaXQgb2ZmLCZxdW90OyBoZSB3aGlzcGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHRpZ2h0ZW5lZCBib3RoIGhhbmRzIGFnYWluc3QgdGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBzdGFyZWQgYXQgdGhlIGN1c3RvZGlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsgUnlhbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwmIzM5O3MgZ2F6ZSByb3NlIGFib3ZlIFJ5YW4mIzM5O3MgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCB0aGUgY2VpbGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYmVoaW5kIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZXllcyB3aWRlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRpbWVzIG5vdCBrbm93aW5nIHdoYXQgc3Rvb2QgYmVoaW5kIHlvdSB3YXMgdGhlIG9ubHkgcmVtYWluaW5nCglkZWZlbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCBsb3dlcmVkIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgbG9va3MgZm9yIHRoZSB0b3AsJnF1b3Q7IGhlIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaGlzIGdhemUgZHJvcHBlZCBiYWNrIHRvIHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGRpZCBub3QgdW5kZXJzdGFuZCB0aGUgc3RhdGVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdW5kZXJzdG9vZCBlbm91Z2ggdG8ga2VlcCB0aGUgaGVsbWV0IG9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtEbyBub3QgcmVtb3ZlIHRoZSBoZWxtZXQgbmVhciB3aGF0ZXZlciBmcmlnaHRlbmVkIE1yLiBBbWFyYWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgd2FybmVkIFJ5YW4gbm90IHRvIHJlbW92ZSBoaXMgaGVsbWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHNhaWQgJiMzOTtJdCBsb29rcyBmb3IgdGhlIHRvcCYjMzk7JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgY29ubmVjdGVkIFJ5YW4mIzM5O3MgaGVsbWV0IHdpdGggcHJvdGVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgd2FybmluZzombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCB3YXJuZWQgUnlhbiBub3QgdG8KCXJlbW92ZSBoaXMgaGVsbWV0IGFuZCBzYWlkLCDigJxJdCBsb29rcyBmb3IgdGhlIHRvcC7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNlaWxpbmcgdGlsZSBhYm92ZSBSeWFuIGdhdmUgb25lIHNvZnQgY2xpY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcmVhY2hlZCBmb3IgdGhlIHRlbGVwaG9uZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tUaGUgcHJpbmNpcGFsIGNhbGxzIGZvciBoZWxwLSZndDtUaGUgTnVyc2UgSXMgU3VtbW9uZWRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwMCIgbmFtZT0iUHJpbmNpcGFsIEdpdmVzIHRoZSBXYXJuaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTI1LDQzMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXZlIHRoZSBvZmZpY2Ugd2l0aG91dCBiZWluZyBibGFtZWQgZm9yIHRoZSBiYXRocm9vbSBpbmNpZGVudCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGNsb3NlZCBSeWFuJiMzOTtzIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYW0gbm90IHlldCBjZXJ0YWluIHdobyBvciB3aGF0IHdhcyBpbnZvbHZlZCBpbiB0aGUgYm95cyYjMzk7IGJhdGhyb29tCglpbmNpZGVudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbm90aWNlZCB0aGUgcGhyYXNlIGltbWVkaWF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVdobyBvciB3aGF0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBZHVsdHMgdXN1YWxseSBzYWlkIHdoby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgc2FpZCB3aGF0IG9ubHkgd2hlbiB0aGV5IGhhZCBzdG9wcGVkIHByZXRlbmRpbmcgdGhlIGFuc3dlciBoYWQKCXRvIGJlIGEgcGVyc29uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3Mgc2FpZCBoZSBkaWQgbm90IGtub3cgd2hvIG9yIHdoYXQgY2F1c2VkIHRoZSBiYXRocm9vbSBpbmNpZGVudCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgY29uc2lkZXJlZCB0aGF0IHNvbWV0aGluZyBvdGhlciB0aGFuIGEgc3R1ZGVudCBtYXkgYmUgcmVzcG9uc2libGUmcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmNlIE1yLiBBbWFyYWwgcmVjb3ZlcnMsIEkgd2lsbCBrbm93IG1vcmUsJnF1b3Q7IHRoZSBwcmluY2lwYWwKCWNvbnRpbnVlZC4gJnF1b3Q7SW4gdGhlIG1lYW50aW1lLCB0aGUgY3VzdG9kaWFsIGVudHJhbmNlIGlzIG5vdCBmb3Igc3R1ZGVudAoJdXNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2lsbCBhcnJpdmUgd2hlbiB0aGUgYmVsbCByaW5ncyBhbmQgdXNlIHRoZSBkZXNpZ25hdGVkIGRvb3JzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLCBzaXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbG9hZGluZy1kb2NrIGVudHJhbmNlIHdhcyBzZWN1cmVkIGxhc3QgbmlnaHQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBvcGVuIHRoaXMgbW9ybmluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYW0gYXdhcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gb3BlbmVkIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGdsYW5jZWQgdG93YXJkIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGluIHRoZSBzZWNyZXRhcnkmIzM5O3MgcmluZyByZW1haW5lZCB2aXNpYmxlIGJleW9uZCB0aGUKCWJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgZG8gbm90IGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYW5zd2VyIHdhcyBxdWlldGVyIHRoYW4gZXZlcnl0aGluZyB0aGF0IGNhbWUgYmVmb3JlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIE1yLiBBbWFyYWwgdGhlIGZpcnN0IHBlcnNvbiB0aHJvdWdoIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1c3RvZGlhbiYjMzk7cyBib290IHNxdWVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGRpZCBub3QgYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5zdGVhZCwgdGhlIHByaW5jaXBhbCBsZWFuZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIGZvciB0aGUgc2Nob29sJiMzOTtzIHNhZmV0eS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHBhdXNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCB5b3Vycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZXNrIGxhbXAgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4gdGhlIGJyaWVmIGRhcmtuZXNzLCBzb21ldGhpbmcgdG91Y2hlZCB0aGUgdG9wIG9mIFJ5YW4mIzM5O3MgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlnaHQgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIHN0b29kIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGtlcHQgYm90aCBoYW5kcyBvbiB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtVc2Ugb25seSBkZXNpZ25hdGVkIHNjaG9vbCBlbnRyYW5jZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O1VuYXV0aG9yaXplZCBlbnRyYW5jZXMgbWF5IGJlIGRhbmdlcm91cywgbm90IG1lcmVseSBmb3JiaWRkZW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBsb2FkaW5nLWRvY2sgZW50cmFuY2UgaGFkIGJlZW4gc2VjdXJlZCBiZWZvcmUgc29tZW9uZSBvcGVuZWQgaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7U2Nob29sIG9mZmljaWFscyBkbyBub3Qga25vdyB3aG8gb3BlbmVkIHRoZSBsb2FkaW5nLWRvY2sgZW50cmFuY2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgVGhlIGxvYWRpbmctZG9jayBlbnRyYW5jZSBpcwoJZm9yYmlkZGVuIGJlY2F1c2UgUHJpbmNpcGFsIE1hdHRoZXdzIGJlbGlldmVzIGl0IG1heSBiZSB1bnNhZmUuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBsb2FkaW5nLWRvY2sgZG9vciBoYWQgYmVlbiBzZWN1cmVkLCBidXQKCXNvbWVvbmUgb3Igc29tZXRoaW5nIG9wZW5lZCBpdCBiZWZvcmUgUnlhbiBhcnJpdmVkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglJbiBjaGVzcyB0ZXJtcywgdGhlIG1lZXRpbmcgd2FzIG5vdCBhIHdpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgYSBsb3NzIGVpdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhIHN0YWxlbWF0ZSBpbiB3aGljaCB0aGUgb3Bwb3Npbmcgc2lkZSBrbmV3IHRoZSBydWxlcyBhbmQgUnlhbgoJZGlkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIG5vdCBhIGZhaXIgZ2FtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBzdGlsbCBhIGdhbWUgUnlhbiBpbnRlbmRlZCB0byB1bmRlcnN0YW5kLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xlYXZlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLSZndDtSeWFuIExlYXZlcyB0aGUgT2ZmaWNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDEiIG5hbWU9IlJ5YW4gTGVhdmVzIHRoZSBPZmZpY2UiIHRhZ3M9IiIgcG9zaXRpb249IjE1MjUsNDQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBEb29yJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXZlIHRoZSBvZmZpY2UgYW5kIHJldHVybiB0byB0aGUgaGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzdG9vZCBhbmQgc2VjdXJlZCB0aGUgaGVsbWV0IG9uIGhpcyBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBsYXN0aWMgc2hlbGwgc2V0dGxlZCBpbnRvIHBsYWNlIHdpdGggYSBmYW1pbGlhciBwcmVzc3VyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJldHRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBzYWZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmV0dGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIGF0IE1yLiBBbWFyYWwgb25lIGxhc3QgdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4gaGFkIHJldHVybmVkIHRvIHN0YXJpbmcgYXQgdGhlIGNhcnBldC4gSGlzIGJvb3RzCglyZW1haW5lZCBwcmVzc2VkIHRvZ2V0aGVyLCBhbmQgaGlzIGhhbmRzIHJlc3RlZCByaWdpZGx5IGFnYWluc3QgaGlzCglrbmVlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdG9pbGV0IGZsdXNoZWQgc29tZXdoZXJlIGRvd24gdGhlIGhhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIGZsaW5jaGVkLiBIaXMgYm9vdHMgc2NyYXBlZCBiYWNrd2FyZCwgYW5kIGhpcyBoYW5kcwoJdGlnaHRlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBtYWRlIGEgcHJpdmF0ZSBkZWNpc2lvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBuZXZlciB1c2luZyBhIHB1YmxpYyBiYXRocm9vbSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVjaXNpb24gcHJlc2VudGVkIHNldmVyYWwgcHJhY3RpY2FsIHByb2JsZW1zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhvc2UgY291bGQgYmUgYWRkcmVzc2VkIGxhdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBhcHByb2FjaGVkIHRoZSBvZmZpY2UgZG9vcndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBicmFzcyB0aHJlc2hvbGQgcmVmbGVjdGVkIGEgdGhpbiBsaW5lIG9mIGxpZ2h0IGZyb20gdGhlIGRlc2sKCWxhbXAuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkcnlhblRlc3RlZERvb3JCb3VuZGFyeSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgbWV0YWwgbm8gbG9uZ2VyIGZlbHQgd2FybSBiZW5lYXRoIFJ5YW4mIzM5O3Mgc2hvZS4gVGhlIHNlY3JldGFyeSYjMzk7cwoJCXJpbmcgYmV5b25kIHRoZSBkb29yd2F5IGhhZCBhbHNvIGdvbmUgZGFyay4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgdGhyZXNob2xkIGNvb2xlZCBiZWZvcmUgUnlhbiBsZWZ0IHRoZSBvZmZpY2UmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSB0aHJlc2hvbGQgYW5kIHNlY3JldGFyeSYjMzk7cyByaW5nIGJlY2FtZSBpbmFjdGl2ZSBiZWZvcmUgUnlhbiBsZWZ0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyB0b2xkIE1yLiBBbWFyYWwgdGhhdCBub3RoaW5nIGZvbGxvd2VkIGhpbSBhY3Jvc3MgdGhlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiByZW1lbWJlcmVkIFByaW5jaXBhbCBNYXR0aGV3cyYjMzk7cyB3b3Jkcy4KCSZsdDsvcCZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCQlOb3RoaW5nIGZvbGxvd2VkIHlvdSB0aHJvdWdoLgoJJmx0Oy9kaXYmZ3Q7CgkmbHQ7cCZndDsKCQlSeWFuIGxvb2tlZCBiZWhpbmQgaGltLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGRhcmsgY29ybmVycyByZW1haW5lZCBzdGlsbC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoYXQgZGlkIG5vdCBtZWFuIHRoZXkgd2VyZSBlbXB0eS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVJ5YW4gc3RlcHBlZCBhY3Jvc3MgdGhlIGJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsdW9yZXNjZW50IGJ1enosIG1pbWVvZ3JhcGggcm9sbGVycywgc2hpZnRpbmcgcGFwZXJzLCBhbmQKCWx1bmNoLWJveCBsYXRjaCByZXR1cm5lZCBhbGwgYXQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBSeWFuLCB0aGUgb2ZmaWNlIGRvb3IgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzdG9wcGVkIGJlZm9yZSBjbG9zaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBuYXJyb3cgYmxhY2sgZ2FwIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSBpbnNpZGUgY2FtZSBvbmUgc29mdCBzY3JhcGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHdoaXNwZXJlZCBzb21ldGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGhlYXJkIG9ubHkgdGhlIGZpbmFsIHdvcmQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJQWdhaW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBvZmZpY2UgZG9vciBjbG9zZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgd2hpc3BlcmVkICYjMzk7YWdhaW4mIzM5OyBhcyBSeWFuIGxlZnQgdGhlIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGltcGxpZWQgdGhlIGJhdGhyb29tIGluY2lkZW50IGhhZCBoYXBwZW5lZCBiZWZvcmUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0ZpbmFsIG9mZmljZSBkZXRhaWw6Jmx0Oy9zdHJvbmcmZ3Q7IEFzIFJ5YW4gY3Jvc3NlZCB0aGUgdGhyZXNob2xkLAoJTXIuIEFtYXJhbCB3aGlzcGVyZWQsIOKAnEFnYWluLuKAnQombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmFjZSB0aGUgc2VjcmV0YXJ5IGFnYWluLSZndDtUaGUgU2VjcmV0YXJ5IEZpbmFsIFdhcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwMiIgbmFtZT0iVGhlIFNlY3JldGFyeSBGaW5hbCBXYXJuaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTI1LDQ1NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBNYWluIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVbmRlcnN0YW5kIHRoZSBzZWNyZXRhcnkmIzM5O3Mgd2FybmluZyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzYXQgYmVoaW5kIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGhhbmRzIHdlcmUgZm9sZGVkIGV4YWN0bHkgYXMgdGhleSBoYWQgYmVlbiB3aGVuIFJ5YW4gYXJyaXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBjaGFpciBvY2N1cGllZCB0aGUgc2FtZSBwb3NpdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdGFjayBvZiBmb3JtcyByZW1haW5lZCBwZXJmZWN0bHkgYWxpZ25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxvb2tlZCBhcyB0aG91Z2ggc2hlIGhhZCBuZXZlciBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd291bGQgaGF2ZSBiZWVuIGltcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGFkZGVkIGltcG9zc2libGUgdG8gdGhlIGdyb3dpbmcgbGlzdCBvZiB3b3JkcyB0aGF0IGhhZCBiZWNvbWUKCWxlc3MgdXNlZnVsIHRoYXQgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRyeWFuUmV0cmlldmVkQXBwbGUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHN0dWRlbnQgc2F0IG9uIHRoZSBiZW5jaCB3aXRoIHRoZSByZXR1cm5lZCBhcHBsZSByZXN0aW5nCgkJYmVzaWRlIHRoZSBjbG9zZWQgbHVuY2ggYm94LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGRhcmsgdGh1bWJwcmludCByZW1haW5lZCBvbiB0aGUgYXBwbGUmIzM5O3Mgc2tpbi4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtUaGUgYXBwbGUgbW92ZWQgYWZ0ZXIgaXQgYXBwZWFyZWQgdG8gc3RvcCZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFwcGxlIHdhcyBnb25lLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBkaWQgbm90IGtub3cgd2hvIGhhZCByZW1vdmVkIGl0IGZyb20gYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzCgkJY2hhaXIuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VGhlIG90aGVyIHN0dWRlbnQgc2FpZCAmIzM5O3NoZSBrZWVwcyB0aGluZ3MmIzM5OyBhZnRlciB0aGUgYXBwbGUgZGlzYXBwZWFyZWQmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBhcHBsZSB3YXMgc3RpbGwgbWlzc2luZyBiZW5lYXRoIHRoZSBjb3VudGVyLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHN0dWRlbnQgaGVsZCB0aGUgbHVuY2ggYm94IHRpZ2h0bHkgYWdhaW5zdCBib3RoIGtuZWVzLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFwcGxlIHdhcyBnb25lLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBjb3VsZCBub3QgZGV0ZXJtaW5lIHdoZXRoZXIgYW55b25lIGhhZCByZXRyaWV2ZWQgaXQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiByaW5nIGNhdWdodCB0aGUgZmx1b3Jlc2NlbnQgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHb29kIGx1Y2sgdG9kYXksJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIHZvaWNlIHNvdW5kZWQgZ2VudGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpbmQgb2Ygdm9pY2UgYW4gYWR1bHQgdXNlZCBiZWZvcmUgaGFuZGluZyBhIGNoaWxkIGEgY29va2llIG9yCglzZW5kaW5nIG9uZSBpbnRvIGEgcm9vbSB3aGVyZSBhIGN1c3RvZGlhbiBoYWQgd2hpc3BlcmVkIGFib3V0Cglzb21ldGhpbmcgYmVpbmcgZXZlcnl3aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2hlIHRpbHRlZCBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCByZW1lbWJlciwgb25seSBnbyB3aGVyZSB5b3UgYXJlIGFsbG93ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29yZHMgd2VyZSBzb2Z0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJ1bGUgaW5zaWRlIHRoZW0gd2FzIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhc3MgdGhyZXNob2xkIGZvcm1lZCBhIGJyaWdodCBsaW5lIGJlbmVhdGggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHVycGxlIGluayBzdGFpbiBzdGlsbCBzdG9wcGVkIG9uIHRoZSB3YWl0aW5nLXJvb20gc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgY3Jvc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgaW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgd2hhdGV2ZXIgUHJpbmNpcGFsIE1hdHRoZXdzIGJlbGlldmVkIHRoZSB0aHJlc2hvbGQgaGFkIGtlcHQgb3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGZsYXNoZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gc29tZXdoZXJlIGJlbmVhdGggdGhlIGNvdW50ZXIgY2FtZSBhIGZhaW50IHNjcmF0Y2hpbmcgc291bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGRpZCBub3QgbG9vayBkb3duLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFJ5YW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBY2NlcHQgdGhlIHdhcm5pbmcgYW5kIGxlYXZlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BY2NlcHRlZFNlY3JldGFyeVdhcm5pbmcgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O09ubHkgZ28gd2hlcmUgeW91IGFyZSBhbGxvd2VkJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gQWNjZXB0cyB0aGUgRmluYWwgUnVsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hhdCBoYXBwZW5zIHdoZW4gc29tZW9uZSBicmVha3MgdGhlIHJ1bGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFjY2VwdGVkU2VjcmV0YXJ5V2FybmluZyA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBRdWVzdGlvbnMgdGhlIEZpbmFsIFJ1bGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoZXRoZXIgdGhlIGxvYWRpbmctZG9jayBkb29yIHdhcyBvcGVuZWQgZm9yIGhpbS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQWNjZXB0ZWRTZWNyZXRhcnlXYXJuaW5nID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBBc2tzIEFib3V0IHRoZSBMb2FkaW5nIERvb3ImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHJldGVuZCBub3QgdG8gaGVhciBhbmQgY29udGludWUgd2Fsa2luZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQWNjZXB0ZWRTZWNyZXRhcnlXYXJuaW5nID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gSWdub3JlcyB0aGUgRmluYWwgUnVsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDMiIG5hbWU9IlJ5YW4gUXVlc3Rpb25zIHRoZSBGaW5hbCBSdWxlIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNDgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbnMgaWYgc29tZW9uZSBnb2VzIHdoZXJlIHRoZXkgYXJlIG5vdCBhbGxvd2VkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBsb29rZWQgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1VzdWFsbHksIHNvbWVvbmUgYnJpbmdzIHRoZW0gYmFjay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1VzdWFsbHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgc21pbGUgcmVtYWluZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdvcmQgbWVhbnMgdGhlcmUgYXJlIGV4Y2VwdGlvbnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNb3N0IHdvcmRzIGhhdmUgZXhjZXB0aW9ucywgTXIuIEdydWJsZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgcHJvbm91bmNlZCBoaXMgbmFtZSBjb3JyZWN0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbnMgZHVyaW5nIHRoZSBleGNlcHRpb25zPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsdW9yZXNjZW50IGxpZ2h0IGFib3ZlIHRoZSBjb3VudGVyIHdlbnQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZW1haW5pbmcgbGlnaHRzIGNvbnRpbnVlZCB0byBidXp6LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBmYWNlIHJlbWFpbmVkIHZpc2libGUgaW4gdGhlIGdyZWVuIHJlZmxlY3Rpb24gb2YgaGVyCglyaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U29tZXRpbWVzLCZxdW90OyBzaGUgc2FpZCwgJnF1b3Q7dGhlcmUgaXMgbm90IGVub3VnaCBsZWZ0IHRvIGJyaW5nIGJhY2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvd2VyZWQgaGVyIGV5ZXMgdG8gdGhlIHBhcGVyd29yay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvIG5vdCBiZSBsYXRlIGZvciBjbGFzcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgYXNrZWQgd2hhdCBoYXBwZW5lZCB3aGVuIHNvbWVvbmUgYnJva2UgdGhlIHJ1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgcmVjZWl2ZWQgYW4gYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgbm90IHRoZSBzYW1lIGFzIHJlY2VpdmluZyB1c2VmdWwgaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgY29uc2lkZXJhYmx5IHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtTb21lb25lIG1heSByZXRyaWV2ZSBwZW9wbGUgd2hvIGNyb3NzIGZvcmJpZGRlbiBib3VuZGFyaWVzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZW9uZSB1c3VhbGx5IGJyaW5ncyBiYWNrIHRob3NlIHdobyBlbnRlciBmb3JiaWRkZW4gcGxhY2VzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZXRpbWVzIHRoZXJlIGlzIG5vdCBlbm91Z2ggbGVmdCB0byBicmluZyBiYWNrJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgYWdhaW4gZGVtb25zdHJhdGVkIHRoYXQgc2hlIGtub3dzIFJ5YW4mIzM5O3MgY29ycmVjdCBuYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgd2FybmluZzombHQ7L3N0cm9uZyZndDsgUGVvcGxlIHdobyBlbnRlciBmb3JiaWRkZW4gcGxhY2VzCglhcmUg4oCcdXN1YWxseeKAnSBicm91Z2h0IGJhY2ssIGJ1dCB0aGUgc2VjcmV0YXJ5IHN1Z2dlc3RlZCB0aGF0IHNvbWV0aW1lcwoJdGhlcmUgaXMgbm90IGVub3VnaCBsZWZ0IHRvIHJldHJpZXZlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyYXRjaGluZyBiZW5lYXRoIHRoZSBjb3VudGVyIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGRlY2lkZWQgdGhhdCB3YXMgaGlzIHNpZ25hbCB0byBsZWF2ZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZWF2ZSB0aGUgbWFpbiBvZmZpY2UtJmd0O1J5YW4gQ2hhcHRlciBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDQiIG5hbWU9IlJ5YW4gQ2hhcHRlciBTdW1tYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNDkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5DaGFwdGVyQ29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE1haW4gSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIFNjb290IGFuZCByZWFjaCBob21lcm9vbSZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0NoYXB0ZXIgVHdvIENvbXBsZXRlJmx0Oy9kaXYmZ3Q7CgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7UnlhbiBHcnVibGVyJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtXaGF0IFJ5YW4gS25vd3MmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsZWZ0IHRoZSBtYWluIG9mZmljZSB3aXRob3V0IHJlY2VpdmluZyBkZXRlbnRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGRpZCBub3QgcXVhbGlmeSBhcyBhIHZpY3RvcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBxdWFsaWZpZWQgYXMgc3Vydml2aW5nIHRoZSBvcGVuaW5nIG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGFsbHdheSBvdXRzaWRlIHRoZSBvZmZpY2UgaGFkIGZpbGxlZCB3aXRoIHN0dWRlbnRzLiBMb2NrZXJzCglvcGVuZWQuIFNob2VzIHN0cnVjayB0aGUgdGlsZS4gVm9pY2VzIGJvdW5jZWQgYWdhaW5zdCB0aGUgY2VpbGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yZGluYXJ5IHNjaG9vbCBub2lzZSBzdXJyb3VuZGVkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4ga2VwdCB0aGUgaGVsbWV0IG9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9yZGluYXJ5IG5vaXNlcyBkaWQgbm90IGVyYXNlIHRoZSBydWxlcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCBjaGFwdGVyLXN1bW1hcnktY2x1ZXMmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J5YW4mIzM5O3MgY29uZmlybWVkIGRpc2NvdmVyaWVzOiZsdDsvc3Ryb25nJmd0OwoJJmx0O3VsJmd0OwoJCSZsdDtsaSZndDtTb21ldGhpbmcgaGFwcGVuZWQgaW4gdGhlIGJveXMmIzM5OyBiYXRocm9vbSBhZnRlciBSeWFuIGxlZnQuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7TXIuIEFtYXJhbCBhcHBlYXJlZCBkZWVwbHkgZnJpZ2h0ZW5lZCBieSB3aGF0IGhlIGRpc2NvdmVyZWQuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7TXIuIEFtYXJhbCBkZXNjcmliZWQgaXQgb25seSBhcyDigJxldmVyeXdoZXJlLuKAnSZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1ByaW5jaXBhbCBNYXR0aGV3cyBkaWQgbm90IGtub3cgd2hvIG9yIHdoYXQgY2F1c2VkIGl0LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBsb2FkaW5nLWRvY2sgZW50cmFuY2UgaGFkIGJlZW4gc2VjdXJlZCBiZWZvcmUgc29tZW9uZSBvcGVuZWQgaXQuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHNlY3JldGFyeSB3YXJuZWQgUnlhbiB0byBnbyBvbmx5IHdoZXJlIGhlIHdhcyBhbGxvd2VkLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbk5vdGljZWRHcmVlblJpbmcmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHNlY3JldGFyeSB3ZWFycyBhIGxhcmdlIHNpbHZlciByaW5nIHdpdGggYSBncmVlbiBzdG9uZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuTm90aWNlZERvb3JCb3VuZGFyeSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgc2VjcmV0YXJ5IHN0b3BwZWQgYXQgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5IHRocmVzaG9sZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuVGVzdGVkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSB0aHJlc2hvbGQgd2FybWVkIGFuZCB0aGUgd2FpdGluZyBhcmVhIGZlbGwgc2lsZW50IHdoZW4gUnlhbiB0b3VjaGVkIGl0LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5SZXRyaWV2ZWRBcHBsZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBIGNhcnZlZCBsaW5lIGJlbmVhdGggdGhlIGNvdW50ZXIgcnVucyB0b3dhcmQgdGhlIGJyYXNzIHRocmVzaG9sZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuQXNrZWRBYm91dEFtYXJhbCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtNci4gQW1hcmFsJiMzOTtzIGJvb3RzIHdlcmUgd2V0LCBhbmQgaGlzIGNsb3RoZXMgc21lbGxlZCBvZiBkYW1wIGVhcnRoLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtNci4gQW1hcmFsIHdhcm5lZCBSeWFuIG5vdCB0byByZW1vdmUgaGlzIGhlbG1ldCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7TXIuIEFtYXJhbCB3YXJuZWQgUnlhbiBub3QgdG8gcmVtb3ZlIGhpcyBoZWxtZXQuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyB0b2xkIE1yLiBBbWFyYWwgdGhhdCBub3RoaW5nIGZvbGxvd2VkIGhpbSBhY3Jvc3MgdGhlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7UHJpbmNpcGFsIE1hdHRoZXdzIGltcGxpZWQgdGhhdCB0aGUgdGhyZXNob2xkIHByZXZlbnRzIHNvbWV0aGluZyBmcm9tIGZvbGxvd2luZy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VHdvIGZvb3Qtc2hhcGVkIGltcHJlc3Npb25zIGFwcGVhcmVkIGluIHRoZSBlbXB0eSBjYXJwZXQmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O1R3byB1bnNlZW4gZm9vdHByaW50cyBwcmVzc2VkIGludG8gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgY2FycGV0LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZXRpbWVzIHRoZXJlIGlzIG5vdCBlbm91Z2ggbGVmdCB0byBicmluZyBiYWNrJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgc2VjcmV0YXJ5IGltcGxpZWQgc29tZSBwZW9wbGUgd2hvIGNyb3NzIGZvcmJpZGRlbiBib3VuZGFyaWVzIGNhbm5vdCBiZSBmdWxseSBicm91Z2h0IGJhY2suJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1RoZSB3b29kZW4gZG9vcnN0b3AgY2FtZSBmcm9tIG91dHNpZGUgdGhlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHdvb2RlbiBibG9jayBob2xkaW5nIHRoZSBsb2FkaW5nLWRvY2sgZG9vciBvcGVuIGNhbWUgZnJvbSBvdXRzaWRlLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtSeWFuIGJyaWVmbHkgc2F3IGFub3RoZXIgZGFyayBkb29yd2F5IHdpdGggYSBicmFzcyB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O1J5YW4gbWF5IGhhdmUgc2VlbiBhbm90aGVyIHJlc3RyaWN0ZWQgZG9vcndheSBpbnNpZGUgdGhlIHNjaG9vbC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7TXIuIEFtYXJhbCB3aGlzcGVyZWQgJiMzOTthZ2FpbiYjMzk7IGFzIFJ5YW4gbGVmdCB0aGUgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0O2xpJmd0O01yLiBBbWFyYWwgaW1wbGllZCB0aGF0IHRoZSBiYXRocm9vbSBpbmNpZGVudCBtYXkgaGF2ZSBoYXBwZW5lZCBiZWZvcmUuJmx0Oy9saSZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy91bCZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7c3RhdHVzLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1RocmVhdHMgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgJHJ5YW5UaHJlYXRzLmxlbmd0aAombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtzdGF0dXMtcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZXMgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgJHJ5YW5SdWxlcy5sZW5ndGgKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5sZW5ndGggJmd0Oz0gMTImZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBoYWQgY29sbGVjdGVkIGVub3VnaCBzZXBhcmF0ZSBvYnNlcnZhdGlvbnMgdG8gZm9ybSBhIHdvcmtpbmcKCQl0aGVvcnkuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgYmF0aHJvb20gaW5jaWRlbnQsIGxvYWRpbmctZG9jayBlbnRyYW5jZSwgc2VjcmV0YXJ5JiMzOTtzIHJpbmcsCgkJYW5kIHByaW5jaXBhbCYjMzk7cyB0aHJlc2hvbGQgd2VyZSBjb25uZWN0ZWQgYnkgcnVsZXMgb2YgZW50cnkgYW5kCgkJcGVybWlzc2lvbi4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSB0aGVvcnkgZGlkIG5vdCBleHBsYWluIHdoYXQgaGFkIGVudGVyZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBleHBsYWluZWQgd2h5IHRoZSBhZHVsdHMgd2VyZSBhZnJhaWQgaXQgbWlnaHQgbGVhdmUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRyeWFuRXZpZGVuY2UubGVuZ3RoICZndDs9IDcmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBoYWQgc2V2ZXJhbCB1c2VmdWwgb2JzZXJ2YXRpb25zIGJ1dCBubyBleHBsYW5hdGlvbiB0aGF0CgkJY29ubmVjdGVkIGFsbCBvZiB0aGVtLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGRvb3J3YXksIHJpbmcsIGxvYWRpbmcgZW50cmFuY2UsIGFuZCBNci4gQW1hcmFsJiMzOTtzIGNvbmRpdGlvbgoJCWJlbG9uZ2VkIHRvIHRoZSBzYW1lIGJvYXJkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBzaW1wbHkgY291bGQgbm90IHNlZSB0aGUgZW50aXJlIGJvYXJkIHlldC4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4ga25ldyBzb21ldGhpbmcgdW51c3VhbCBoYWQgaGFwcGVuZWQgaW4gdGhlIGJhdGhyb29tLCBidXQgbW9zdAoJCW9mIHRoZSBkZXRhaWxzIHJlbWFpbmVkIGJleW9uZCBoaXMgcmVhY2guCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBoYWQgZmV3ZXIgY2x1ZXMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGF0IGRpZCBub3QgbWVhbiBmZXdlciB0aHJlYXRzLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBuZWVkZWQgdG8gZmluZCBTY29vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNjb290IHdvdWxkIHdhbnQgdG8ga25vdyB3aHkgUnlhbiBoYWQgYmVlbiBzdW1tb25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaWZmaWN1bHQgcGFydCB3b3VsZCBiZSBkZWNpZGluZyB3aGljaCB2ZXJzaW9uIHRvIHRlbGwgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRydWUgdmVyc2lvbiBpbnZvbHZlZCBhbiBpbXBvc3NpYmxlIGRvb3J3YXksIGEgZnJpZ2h0ZW5lZAoJY3VzdG9kaWFuLCBhIGdyZWVuIHJpbmcsIGFuIHVuZXhwbGFpbmVkIGJhdGhyb29tIGRpc2FzdGVyLCBhbmQgYSB3b3JkCgl0aGF0IHNob3VsZCBuZXZlciBkZXNjcmliZSBhbnl0aGluZyBpbiBhIGJhdGhyb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnl3aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gYWRqdXN0ZWQgaGlzIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gaW5zaWRlIHRoZSBuZWFyZXN0IHdhbGwgY2FtZSB0aHJlZSBldmVubHkgc3BhY2VkIGtub2Nrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSBlbHNlIGluIHRoZSBoYWxsd2F5IHJlYWN0ZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1J5YW4gaGVhcmQgdGhyZWUga25vY2tzIGluc2lkZSB0aGUgaGFsbHdheSB3YWxsIGFmdGVyIGxlYXZpbmcgdGhlIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBteXN0ZXJ5IG1heSBleHRlbmQgYmV5b25kIHRoZSBvZmZpY2UgYm91bmRhcnkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG8gQ2hhcHRlciBUaHJlZS0mZ3Q7Q2hhcHRlciAzIFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwNSIgbmFtZT0iUnlhbiBBc2tzIEFib3V0IHRoZSBMb2FkaW5nIERvb3IiIHRhZ3M9IiIgcG9zaXRpb249IjEwMjUsNDgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXYXMgdGhlIGxvYWRpbmctZG9jayBkb29yIG9wZW5lZCBmb3IgbWU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHN0b3BwZWQgc29ydGluZyBoZXIgcGFwZXJ3b3JrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdobyBwcm9wcGVkIGl0IG9wZW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObyBvbmUgd2hvIHdhcyBwZXJtaXR0ZWQgdG8gZG8gc28uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgaXQgTXIuIEFtYXJhbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBzaGlmdGVkIGFnYWluc3QgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBsb29rZWQgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXIuIEFtYXJhbCBjbG9zZWQgdGhlIGRvb3IgbGFzdCBuaWdodC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hvdyBkbyB5b3Uga25vdz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hlIHdhcyBpbnN0cnVjdGVkIHRvIGNsb3NlIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBkb2VzIG5vdCBwcm92ZSBoZSBkaWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCBiYWNrIGF0IFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVyZSBhcmUgZWFzaWVyIGNoaWxkcmVuIHRvIHNwZWFrIHdpdGguJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTt2ZSBiZWVuIHRvbGQgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0ZyZXF1ZW50bHksIEkgaW1hZ2luZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gYWNjZXB0ZWQgdGhhdCBhcyBhIHBvaW50IGZvciB0aGUgb3Bwb3Npbmcgc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyB0aGUgd29vZGVuIGJsb2NrIGFscmVhZHkgaW5zaWRlIHRoZSBzY2hvb2w/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5JiMzOTtzIGV4cHJlc3Npb24gY2hhbmdlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2hvZXZlciBvcGVuZWQgdGhlIGRvb3IgYnJvdWdodCBpdCB3aXRoIHRoZW0uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYWJvdmUgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5IGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09yIGZvdW5kIGl0IGFmdGVyIGVudGVyaW5nLCZxdW90OyB0aGUgc2VjcmV0YXJ5IHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNvbnNpZGVyZWQgdGhlIG9yZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVG8gcHJvcCBvcGVuIHRoZSBkb29yIGZyb20gaW5zaWRlLCBzb21lb25lIGZpcnN0IGhhZCB0byBlbnRlciBhCglzZWN1cmVkIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVW5sZXNzIHRoZSBkb29yIGhhZCBvcGVuZWQgZm9yIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgYW55dGhpbmcgZWxzZSBmb3VuZCBuZWFyIHRoZSBlbnRyYW5jZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgcmVzdW1lZCBzb3J0aW5nIHBhcGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzaG91bGQgZ28gdG8gY2xhc3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGFuIGFuc3dlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGxvYWRpbmctZG9jayBkb29yIHdhcyBwcm9wcGVkIG9wZW4gd2l0aG91dCBwZXJtaXNzaW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd29vZGVuIGRvb3JzdG9wIGNhbWUgZnJvbSBvdXRzaWRlIHRoZSBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCByZXBvcnRlZGx5IGNsb3NlZCB0aGUgbG9hZGluZy1kb2NrIGRvb3IgdGhlIHByZXZpb3VzIG5pZ2h0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgd291bGQgbm90IGlkZW50aWZ5IHdobyBvcGVuZWQgdGhlIGxvYWRpbmctZG9jayBkb29yJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtFdmlkZW5jZTombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCByZXBvcnRlZGx5IHNlY3VyZWQgdGhlIGRvb3IsIGFuZAoJdGhlIHdvb2RlbiBibG9jayBob2xkaW5nIGl0IG9wZW4gY2FtZSBmcm9tIG91dHNpZGUgdGhlIHNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUnlhbiB0dXJuZWQgdG93YXJkIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVoaW5kIGhpbSwgdGhlIHNlY3JldGFyeSBhZGRlZCBvbmUgZmluYWwgc3RhdGVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIHdhaXRpbmcgYmVzaWRlIHRoZSBkb29yLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBibG9jaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgZGlkIG5vdCBhbnN3ZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIG1haW4gb2ZmaWNlLSZndDtSeWFuIENoYXB0ZXIgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTA2IiBuYW1lPSJDaGFwdGVyIDMgVHJhbnNpdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDUwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtLZXZpbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O091dHNpZGUgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7V2FsayBBYmJpZSB0byBzY2hvb2wgYW5kIHJlYWNoIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBPbmUmbHQ7L2RpdiZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1udW1iZXImcXVvdDsmZ3Q7Q2hhcHRlciBUaHJlZSZsdDsvZGl2Jmd0OwoJJmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O0tldmluIFdpbmNoZXN0ZXImbHQ7L2gxJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O0p1c3QgTXkgQnJhaW4gRG9pbmcgdGhlIFRoaW5nIEl0IERvZXMmbHQ7L2RpdiZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtJbW1lZGlhdGUgb2JqZWN0aXZlOiZsdDsvc3Ryb25nJmd0OwoJCSZsdDtzcGFuJmd0O1dhbGsgQWJiaWUgdG8gZWxlbWVudGFyeSBzY2hvb2wgd2l0aG91dCBhdHRyYWN0aW5nIGF0dGVudGlvbiwgdGhlbiByZWFjaCB0aGUgbWlkZGxlIHNjaG9vbCBiZWZvcmUgS2V2aW4mIzM5O3MgZmlyc3QgY2xhc3MuJmx0Oy9zcGFuJmd0OwoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3Bvdi1ub3RpY2UmcXVvdDsmZ3Q7CglZb3UgYXJlIG5vdyBwbGF5aW5nIGFzICZsdDtzdHJvbmcmZ3Q7S2V2aW4mbHQ7L3N0cm9uZyZndDsuIEtldmluIGRvZXMgbm90IGtub3cKCXdoYXQgaGFwcGVuZWQgaW5zaWRlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLiBSeWFuIGRvZXMgbm90IGtub3cgd2hhdAoJaGFwcGVuZWQgaW5zaWRlIHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglXaGlsZSBSeWFuIEdydWJsZXIgd2FzIGxlYXJuaW5nIHRoYXQgc29tZSBzY2hvb2wgcnVsZXMgc291bmRlZCBvbGRlcgoJdGhhbiB0aGUgc2Nob29sIGl0c2VsZiwgS2V2aW4gV2luY2hlc3RlciB3YXMgdHJ5aW5nIHRvIHB1dCBkaXN0YW5jZQoJYmV0d2VlbiBoaW1zZWxmIGFuZCB0aGUgd2V0IGZvb3RwcmludCBpbiBoaXMgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBteXN0ZXJpZXMgaGFkIGJlZ3VuIHRoYXQgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5laXRoZXIgYm95IGtuZXcgdGhlIG90aGVyIGhhZCBhbHJlYWR5IHN0ZXBwZWQgaW50byBvbmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbR2V0IEtldmluIGFuZCBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlLSZndDtLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDciIG5hbWU9IktldmluIEFjY2VwdHMgdGhlIE1vcm5pbmcgUGxhbiIgdGFncz0iIiBwb3NpdGlvbj0iMTAwLDExNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7T2theSwmcXVvdDsgS2V2aW4gc2FpZC4gJnF1b3Q7SSB3YWxrIHlvdSB0byBzY2hvb2wuIE1vbSBwaWNrcyB5b3UgdXAuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBub2RkZWQuICZxdW90O1RoYXQgaXMgd2hhdCB0aGUgbm90ZSBzYWlkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB3YXMgc3VtbWFyaXppbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgbWFkZSBpdCBzaG9ydGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyB3aGF0IHN1bW1hcml6aW5nIG1lYW5zLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBsaWtlZCBNb20mIzM5O3MgdmVyc2lvbiBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzbGlwcGVkIHRoZSBub3RlIGludG8gaGlzIGJhY2twYWNrLiBXYWxraW5nIEFiYmllIHRvIHNjaG9vbAoJd291bGQgZGlzcnVwdCB0aGUgcGxhbiwgYnV0IHBsYW5zIGNvdWxkIGJlIHJldmlzZWQuIFRoYXQgd2FzIHRoZQoJZGlmZmVyZW5jZSBiZXR3ZWVuIGEgcGxhbiBhbmQgYSBkaXNhc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0IGxlYXN0LCBLZXZpbiBob3BlZCB0aGVyZSB3YXMgYSBkaWZmZXJlbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbWVudGFsbHkgcmVhcnJhbmdlZCB0aGUgbW9ybmluZzogZWxlbWVudGFyeSBzY2hvb2wsIG1pZGRsZSBzY2hvb2wsCglob21lcm9vbSwgbG9ja2VyLCBiYXRocm9vbSwgY2FmZXRlcmlhLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxvY2tlciByZW1haW5lZCB0aGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBteXN0ZXJpb3VzIGhhbGx3YXkgZmlndXJlIGhhZCBzb21laG93IG1vdmVkIGludG8gc2Vjb25kIHBsYWNlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUdob3N0cyB3ZXJlIGJhZC4mbHQ7YnImZ3Q7CglFbnRlcmluZyBob21lcm9vbSBsYXRlIG1pZ2h0IGJlIHdvcnNlLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgdGhlIHRpbWUtJmd0O0tldmluIENoZWNrcyBIaXMgV2F0Y2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwOCIgbmFtZT0iS2V2aW4gVHJpZXMgdG8gSHVycnkgQWJiaWUiIHRhZ3M9IiIgcG9zaXRpb249IjIyNSwxMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1dlIG5lZWQgdG8gbGVhdmUgbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgY2VyZWFsIGN1cGJvYXJkLiAmcXVvdDtJIGRpZG4mIzM5O3QgZWF0IGJyZWFrZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjYW4gZWF0IGZhc3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNb20gc2F5cyBlYXRpbmcgZmFzdCBnaXZlcyB5b3UgdGhlIGhpY2N1cHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIGhpY2N1cCB3aGlsZSB3YWxraW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RhcmVkIGF0IGhpbSBhcyB0aG91Z2ggaGUgaGFkIHN1Z2dlc3RlZCBjYXJyeWluZyB0aGUga2l0Y2hlbgoJdGFibGUgdG8gc2Nob29sLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGNhbiYjMzk7dCBlYXQgY2VyZWFsIHdoaWxlIHdhbGtpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgY291bGQgZWF0IHNvbWV0aGluZyBlbHNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2VyZWFsIGlzIHdoYXQgbXkgc3RvbWFjaCBwaWNrZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIHRvd2FyZCB0aGUgaGFsbHdheS4gSXQgcmVtYWluZWQgcXVpZXQsIHdhcm0sIGFuZAoJaW5ub2NlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyBiZWNvbWluZyBvbmUgb2YgdGhlIGhvdXNlJiMzOTtzIGxlc3MgY29udmluY2luZyBwZXJmb3JtYW5jZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGaW5lLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtCdXQgZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4gJnF1b3Q7RmFzdCBjZXJlYWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc2FpZCBpdCBsaWtlIGEgbmV3IHNwb3J0IGhhZCBqdXN0IGJlZW4gaW52ZW50ZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgaG93IGxhdGUgdGhleSBhcmUtJmd0O0tldmluIENoZWNrcyBIaXMgV2F0Y2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwOSIgbmFtZT0iS2V2aW4gQXNrcyBBYm91dCB0aGUgTm90ZSBEYXRlIiB0YWdzPSIiIHBvc2l0aW9uPSI1MCwxMzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0RpZCB0aGUgZGF0ZSBsb29rIHN0cmFuZ2UgdG8geW91PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdG9vayB0aGUgbm90ZSBiYWNrIGFuZCBoZWxkIGl0IHVwc2lkZSBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUdXJuIGl0IGFyb3VuZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSByb3RhdGVkIHRoZSBwYXBlci4gJnF1b3Q7U3RpbGwgbm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgZWlnaHQgY2hhbmdlZCBmb3IgYSBzZWNvbmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDaGFuZ2VkIGludG8gd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1R3byBsaW5lcy4gTGlrZSB0aGUgUm9tYW4gbnVtZXJhbCB0d28uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBleGFtaW5lZCB0aGUgZGF0ZSBtb3JlIGNsb3NlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSB0aGUgZWlnaHQgZ290IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TnVtYmVycyBkb24mIzM5O3QgZ2V0IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgdGhhdCBvbmUgZG9lcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgdGhlIG5vdGUgZnJvbSBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZWlnaHQgd2FzIHN0aWxsIGFuIGVpZ2h0LiBCbHVlIGluay4gVHdvIGNpcmNsZXMuIE5vdGhpbmcgdW51c3VhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gQWJiaWUgcG9pbnRlZCB0b3dhcmQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01vbSBmb3Jnb3Qgc29tZXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NoZSBkaWRuJiMzOTt0IHB1dCBhbnkga2lzc2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZC4gTW9tIHVzdWFsbHkgZW5kZWQgbm90ZXMgd2l0aCB0aHJlZSBzbWFsbCBYIG1hcmtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyBvbmUgZW5kZWQgYWZ0ZXIgaGVyIG5hbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGRpZCBub3QgbWVhbiBhbnl0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhIHJ1c2hlZCBub3RlIHdyaXR0ZW4gYmVmb3JlIGEgam9iIGludGVydmlldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGRlZCB0aGUgcGFwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGcm9tIGluc2lkZSB0aGUgZm9sZCBjYW1lIHRocmVlIGZhaW50IHRhcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBuZWFybHkgZHJvcHBlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhZCBhbHJlYWR5IHR1cm5lZCB0b3dhcmQgdGhlIGNlcmVhbCBjdXBib2FyZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGRhdGUgb24gTW9tJiMzOTtzIG5vdGUgYnJpZWZseSByZXNlbWJsZWQgSUkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O01vbSYjMzk7cyBub3RlIHdhcyBtaXNzaW5nIGhlciB1c3VhbCB0aHJlZSBYIG1hcmtzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gZGV0YWlsOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiB0aG91Z2h0IHRoZSBmaW5hbCBkaWdpdCBpbgoJMTk3OCBicmllZmx5IGNoYW5nZWQgaW50byBJSS4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIHRoZSB0aW1lLSZndDtLZXZpbiBDaGVja3MgSGlzIFdhdGNoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTAiIG5hbWU9IktldmluIEpva2VzIEFib3V0IHRoZSBQbGFuIiB0YWdzPSIiIHBvc2l0aW9uPSIyNTAsMTMyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXZWxsLCB0aGF0JiMzOTtzIGl0LCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtNeSBsaWZlIGlzIHJ1aW5lZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllJiMzOTtzIGV5ZXMgd2lkZW5lZC4gJnF1b3Q7QmVjYXVzZSB5b3UgaGF2ZSB0byB3YWxrIHdpdGggbWU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDb21wbGV0ZWx5IHJ1aW5lZC4gSSYjMzk7bGwgcHJvYmFibHkgaGF2ZSB0byBtb3ZlIGFnYWluLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UganVzdCBtb3ZlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4YWN0bHkuIE5vdyB3ZSBrbm93IGhvdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnNpZGVyZWQgdGhpcyBsb25nZXIgdGhhbiBLZXZpbiBleHBlY3RlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjYW4mIzM5O3QgbW92ZSB3aXRob3V0IHVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSYjMzk7bGwgc2VuZCBwb3N0Y2FyZHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTtsbCB0ZWxsIE1vbS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNtaWxlZCBkZXNwaXRlIGhpbXNlbGYuICZxdW90O0l0IHdhcyBhIGpva2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwb2ludGVkIGF0IGhpbS4gJnF1b3Q7QmFkIGpva2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGYWlyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgdGhlIGtpdGNoZW4gZmVsdCBub3JtYWwgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBsYW1wIGluIHRoZSBoYWxsd2F5IGNsaWNrZWQgb2ZmLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBLZXZpbiBub3IgQWJiaWUgaGFkIHRvdWNoZWQgdGhlIHN3aXRjaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgaXQuICZxdW90O1lvdXIgam9rZSBtYWRlIGl0IHNhZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIHNtaWxlIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QXBwYXJlbnRseSwgZXZlcnlvbmUgaXMgYSBjcml0aWMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBoYWxsd2F5IGxhbXAgc3dpdGNoZWQgb2ZmIGR1cmluZyBLZXZpbiYjMzk7cyBqb2tlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIGhvdyBtdWNoIHRpbWUgcmVtYWlucy0mZ3Q7S2V2aW4gQ2hlY2tzIEhpcyBXYXRjaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTExIiBuYW1lPSJLZXZpbiBDaGVja3MgSGlzIFdhdGNoIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDAsMTUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSBob3cgbGF0ZSBLZXZpbiBhbmQgQWJiaWUgYXJlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByYWlzZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpZ2l0YWwgZGlzcGxheSB3YXMgYmxhbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgZGltLiBOb3QgZmxhc2hpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCbGFuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHByZXNzZWQgdGhlIHRvcCBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHJlc3NlZCBpdCBhZ2FpbiwgaGFyZGVyLCBiZWNhdXNlIGVsZWN0cm9uaWNzIHNvbWV0aW1lcyByZXNwb25kZWQKCXRvIHBlcnNpc3RlbmNlIGFuZCBzb21ldGltZXMgdG8gdGhyZWF0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0aWxsIG5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2F0Y2ggaGFkIHdvcmtlZCB3aGVuIEtldmluIHdva2UgdXAuIEhlIHJlbWVtYmVyZWQgY2hlY2tpbmcgaXQKCWJlZm9yZSBnZXR0aW5nIGRyZXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgY2hlY2tlZCBpdCBhZ2FpbiBhZnRlciBwYWNraW5nIGhpcyBub3RlYm9va3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgcHJvYmFibHkgY2hlY2tlZCBpdCBzaXggYWRkaXRpb25hbCB0aW1lcyBmb3Igbm8gdXNlZnVsIHJlYXNvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIHdoYXQgd2F0Y2hlcyB3ZXJlIGZvci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgcHJvdmlkZWQgc21hbGwsIHByZWNpc2UgbnVtYmVycyB3aXRoIHdoaWNoIGEgcGVyc29uIGNvdWxkIG1lYXN1cmUKCWhvdyBxdWlja2x5IGV2ZXJ5dGhpbmcgd2FzIGdvaW5nIHdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHJlc3NlZCBib3RoIGJ1dHRvbnMgdG9nZXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIGZsYXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmbHQ7c3Ryb25nJmd0Ozk6MTQmbHQ7L3N0cm9uZyZndDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBudW1iZXJzIHJlbWFpbmVkIGZvciBsZXNzIHRoYW4gYSBzZWNvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBkaXNwbGF5IHdlbnQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNvdWxkIG5vdCBiZSA5OjE0LiBJZiBpdCB3ZXJlLCB0aGUgZmlyc3Qgc2Nob29sIGRheSBoYWQgYWxyZWFkeQoJYmVjb21lIGFuIGFkbWluaXN0cmF0aXZlIGVtZXJnZW5jeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1BlcmZlY3QsJnF1b3Q7IEtldmluIG11dHRlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZHJhZ2dlZCBhIGNoYWlyIHRvd2FyZCB0aGUgY2VyZWFsIGN1cGJvYXJkLiAmcXVvdDtXaGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXkgd2F0Y2ggaXMgZGVhZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3UgdGVsbCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgdGhpbmsgaXQga25vd3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJG5vdGljZWRGcm96ZW5UaW1lID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBkaXNwbGF5ZWQgOToxNCBhbmQgZmFpbGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBicmllZmx5IGRpc3BsYXllZCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGJyaWVmbHkgZGlzcGxheWVkIDk6MTQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgY2xvY2sgYWJvdmUgdGhlIHN0b3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgdGhlIHdhdGNoIGhhZCBmYWlsZWQsIHRoZSBraXRjaGVuIGNsb2NrIGNvdWxkIHByb3ZpZGUgYmFja3VwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpdGNoZW4gY2xvY2sgcHJvdmlkZWQgc29tZXRoaW5nIGVsc2UuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUga2l0Y2hlbiBjbG9jay0mZ3Q7VGhlIEtpdGNoZW4gQ2xvY2sgU3RvcHNdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTIiIG5hbWU9IlRoZSBLaXRjaGVuIENsb2NrIFN0b3BzIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDAsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgYm90aCBjbG9ja3Mgc2hvdyB0aGUgc2FtZSB0aW1lJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUga2l0Y2hlbiBjbG9jayB3YXMgcm91bmQsIHdvb2RlbiwgYW5kIG9sZCBlbm91Z2ggdG8gbG9vayBhcyB0aG91Z2gKCWl0IGhhZCBjb21lIHdpdGggdGhlIGhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIHdvdWxkIGhhdmUgY2hvc2VuIGl0IHZvbHVudGFyaWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIGhhbmRzIHBvaW50ZWQgdG8gOToxNC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgaGlzIHdhdGNoIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmVlbiByZW1haW5lZCBibGFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YWxsIGNsb2NrJiMzOTtzIHNlY29uZCBoYW5kIGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZyaWdlcmF0b3IgaHVtbWVkLiBBYmJpZSYjMzk7cyBjaGFpciBzY3JhcGVkIGFjcm9zcyB0aGUgZmxvb3IuIEEKCWNhciBwYXNzZWQgb3V0c2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjbG9jayByZW1haW5lZCBmcm96ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgaGFuZCB3YXMgbm90IHN0dWNrIGJldHdlZW4gbWFya3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbWlzc2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHNlYXJjaGVkIHRoZSBjbG9jayBmYWNlLCB0aGUgbmFycm93IHdvb2RlbiByaW0sIGFuZCB0aGUgZmxvb3IKCWJlbmVhdGggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBzZWNvbmQgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgdGhlIGhvdXIgYW5kIG1pbnV0ZSBoYW5kcyByZW1haW5lZCwgcG9pbnRpbmcgdG93YXJkIGEgdGltZSB0aGF0CgloYWQgbm90IGhhcHBlbmVkIHlldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGNsb2NrIHRpY2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzaGFycCBtZWNoYW5pY2FsIHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhhbmRzIGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgdGljayBjYW1lIGZyb20gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTYW1lIHJoeXRobS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNhbWUgZHJ5IGNsaWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhhbGx3YXkgd2FzIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUga2l0Y2hlbiBjbG9jayBzdG9wcGVkIGF0IDk6MTQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCBhbmQgbG9zdCBpdHMgc2Vjb25kIGhhbmQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYWpvciBjbHVlOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiYjMzk7cyB3YXRjaCBhbmQgdGhlIGtpdGNoZW4gY2xvY2sgYm90aAoJZGlzcGxheWVkIDk6MTQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCURlYWQgd2F0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdG9wcGVkIGNsb2NrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIG1pc3Npbmcgc2Vjb25kIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBleHBsYWluIGVhY2ggZGV0YWlsIHNlcGFyYXRlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlmZmljdWx0eSB3YXMgZXhwbGFpbmluZyB3aHkgdGhleSBoYWQgY2hvc2VuIHRoZSBzYW1lIG1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gaW50ZXJwcmV0IHRoZSBwYXR0ZXJuPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FjY2VwdCB0aGF0IHRoZSBldmVudHMgbWF5IGJlIGNvbm5lY3RlZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFjY2VwdHMgdGhlIFBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VHJlYXQgdGhlIGZhaWx1cmVzIGFzIHVucmVsYXRlZCBtYWxmdW5jdGlvbnMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUmVmdXNlcyB0aGUgUGF0dGVybiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgQWJiaWUgd2hldGhlciBzaGUgbm90aWNlZCB0aGUgc3RvcHBlZCBjbG9jay4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2xvY2smcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCB3aGV0aGVyIHRoZSBjbG9jayByZWFjdHMgd2hlbiBzcG9rZW4gdG8uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRlc3RzIHRoZSBDbG9jayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTMiIG5hbWU9IktldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIENsb2NrIiB0YWdzPSIiIHBvc2l0aW9uPSI2NTAsOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0FiYmllLCBkaWQgeW91IG5vdGljZSB0aGUgY2xvY2sgc3RvcHBlZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBsb29rZWQgYXQgdGhlIHN0b3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgaXQgZ290IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2xvY2tzIGRvbiYjMzk7dCBnZXQgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSB0aGF0IG9uZSBkb2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXMgc2hvd2luZyA5OjE0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3F1aW50ZWQuICZxdW90O0lzIHRoYXQgYmFkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXNuJiMzOTt0IDk6MTQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHRoZSBjbG9jayBpcyB3cm9uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1llcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dvb2QuIFdlIHNvbHZlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgbGFtcC4gVGhlbiBhdCB0aGUgY2xvY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgbm93IGFzc2lnbmVkIGZlZWxpbmdzIHRvIG9uZSBob3VzZWhvbGQgb2JqZWN0IGFuZCBkZWNsYXJlZAoJYW5vdGhlciBteXN0ZXJ5IHJlc29sdmVkIGJ5IHJlc3RhdGluZyB0aGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBiZWNvbWluZyBpbmNyZWFzaW5nbHkgY29uY2VybmVkIHRoYXQgdGhlIGhvdXNlIG1pZ2h0IGNvbnNpZGVyCgloZXIgcmVhc29uaW5nIGFjY2VwdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGhlYXIgaXQgdGljaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHRoZSBmaXJzdCB0aW1lIHRoYXQgbW9ybmluZywgaGVyIGV4cHJlc3Npb24gYmVjYW1lIGRpZmZpY3VsdCB0bwoJcmVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhbnN3ZXIgY2FtZSB0b28gcXVpY2tseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGNsb2NrIHRpY2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIGhhbGx3YXkgaW5zdGVhZCBvZiB0aGUgY2xvY2suCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgaGFsbHdheSB3aGVuIHRoZSBzdG9wcGVkIGNsb2NrIHRpY2tlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3RvcHBlZCBjbG9jayB0aWNrZWQsIGFuZAoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgaGFsbHdheS4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTQiIG5hbWU9IktldmluIFRlc3RzIHRoZSBDbG9jayIgdGFncz0iIiBwb3NpdGlvbj0iMzc1LDE1NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gc3Rvb2QgYmVuZWF0aCB0aGUga2l0Y2hlbiBjbG9jay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NhbiB5b3UgaGVhciBtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBhdCBoaW0uICZxdW90O0kgY2FuLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90IHlvdS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dobz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBvaW50ZWQgdXB3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGNsb2NrPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhpcyBpcyBhIHRlc3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBub2RkZWQgYXMgdGhvdWdoIHNwZWFraW5nIHRvIGNsb2NrcyBiZWxvbmdlZCBzb21ld2hlcmUgd2l0aGluCgl0aGUgbm9ybWFsIHJhbmdlIG9mIEtldmluIGJlaGF2aW9yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZmFjZWQgdGhlIHdvb2RlbiBjbG9jay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0lmIHlvdSBjYW4gaGVhciBtZSwgdGljayBvbmNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbGVhc2VkIGhpcyBicmVhdGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3aGlzcGVyZWQsICZxdW90O01heWJlIHlvdSBoYXZlIHRvIHNheSBwbGVhc2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFyZWQgYXQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNsb2NrIHRpY2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzaGFycCBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4gJnF1b3Q7SXQgYWdyZWVzIHdpdGggbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOZXcgcnVsZS4gV2UgZG9uJiMzOTt0IHRhbGsgdG8gdGhlIGNsb2NrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhbGwgY2xpY2tlZCB0d2ljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNvdW5kZWQgYWxtb3N0IGxpa2UgYW4gb2JqZWN0aW9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgc3RvcHBlZCBjbG9jayBhcHBlYXJlZCB0byByZXNwb25kIHRvIEtldmluJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc3RvcHBlZCBjbG9jayB0aWNrZWQgYWZ0ZXIgS2V2aW4gYWRkcmVzc2VkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBzcG9rZSB0byB0aGUga2l0Y2hlbiBjbG9jayBhbmQgaXQgdGlja2VkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtFeHBlcmltZW50IHJlY29yZGVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3RvcHBlZCBjbG9jayB0aWNrZWQgYWZ0ZXIKCUtldmluIHNwb2tlIHRvIGl0LgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU3RvcCB0ZXN0aW5nIHRoZSBob3VzZS0mZ3Q7QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTE1IiBuYW1lPSJLZXZpbiBUYWtlcyB0aGUgT2xkIEJ1dHRvbiIgdGFncz0iIiBwb3NpdGlvbj0iMTQwMCwxNDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHBpY2tlZCB1cCB0aGUgYnV0dG9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGNvbGRlciB0aGFuIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJ1YmJlZCBvbmUgdGh1bWIgYWNyb3NzIGl0cyBzdXJmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBmYWludCBtYXJrIGhhZCBiZWVuIGN1dCBpbnRvIHRoZSBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIGNyb3NzaW5nIHNjcmF0Y2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIFguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciBkYW1hZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciBvbmUgbW9yZSB0aGluZyBoaXMgYnJhaW4gaGFkIGRlY2lkZWQgdG8gdHVybiBpbnRvIGV2aWRlbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2xpcHBlZCB0aGUgYnV0dG9uIGludG8gaGlzIHBvY2tldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyB0YXBwZWQgYWdhaW5zdCB0aGUgdW5kZXJzaWRlIG9mIHRoZSBoYWxsd2F5IHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNhbWUgZnJvbSB0aGUgZXhhY3QgcGxhY2Ugd2hlcmUgdGhlIGJ1dHRvbiBoYWQgYmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgYmVuZWF0aCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgcmVtYWluZWQgZXhjZXB0IGR1c3QgYW5kIHRoZSBwaWVjZSBvZiBmYWRlZCB3YWxscGFwZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0l0ZW0gY29sbGVjdGVkOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBpcyBjYXJyeWluZyBhbiBvbGQgd29vZGVuCglidXR0b24gbWFya2VkIHdpdGggdHdvIGNyb3NzaW5nIHNjcmF0Y2hlcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGludmVzdGlnYXRpbmctJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTE2IiBuYW1lPSJLZXZpbiBMZWF2ZXMgdGhlIE9sZCBCdXR0b24iIHRhZ3M9IiIgcG9zaXRpb249IjE2NTAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWZ0IHRoZSBidXR0b24gYmVuZWF0aCB0aGUgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQgb2JqZWN0IGZvdW5kIGluc2lkZSBhbiBvbGQgaG91c2UgZGlkIG5vdCBhdXRvbWF0aWNhbGx5IGJlY29tZQoJYSBjbHVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgaG93IG15c3RlcmllcyBiZWNhbWUgaW1wb3NzaWJsZSB0byBzb2x2ZS4gRXZlcnl0aGluZyBsb29rZWQKCWltcG9ydGFudCB1bnRpbCB0aGUgcmVhbCBldmlkZW5jZSBkaXNhcHBlYXJlZCBiZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3Rvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnV0dG9uIHJvbGxlZCBvdXQgZnJvbSBiZW5lYXRoIHRoZSB0YWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNyb3NzZWQgdGhlIGZsb29yIGluIGEgc2xvdyBoYWxmLWNpcmNsZSBhbmQgc3RvcHBlZCBiZXNpZGUgaGlzCglzaG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsb29yIHdhcyBsZXZlbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbnVkZ2VkIHRoZSBidXR0b24gYmFjayBiZW5lYXRoIHRoZSB0YWJsZSB3aXRoIHRoZSBwZW5jaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIHRpbWUsIGl0IHJlbWFpbmVkIHRoZXJlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgZGV0YWlsOiZsdDsvc3Ryb25nJmd0OyBUaGUgb2xkIGJ1dHRvbiByb2xsZWQgdG93YXJkIEtldmluCglhZnRlciBoZSBsZWZ0IGl0IGJlbmVhdGggdGhlIHRhYmxlLgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvbGQgd29vZGVuIGJ1dHRvbiByb2xsZWQgYWNyb3NzIHRoZSBmbG9vciB3aXRob3V0IGFuIG9idmlvdXMgY2F1c2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgaW52ZXN0aWdhdGluZy0mZ3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTciIG5hbWU9IktldmluIFRvdWNoZXMgdGhlIEhleGFmb2lsIEFnYWluIiB0YWdzPSIiIHBvc2l0aW9uPSIxNDUwLDIxMjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gcHJlc3NlZCBvbmUgZmluZ2VydGlwIHRvIHRoZSBjZW50ZXIgb2YgdGhlIGNhcnZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdmlicmF0aW9uIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHNlY29uZCwgbm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHdvb2QgcHVsc2VkIGJlbmVhdGggaGlzIGZpbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB2aWJyYXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVB1bHNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd2ljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBoaXMgaGFuZCBhd2F5IGJlZm9yZSBpdCBjb3VsZCBoYXBwZW4gYSB0aGlyZCB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjb2xkIHByZXNzdXJlIHJlbWFpbmVkIGFnYWluc3QgaGlzIGZpbmdlcnRpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZW4gaGUgbG9va2VkLCBhIGZhaW50IGNpcmN1bGFyIG1hcmsgaGFkIGFwcGVhcmVkIG9uIHRoZSBza2luLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZmFkZWQgd2hpbGUgaGUgd2F0Y2hlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhleGFmb2lsIHB1bHNlZCB3aGVuIEtldmluIHRvdWNoZWQgaXRzIGNlbnRlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgZGlzY292ZXJ5OiZsdDsvc3Ryb25nJmd0OyBUaGUgY2FydmluZyBwdWxzZWQgdHdpY2UgYW5kIGxlZnQKCWEgdGVtcG9yYXJ5IGNpcmN1bGFyIG1hcmsgb24gS2V2aW4mIzM5O3MgZmluZ2VyLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgbWFya3MgYmVuZWF0aCB0aGUgc3ltYm9sLSZndDtLZXZpbiBOb3RpY2VzIFhJXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTgiIG5hbWU9IktldmluIE1lbW9yaXplcyB0aGUgSGV4YWZvaWwiIHRhZ3M9IiIgcG9zaXRpb249IjkwMCwyMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYmFjayBhbmQgc3R1ZGllZCB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeCBwZXRhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBpcnJlZ3VsYXJpdHkgYmVuZWF0aCB0aGUgbG93ZXIgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlcGVhdGVkIHRoZSBkZXRhaWxzIHVudGlsIGhlIGNvdWxkIHBpY3R1cmUgdGhlbSB3aXRoIGhpcyBleWVzCgljbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGVuIEtldmluIG9wZW5lZCBoaXMgZXllcywgdGhlIHN5bWJvbCBsb29rZWQgZGlmZmVyZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBldGFsIGFwcGVhcmVkIGxvbmdlciB0aGFuIHRoZSBvdGhlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBldGFscyBtYXRjaGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWVtb3JpemluZyBldmlkZW5jZSB3YXMgZWFzaWVyIHdoZW4gdGhlIGV2aWRlbmNlIGFncmVlZCB0byBzdGF5IHRoZQoJc2FtZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhleGFmb2lsIGFwcGVhcmVkIHRvIGNoYW5nZSBzaGFwZSB3aGlsZSBLZXZpbiBzdHVkaWVkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IE9uZSBwZXRhbCBhcHBlYXJlZCB0byBjaGFuZ2UKCWxlbmd0aCwgdGhlbiByZXR1cm5lZCB0byBub3JtYWwuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTdHVkeSB0aGUgbWFya3MgYmVuZWF0aCB0aGUgc3ltYm9sLSZndDtLZXZpbiBOb3RpY2VzIFhJXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTkiIG5hbWU9IktldmluIFNob3dzIEFiYmllIHRoZSBIZXhhZm9pbCIgdGFncz0iIiBwb3NpdGlvbj0iMjI1LDIyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWUsIGNvbWUgYmFjay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBhcHBlYXJlZCBpbiB0aGUga2l0Y2hlbiBkb29yd2F5IHdpdGhvdXQgaGVyIGNlcmVhbCBib3dsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBub3c/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwb2ludGVkIHRvIHRoZSBjYXJ2aW5nLiAmcXVvdDtIYXZlIHlvdSBzZWVuIHRoaXMgYmVmb3JlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgYXBwcm9hY2hlZCB0aGUgc3RhaXJjYXNlIGFuZCBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBleHByZXNzaW9uIGNoYW5nZWQgZm9yIGxlc3MgdGhhbiBhIHNlY29uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJlY29nbml0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0JiMzOTtzIGEgZmxvd2VyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBraW5kPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGhvdXNlIGtpbmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgaGVyLiAmcXVvdDtXaGF0IGRvZXMgdGhhdCBtZWFuPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hydWdnZWQuICZxdW90O0l0IG1lYW5zIGl0IGJlbG9uZ3MgdG8gdGhlIGhvdXNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SG93IGRvIHlvdSBrbm93PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBpdCYjMzk7cyBpbiB0aGUgaG91c2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgYmVlbiBkZWZlYXRlZCBieSBzZWNvbmQtZ3JhZGUgbG9naWMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgcmVhY2hlZCB0b3dhcmQgdGhlIGNhcnZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgaGVyIGZpbmdlciB0b3VjaGVkIGl0LCB0aGUgYmFuaXN0ZXIgZ2F2ZSBvbmUgc2hhcnAga25vY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1J1ZGUgZmxvd2VyLCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2hlIHJldHVybmVkIHRvIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBjYWxsZWQgdGhlIGhleGFmb2lsIGEgaG91c2UgZmxvd2VyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYmFuaXN0ZXIgc3ltYm9sIGtub2NrZWQgYmVmb3JlIEFiYmllIHRvdWNoZWQgaXQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGJhbmlzdGVyIGtub2NrZWQgYmVmb3JlIEFiYmllCgl0b3VjaGVkIHRoZSBjYXJ2aW5nLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgbWFya3MgYmVuZWF0aCB0aGUgc3ltYm9sLSZndDtLZXZpbiBOb3RpY2VzIFhJXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMjAiIG5hbWU9IktldmluIFdyaXRlcyBDb21wbGV0ZSBOb3RlcyIgdGFncz0iIiBwb3NpdGlvbj0iNjI1LDE2NzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gd3JvdGU6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtldmlkZW5jZS1ub3RlcyZxdW90OyZndDsKJmx0O3VsJmd0OwombHQ7bGkmZ3Q7SGFsbHdheSBsYW1wIGZsaWNrZXJlZC4mbHQ7L2xpJmd0OwombHQ7bGkmZ3Q7Q29sZCBhaXIgaW4ga2l0Y2hlbi4mbHQ7L2xpJmd0OwombHQ7bGkmZ3Q7V2F0Y2ggYW5kIGNsb2NrOiA5OjE0LiZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtQaG90b2dyYXBoIG1pc3NpbmcuJmx0Oy9saSZndDsKJmx0Oy91bCZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJGhhbGx3YXlGaWd1cmVDb25maXJtZWQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgYWRkZWQ6ICZsdDtlbSZndDtUYWxsIGZpZ3VyZSBuZWFyIHN0YWlyY2FzZS4mbHQ7L2VtJmd0OwoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O1Bvc3NpYmxlIGZpZ3VyZSBvciBmb290c3RlcHMgbmVhciBzdGFpcmNhc2UuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgd3JvdGU6ICZsdDtlbSZndDtTaXgtcGV0YWxlZCBzeW1ib2wgY2FydmVkIGludG8gYmFuaXN0ZXIuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSB1bmRlcmxpbmVkOiAmbHQ7ZW0mZ3Q7WEkuIEVsZXZlbi4gRGFyayBzdGVwLiZsdDsvZW0mZ3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkaW5zcGVjdGVkRWxldmVudGhTdGVwJmd0OyZndDsKCSZsdDtwJmd0OwoJCUhlIGFkZGVkOiAmbHQ7ZW0mZ3Q7VGhyZWUga25vY2tzIGJlbmVhdGggc3RlcC4gUG9zc2libGUgYnJlYXRoaW5nLiZsdDsvZW0mZ3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0ZWRDbG9zZXQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgYWRkZWQ6ICZsdDtlbSZndDtXZXQtZWFydGggc21lbGwuIE1hcmtzIGJlaGluZCBjb2F0cy4gTW92aW5nIGhvb2suJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGxpc3RlbmVkTmVhclN0YWlycyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O1NjcmF0Y2hpbmcgbW92ZWQgdGhyb3VnaCB3YWxscyBpbiB0aHJlZSBwbGFjZXMuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGxlZnRTdGFpcnNBbG9uZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O0RpZCBub3QgaW52ZXN0aWdhdGUgc3RhaXJzLiBIZWFyZCBjcmVha2luZyBhZnRlcndhcmQuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJlYWQgdGhlIGxpc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbiBwYXBlciwgdGhlIGV2ZW50cyBsb29rZWQgbGVzcyBsaWtlIGFueGlldHkgYW5kIG1vcmUgbGlrZSBldmlkZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIGhhdmUgbWFkZSBoaW0gZmVlbCBiZXR0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVuZWF0aCB0aGUgZmluYWwgbGluZSwgdGhlIHBlbmNpbCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRpZ2h0ZW5lZCBoaXMgZ3JpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBub3QgaW50ZW5kZWQgdG8gd3JpdGUgYW55dGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHNtYWxsIHdvcmRzIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVdFIFNFRSBZT1UKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZHJvcHBlZCB0aGUgcGVuY2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgYmxpbmtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZW50ZW5jZSB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgYSBkYXJrIGdyYXBoaXRlIHNtZWFyIHJlbWFpbmVkIGJlbmVhdGggaGlzIG5vdGVzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBtYXkgaGF2ZSB3cml0dGVuICYjMzk7V0UgU0VFIFlPVSYjMzk7IHdpdGhvdXQgaW50ZW5kaW5nIHRvJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXcml0dGVuIHJlY29yZDombHQ7L3N0cm9uZyZndDsgS2V2aW4gZG9jdW1lbnRlZCB0aGUgbW9ybmluZywgYnV0IGFuCgl1bmludGVuZGVkIG1lc3NhZ2UgYnJpZWZseSBhcHBlYXJlZCBiZW5lYXRoIGhpcyBub3Rlcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0Nsb3NlIHRoZSBub3RlYm9vay0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyMSIgbmFtZT0iS2V2aW4gU2tldGNoZXMgdGhlIEhleGFmb2lsIiB0YWdzPSIiIHBvc2l0aW9uPSIyMDAsMjQyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBkcmV3IHRoZSBjaXJjbGUgZmlyc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNpeCBjdXJ2ZWQgcGV0YWxzIG1lZXRpbmcgaW4gdGhlIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlbmVhdGggdGhlIHN5bWJvbCwgaGUgd3JvdGU6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJWEkgPSAxMQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2tldGNoIGxvb2tlZCBhY2N1cmF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbXBhcmVkIGl0IHdpdGggdGhlIGNhcnZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3ltYm9sIGluIHRoZSBub3RlYm9vayBoYWQgc2V2ZW4gcGV0YWxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bnRlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZXJhc2VkIHRoZSBleHRyYSBwZXRhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZW4gaGUgbG9va2VkIGJhY2sgYXQgdGhlIGNhcnZpbmcsIHRoZSBoZXhhZm9pbCBzdGlsbCBoYWQgc2l4LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcmV0dXJuZWQgdG8gdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNldmVudGggcGV0YWwgaGFkIHJlYXBwZWFyZWQgYXMgYSBmYWludCBncmFwaGl0ZSBvdXRsaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2xvc2VkIHRoZSBub3RlYm9vayBiZWZvcmUgdGhlIGRyYXdpbmcgY291bGQgbWFrZSBhbm90aGVyCglkZWNpc2lvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4mIzM5O3MgaGV4YWZvaWwgc2tldGNoIHJlcGVhdGVkbHkgZGV2ZWxvcGVkIGEgc2V2ZW50aCBwZXRhbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiYjMzk7cyBzaXgtcGV0YWxlZCBkcmF3aW5nCglhcHBlYXJlZCB0byBkZXZlbG9wIGEgc2V2ZW50aCBwZXRhbC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1B1dCB0aGUgbm90ZWJvb2sgYXdheS0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyMiIgbmFtZT0iS2V2aW4gUmVjb3JkcyA5MTQiIHRhZ3M9IiIgcG9zaXRpb249IjMyNSwyNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHdyb3RlIG9ubHkgb25lIGRldGFpbDoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cgk5OjE0CiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGVub3VnaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aW1lIGNvbm5lY3RlZCB0aGUgd2F0Y2ggYW5kIHRoZSBraXRjaGVuIGNsb2NrLiBFdmVyeXRoaW5nIGVsc2UKCW1pZ2h0IGhhdmUgYmVlbiBpbWFnaW5hdGlvbiwgY29pbmNpZGVuY2UsIGZhdWx0eSB3aXJpbmcsIG9yIGEgaG91c2UKCXdpdGggYW4gdW5yZWFzb25hYmxlIGNvbW1pdG1lbnQgdG8gbWFraW5nIG1vcm5pbmdzIGRpZmZpY3VsdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHVuZGVybGluZWQgdGhlIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGVuY2lsIHRvcmUgdGhyb3VnaCB0aGUgcGFwZXIgYmVuZWF0aCB0aGUgZm91ci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uIHRoZSBuZXh0IHBhZ2UsIHRoZSBncmFwaGl0ZSBtYXJrIGNvbnRpbnVlZCBkb3dud2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuZCBvbnRvIHRoZSBwYWdlIGFmdGVyIHRoYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmbGlwcGVkIHRocm91Z2ggdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmsgbGluZSBlbmRlZCBlbGV2ZW4gcGFnZXMgbGF0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjbG9zZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGVuY2lsIG1hcmsgYmVuZWF0aCA5OjE0IGV4dGVuZGVkIHRocm91Z2ggZWxldmVuIG5vdGVib29rIHBhZ2VzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXcml0dGVuIHJlY29yZDombHQ7L3N0cm9uZyZndDsgS2V2aW4gcmVjb3JkZWQgOToxNCwgYW5kIHRoZSBmaW5hbAoJcGVuY2lsIG1hcmsgY2FycmllZCB0aHJvdWdoIGVsZXZlbiBwYWdlcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1B1dCB0aGUgbm90ZWJvb2sgYXdheS0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyMyIgbmFtZT0iS2V2aW4gVHJhY2VzIHRoZSBCdXR0b24iIHRhZ3M9IiIgcG9zaXRpb249IjE1NTAsMjMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBwbGFjZWQgdGhlIHdvb2RlbiBidXR0b24gYmVuZWF0aCB0aGUgcGFnZSBhbmQgcnViYmVkIHRoZSBzaWRlIG9mCgloaXMgcGVuY2lsIGFjcm9zcyB0aGUgcGFwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcm91bmQgZWRnZSBhcHBlYXJlZCBmaXJzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGZvdXIgY2VudHJhbCBob2xlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZpbmFsbHksIHRoZSBzY3JhdGNoZXMgY2FydmVkIGludG8gdGhlIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBleHBlY3RlZCBhbiBYLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRyYWNpbmcgcHJvZHVjZWQgc2l4IGN1cnZlZCBsaW5lcyBpbnNpZGUgYSBjaXJjbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIGZsb3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgaGV4YWZvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIHRoZSBidXR0b24gZGlyZWN0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IHR3byBjcm9zc2luZyBzY3JhdGNoZXMgbWFya2VkIHRoZSB3b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2hlY2tlZCB0aGUgdHJhY2luZyBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeCBwZXRhbHMgcmVtYWluZWQgb24gdGhlIHBhZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnV0dG9uIHdhcyBwcm9iYWJseSB1bnJlbGF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseSBoYWQgYmVjb21lIGFuIGluY3JlYXNpbmdseSB1bmhlbHBmdWwgd29yZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGJ1dHRvbiB0cmFjaW5nIHJlc2VtYmxlZCB0aGUgYmFuaXN0ZXIgaGV4YWZvaWwmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBidXR0b24gaXRzZWxmIGJlYXJzIGFuIFgsCglidXQgaXRzIHBlbmNpbCB0cmFjaW5nIHJlc2VtYmxlZCB0aGUgc2l4LXBldGFsZWQgc3ltYm9sLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUHV0IHRoZSBidXR0b24gYW5kIG5vdGVib29rIGF3YXktJmd0O1RoZSBTdGFpcmNhc2UgQ291bnRkb3duXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMjQiIG5hbWU9IktldmluIFJlamVjdHMgdGhlIE5vdGVzIiB0YWdzPSIiIHBvc2l0aW9uPSIxNjAwLDI1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gY2xvc2VkIHRoZSBub3RlYm9vayB3aXRob3V0IHdyaXRpbmcgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJZiB0aGUgbW9ybmluZyByZW1haW5lZCB1bndyaXR0ZW4sIGl0IGNvdWxkIHN0aWxsIGJlY29tZSBhIGNvbGxlY3Rpb24KCW9mIGJhZGx5IHJlbWVtYmVyZWQgbW9tZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmxpY2tlcmluZyBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBmYXVsdHkgd2F0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxvb3NlIHBpY3R1cmUgZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQgaG91c2UgbWFraW5nIG9yZGluYXJ5IG5vaXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yZGluYXJ5IGV4cGxhbmF0aW9ucyBhcnJhbmdlZCB0aGVtc2VsdmVzIG5lYXRseSBpbiBLZXZpbiYjMzk7cyBtaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzb21ldGhpbmcgc2NyYXRjaGVkIGFjcm9zcyB0aGUgbm90ZWJvb2sgY292ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBwYWxlIGxpbmUgbm93IGNyb3NzZWQgdGhlIGRhcmsgY2FyZGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY3VydmVkIG9uY2UsIHRoZW4gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYmVnaW5uaW5nIG9mIGEgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2hvdmVkIHRoZSBub3RlYm9vayBpbnRvIGhpcyBiYWNrcGFjayBiZWZvcmUgdGhlIG1hcmsgY291bGQKCWZpbmlzaC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBjdXJ2ZWQgc2NyYXRjaCBhcHBlYXJlZCBvbiB0aGUgbm90ZWJvb2sgS2V2aW4gY2hvc2Ugbm90IHRvIHVzZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgcmVqZWN0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGNyZWF0ZWQgbm8gd3JpdHRlbiByZWNvcmQsCglidXQgYSBjdXJ2ZWQgbWFyayBhcHBlYXJlZCBvbiB0aGUgbm90ZWJvb2sgY292ZXIuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tHZXQgQWJiaWUgYW5kIGxlYXZlLSZndDtUaGUgU3RhaXJjYXNlIENvdW50ZG93bl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTI1IiBuYW1lPSJLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNTE3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogRnJvbnQgUG9yY2gmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHV0IGRpc3RhbmNlIGJldHdlZW4gQWJiaWUgYW5kIHRoZSBob3VzZSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHVsbGVkIHRoZSBmcm9udCBkb29yIGNsb3NlZCBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsYXRjaCBjYXVnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjaGVja2VkIGl0IHR3aWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYXNzIGtub2IgcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB3ZXQgZm9vdHByaW50IGFwcGVhcmVkIGJlbmVhdGggdGhlIGRvb3IuIE5vIHNoYWRvdyBjcm9zc2VkIHRoZQoJZnJvc3RlZCBnbGFzcy4gTm90aGluZyBrbm9ja2VkIGZyb20gdGhlIG90aGVyIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG91c2UgaGFkIGJlY29tZSBxdWlldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBvcmRpbmFyeSBxdWlldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBraW5kIG9mIHF1aWV0IHRoYXQgc3VnZ2VzdGVkIHNvbWV0aGluZyBoYWQgc3RvcHBlZCBzcGVha2luZwoJYmVjYXVzZSBpdCB3YW50ZWQgdG8gaGVhciB3aGVyZSB0aGV5IHdlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBhZGp1c3RlZCBoZXIgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBcmUgd2UgbGF0ZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgaGlzIHdhdGNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmVlbiByZW1haW5lZCBkYXJrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgYXJlIGxlYXZpbmcsJnF1b3Q7IGhlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzbiYjMzk7dCBhIHRpbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpcyB0aGUgbW9zdCB1c2VmdWwgaW5mb3JtYXRpb24gYXZhaWxhYmxlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgYWNjZXB0ZWQgdGhpcyBhbmQgc3RhcnRlZCBkb3duIHRoZSBwb3JjaCBzdGVwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlYWNoZWQgYmFjayB0byB0ZXN0IHRoZSBkb29yIG9uZSBmaW5hbCB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGZpbmdlcnMgYnJ1c2hlZCB0aGUgcGFpbnRlZCBmcmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyBncm9vdmUgY2F1Z2h0IGJlbmVhdGggaGlzIHRodW1ibmFpbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZyb3plLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1hcmsgaGlkIGJlbmVhdGggc2V2ZXJhbCBsYXllcnMgb2Ygd2hpdGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIGNpcmNsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUN1cnZlZCBsaW5lcyBzcHJlYWRpbmcgZnJvbSBpdHMgY2VudGVyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2FtZSBzaXgtcGV0YWxlZCBzeW1ib2wgaGUgaGFkIGZvdW5kIGNhcnZlZCBpbnRvIHRoZQoJCXN0YWlyY2FzZSBiYW5pc3Rlci4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IHdhcyBub3Qgc2ltaWxhci4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IHdhcyB0aGUgc2FtZSBkZXNpZ24uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBIHdvcm4gZmxvd2VyIHdpdGggc2l4IG5hcnJvdyBwZXRhbHMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCB3YXMgdG9vIGRlbGliZXJhdGUgdG8gYmUgZGFtYWdlIGFuZCB0b28gZGVlcGx5IGJ1cmllZCBiZW5lYXRoCgkJdGhlIHBhaW50IHRvIGJlIHJlY2VudC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBmcm9udCBkb29yIHNoaWZ0ZWQgYWdhaW5zdCBLZXZpbiYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGVub3VnaCB0byBvcGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRW5vdWdoIHRvIHJlbWluZCBoaW0gdGhhdCB0aGUgbG9jayB3YXMgdGhlIG9ubHkgdGhpbmcgaG9sZGluZyBpdAoJY2xvc2VkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtldmluIHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgc3ltYm9sIGJlZm9yZSBsZWF2aW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRXhhbWluZXMgdGhlIERvb3JmcmFtZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtQdWxsIGF3YXkgYW5kIGdldCBBYmJpZSBvZmYgdGhlIHBvcmNoLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFB1bGxzIEF3YXkgZnJvbSB0aGUgRG9vciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTaG93IHRoZSBzeW1ib2wgdG8gQWJiaWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNob3dzIEFiYmllIHRoZSBEb29yZnJhbWUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2lmICRrZXZpbkhhc015c3RlcnlOb3RlcyZndDsmZ3Q7CgkJJmx0OyZsdDtsaW5rICZxdW90O1NrZXRjaCB0aGUgc3ltYm9sIGluIGhpcyBteXN0ZXJ5IG5vdGVzLiZxdW90OyZndDsmZ3Q7CgkJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZWNvcmRzIHRoZSBEb29yZnJhbWUmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyNiIgbmFtZT0iUnlhbiBBY2NlcHRzIHRoZSBGaW5hbCBSdWxlIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTUwLDM5NzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJUnlhbiBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmx5IGdvIHdoZXJlIEkgYW0gYWxsb3dlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RXhhY3RseS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gYWRkZWQgdGhlIHJ1bGUgdG8gdGhlIG90aGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVVzZSBkZXNpZ25hdGVkIGVudHJhbmNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhaXQgZm9yIHBlcm1pc3Npb24gYmVmb3JlIGNyb3NzaW5nIHN1c3BpY2lvdXMgYm91bmRhcmllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtlZXAgdGhlIGhlbG1ldCBvbiB1bnRpbCBzb21lb25lIHdpdGggYXV0aG9yaXR5IG9yZGVycyBpdHMgcmVtb3ZhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURvIG5vdCBlbnRlciBwbGFjZXMgd2l0aG91dCBrbm93aW5nIHdoZXRoZXIgdGhleSBhbGxvdyB5b3UgdG8gbGVhdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGZpbmFsIHJ1bGUgaGFkIG5vdCBiZWVuIHNwb2tlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gYWRkZWQgaXQgYW55d2F5LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtPbmx5IGdvIHdoZXJlIHlvdSBhcmUgYWxsb3dlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7RG8gbm90IGVudGVyIGEgcGxhY2Ugd2l0aG91dCBrbm93aW5nIHdoZXRoZXIgaXQgYWxsb3dzIHlvdSB0byBsZWF2ZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZSBhY2NlcHRlZDombHQ7L3N0cm9uZyZndDsgUnlhbiB3aWxsIHRyZWF0IHBlcm1pc3Npb24gYW5kCglib3VuZGFyaWVzIGFzIHBvc3NpYmxlIHNhZmV0eSBtZWFzdXJlcyByYXRoZXIgdGhhbiBvcmRpbmFyeSBzY2hvb2wKCXJ1bGVzLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglIZSB0dXJuZWQgdG93YXJkIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzcG9rZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBHcnVibGVyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHByb25vdW5jZWQgaGlzIG5hbWUgcGVyZmVjdGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvIG5vdCBsb3NlIHRoZSBoZWxtZXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgUnlhbiBjb3VsZCBhc2sgd2h5LCBzaGUgbG93ZXJlZCBoZXIgZXllcyB0byB0aGUgcGFwZXJ3b3JrLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHdhcm5lZCBSeWFuIG5vdCB0byBsb3NlIGhpcyBoZWxtZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBjb25uZWN0ZWQgUnlhbiYjMzk7cyBoZWxtZXQgd2l0aCB0aGUgb2ZmaWNlIGRhbmdlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZWF2ZSB0aGUgbWFpbiBvZmZpY2UtJmd0O1J5YW4gQ2hhcHRlciBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMjciIG5hbWU9IlJ5YW4gSWdub3JlcyB0aGUgRmluYWwgUnVsZSIgdGFncz0iIiBwb3NpdGlvbj0iNjc1LDQ1NzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJUnlhbiBjb250aW51ZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByZXRlbmRpbmcgbm90IHRvIGhlYXIgd2FzIG5vdCB0aGUgc2FtZSBhcyBkaXNvYmV5aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGEgdGVtcG9yYXJ5IHN1c3BlbnNpb24gb2YgYWNrbm93bGVkZ21lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlzdGluY3Rpb24gd2FzIGltcG9ydGFudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UnlhbiBHcnVibGVyLCZxdW90OyB0aGUgc2VjcmV0YXJ5IHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQZXJmZWN0IHByb251bmNpYXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHRvb2sgYW5vdGhlciBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhhbGx3YXkgYWhlYWQgYXBwZWFyZWQgbG9uZ2VyIHRoYW4gaXQgaGFkIHdoZW4gaGUgYXJyaXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsYXNzcm9vbSBkb29ycyBsaW5lZCBib3RoIHNpZGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHN0b29kIG9wZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXJrbmVzcyBmaWxsZWQgdGhlIHJvb20gYmV5b25kIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBicmFzcyBzdHJpcCBjcm9zc2VkIHRoZSBmbG9vciBiZW5lYXRoIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIGJhY2sgdG93YXJkIHRoZSBtYWluIG9mZmljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgcmVtYWluZWQgYmVoaW5kIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGdyZWVuIHJpbmcgcG9pbnRlZCB0b3dhcmQgdGhlIG9wZW4gY2xhc3Nyb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2xhc3Nyb29tIGRvb3Igd2FzIGNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIGJyYXNzIHN0cmlwIGNyb3NzZWQgdGhlIGhhbGx3YXkgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgaWdub3JlZCB0aGUgd2FybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgaGFkIHByb3ZpZGVkIGEgZGVtb25zdHJhdGlvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBicmllZmx5IHNhdyBhbm90aGVyIGRhcmsgZG9vcndheSB3aXRoIGEgYnJhc3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzY2hvb2wgbWF5IGNvbnRhaW4gb3RoZXIgZG9vcndheXMgcmVzZW1ibGluZyB0aGUgcHJpbmNpcGFsJiMzOTtzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblRocmVhdHMucHVzaFVuaXF1ZSgmcXVvdDtPdGhlciByZXN0cmljdGVkIGRvb3J3YXlzIGluc2lkZSB0aGUgc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gYnJpZWZseSBzYXcgYW5vdGhlciBkYXJrCglkb29yd2F5IG1hcmtlZCBieSBhIGJyYXNzIHRocmVzaG9sZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgd2Fsa2luZy0mZ3Q7UnlhbiBDaGFwdGVyIFN1bW1hcnldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyOCIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIERvb3JmcmFtZSIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDU0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRmb3VuZERvb3JmcmFtZUhleGFmb2lsID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEZyb250IFBvcmNoJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBkb29yZnJhbWUgc3ltYm9sIG1hdGNoZXMgdGhlIHN0YWlyY2FzZSBjYXJ2aW5nJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWFuZWQgdG93YXJkIHRoZSBkb29yZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaXggcGV0YWxzIGN1cnZlZCBpbnNpZGUgYSB3b3JuIGNpcmNsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2wgaGFkIGJlZW4gcGFpbnRlZCBvdmVyIHJlcGVhdGVkbHksIGJ1dCBlYWNoIG5ldyBsYXllciBoYWQKCXN1bmsgaW50byB0aGUgb3JpZ2luYWwgZ3Jvb3Zlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgaGFkIHdhbnRlZCB0byBoaWRlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUGFpbnRpbmcgb3ZlciBpdCBoYWQgb25seSBwcmVzZXJ2ZWQgdGhlIHNoYXBlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBwaWN0dXJlZCB0aGUgY2FydmluZyBuZWFyIHRoZSBzdGFpcmNhc2UuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlTYW1lIGNpcmNsZS4gU2FtZSBwZXRhbHMuIFNhbWUgd29ybiBlZGdlcy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBzdGFpcmNhc2Ugc3ltYm9sIGhhZCBtYXJrZWQgc29tZXRoaW5nIGluc2lkZSB0aGUgaG91c2UuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGlzIG9uZSBtYXJrZWQgdGhlIHdheSBvdXQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiB0cmFjZWQgdGhlIHNoYXBlIHdpdGggaGlzIGV5ZXMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlBIGNpcmNsZSBzdXJyb3VuZGluZyBzaXggcGV0YWxzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgbG9va2VkIGxlc3MgbGlrZSBkZWNvcmF0aW9uIGFuZCBtb3JlIGxpa2UgYSBib3VuZGFyeSBtYXJrZXIuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglPbmUgcGV0YWwgY2F1Z2h0IHRoZSBtb3JuaW5nIGxpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBjdXRzIGFwcGVhcmVkIGluc2lkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNoaWZ0ZWQgaGlzIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3V0cyBiZWNhbWUgY2xlYXJlci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJUm9tYW4gbnVtZXJhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYmFjayB0aHJvdWdoIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYWxsd2F5IGFwcGVhcmVkIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIHRoZSByZWZsZWN0ZWQgZnJvbnQgcG9yY2ggY29udGFpbmVkIHRocmVlIGdpcmxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBBYmJpZSB3YWl0ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc3RlcHMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU3R1ZHkgdGhlIGhpZGRlbiBudW1iZXItJmd0O0tldmluIERpc2NvdmVycyBJSV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTI5IiBuYW1lPSJLZXZpbiBEaXNjb3ZlcnMgSUkiIHRhZ3M9IiIgcG9zaXRpb249IjkwMCw1NTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbm90aWNlZFJvbWFuSUkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogRnJvbnQgWWFyZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciBJSSBjb25uZWN0cyB0byB0aGUgZWFybGllciBtYXJraW5ncyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3Rvb2QgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcG9yY2ggc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3ltYm9sIHJlbWFpbmVkIG5lYXJseSBpbnZpc2libGUgYmVuZWF0aCB0aGUgd2hpdGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGlkZGVuIG51bWJlciBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUd28uCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGJhbmlzdGVyIGhhZCBiZWVuIG1hcmtlZCBgWElgLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJRWxldmVuLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGZyb250IGRvb3Igd2FzIG1hcmtlZCBgSUlgLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVHdvLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVHdvIHN5bWJvbHMuIFR3byBudW1iZXJzLiBUd28gbG9jYXRpb25zIGluc2lkZSB0aGUgc2FtZSBob3VzZS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCU9yIG9uZSBzZXF1ZW5jZSBLZXZpbiBoYWQgZW50ZXJlZCBpbiB0aGUgd3Jvbmcgb3JkZXIuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGZyb250LWRvb3IgSUkgbWF5IGNvbm5lY3QgdG8gdGhlIHN0YWlyY2FzZSBYSSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Um9tYW4gbnVtZXJhbCBJSSBvbiB0aGUgZnJvbnQgZG9vcmZyYW1lIG1heSBjb25uZWN0IHdpdGggc3RhaXIgWEkmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGRvb3JmcmFtZSBzeW1ib2wgaXMgbWFya2VkCgkJSUksIHdoaWxlIHRoZSBzdGFpcmNhc2Ugc3ltYm9sIGlzIG1hcmtlZCBYSS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAka25vd2xlZGdlLktldmluLmluY2x1ZGVzKCZxdW90O1RoZSBkYXRlIG9uIE1vbSYjMzk7cyBub3RlIGJyaWVmbHkgcmVzZW1ibGVkIElJJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2FtZSB0d28gc3Ryb2tlcyBoYWQgYXBwZWFyZWQgd2hlbiB0aGUgZmluYWwgZGlnaXQgb24gTW9tJiMzOTtzCgkJbm90ZSBicmllZmx5IGNoYW5nZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBjb3VsZCBkaXNtaXNzIG9uZSBzdHJhbmdlIGBJSWAgYXMgbWlzcmVhZCBpbmsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUd28gc2VwYXJhdGUgYXBwZWFyYW5jZXMgd2VyZSBiZWdpbm5pbmcgdG8gcmVzZW1ibGUgaW50ZW50LgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBJSSBvbiB0aGUgZG9vcmZyYW1lIG1hdGNoZXMgdGhlIG1hcmsgS2V2aW4gc2F3IGluIE1vbSYjMzk7cyBub3RlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZG9vcmZyYW1lIElJIG1hdGNoZXMgdGhlIGFsdGVyZWQgZGF0ZSBvbiBNb20mIzM5O3Mgbm90ZSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgZG9vcmZyYW1lJiMzOTtzIElJIG1hdGNoZXMKCQl0aGUgdHdvIHN0cm9rZXMgS2V2aW4gYnJpZWZseSBzYXcgaW4gTW9tJiMzOTtzIG5vdGUuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIGRpZCBub3Qga25vdyB3aGF0IHRoZSBudW1iZXIgaWRlbnRpZmllZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUEgcm9vbS4gQSBkYXRlLiBBIHBvc2l0aW9uLiBBIHdhcm5pbmcuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlPciB0aGUgc2Vjb25kIHBhcnQgb2Ygc29tZXRoaW5nIGhlIGhhZCBub3QgZm91bmQgeWV0LgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHNlY29uZCBzaXgtcGV0YWxlZCBzeW1ib2wgbWFya2VkIElJIGFwcGVhcmVkIG9uIHRoZSBmcm9udCBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIG1hcmtlZCBJSSBpcyBjYXJ2ZWQgaW50byB0aGUgZnJvbnQgZG9vcmZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1NpeC1wZXRhbGVkIHN5bWJvbCBtYXJrZWQgSUkgb24gdGhlIFdpbmNoZXN0ZXIgZG9vcmZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSBnYXZlIG9uZSBsb3cgd29vZGVuIGdyb2FuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIHRyYXZlbGVkIGZyb20gdGhlIHBvcmNoIHJvb2YgdG8gdGhlIGZvdW5kYXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByZXNlbWJsZWQgYSBwZXJzb24gc2V0dGxpbmcgY29tZm9ydGFibHkgaW50byBhIGNoYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmFja2VkIHRvd2FyZCB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vciBzdG9vZCBjbG9zZWQgYW5kIGNhbG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbm5vY2VudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUxpa2UgaXQgaGFkIG5ldmVyIGRvbmUgYW55dGhpbmcgd3JvbmcgaW4gaXRzIGVudGlyZSBkb29yLXNoYXBlZCBsaWZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG51bWVyYWwgZGlzYXBwZWFyZWQgYmVuZWF0aCB0aGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2FydmluZyByZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdXQgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGFuZCB0aGUgaG91c2UtJmd0O0tldmluIGFuZCBBYmJpZSBTdGFydCBXYWxraW5nXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzAiIG5hbWU9IlB1bGxzIEF3YXkgZnJvbSB0aGUgRG9vciIgdGFncz0iIiBwb3NpdGlvbj0iMTAyNSw1NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGplcmtlZCBoaXMgaGFuZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW52ZXN0aWdhdGluZyB0aGUgaG91c2Ugd2hpbGUgc3RhbmRpbmcgb3V0c2lkZSBpdCBkZWZlYXRlZCB0aGUgZW50aXJlCglwdXJwb3NlIG9mIGxlYXZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB0b29rIEFiYmllJiMzOTtzIGhhbmQgYW5kIGd1aWRlZCBoZXIgZG93biB0aGUgcG9yY2ggc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbiwgSSBjYW4gd2Fsay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2h5IGFyZSB5b3UgcHVsbGluZyBtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0VmZmljaWVudCBkZXBhcnR1cmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UmIzM5O3JlIHdhbGtpbmcgd2VpcmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vciByZW1haW5lZCBjbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc21hbGwgZmxvd2VyIGNhcnZlZCBpbnRvIGl0cyBmcmFtZSB3YXMgYmFyZWx5IHZpc2libGUgYmVuZWF0aCB0aGUKCXBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBldGFsIGRhcmtlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBsaW5lcyBjcm9zc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIHNlZW4gdGhlIG1hcmsgZnJvbSBzZXZlcmFsIGZlZXQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHdvIGxpbmVzIHZhbmlzaGVkIGJlbmVhdGggdGhlIHBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga2VwdCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY3QgdGhhdCBoZSByZWZ1c2VkIHRvIGludmVzdGlnYXRlIGRpZCBub3QgbWVhbiBoaXMgYnJhaW4gaGFkCglmYWlsZWQgdG8gcmVjb3JkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgbW92aW5nLSZndDtLZXZpbiBEaXNjb3ZlcnMgSUldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzMSIgbmFtZT0iS2V2aW4gU2hvd3MgQWJiaWUgdGhlIERvb3JmcmFtZSIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDU1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRmb3VuZERvb3JmcmFtZUhleGFmb2lsID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWUsIGxvb2sgYXQgdGhpcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBjbGltYmVkIGJhY2sgb250byB0aGUgcG9yY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwb2ludGVkIHRvIHRoZSBzaXgtcGV0YWxlZCBjYXJ2aW5nIGJlbmVhdGggdGhlIHBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SGF2ZSB5b3Ugc2VlbiB0aGF0IGJlZm9yZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgaG91c2UgZmxvd2VyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGtub3dsZWRnZS5BYmJpZS5pbmNsdWRlcygmcXVvdDtBIHNpeC1wZXRhbGVkIHN5bWJvbCBpcyBjYXJ2ZWQgaW50byB0aGUgYmFuaXN0ZXImcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1lvdSBjYWxsZWQgdGhlIHN0YWlyY2FzZSBjYXJ2aW5nIHRoYXQgdG9vLiZxdW90OwoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7QmVjYXVzZSB0aGV5JiMzOTtyZSB0aGUgc2FtZS4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1doYXQgaXMgYSBob3VzZSBmbG93ZXI/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtBIGZsb3dlciB0aGF0IGJlbG9uZ3MgdG8gdGhlIGhvdXNlLiZxdW90OwoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gaGFkIGV4cGVjdGVkIHRoaXMgZXhwbGFuYXRpb24uCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlFeHBlY3RpbmcgaXQgZGlkIG5vdCBtYWtlIGl0IG1vcmUgdXNlZnVsLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVhY2hlZCB0b3dhcmQgdGhlIGNhcnZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjYXVnaHQgaGVyIHdyaXN0IGJlZm9yZSBzaGUgdG91Y2hlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBjYW4mIzM5O3QgSSB0b3VjaCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIGhvdyBkbyB5b3Uga25vdyBJIGNhbiYjMzk7dD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgY2xvc2VkIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQcmV2ZW50aXZlIHJ1bGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBleGFtaW5lZCB0aGUgbG93ZXIgcGV0YWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IG9uZSBoYXMgdHdvIHN0aWNrcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGhlciBnYXplLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIHRoaW4gc3Ryb2tlcyBlbWVyZ2VkIGZyb20gYmVuZWF0aCB0aGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3Ugc2VlIHRob3NlIGJlZm9yZT8mcXVvdDsgS2V2aW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaG9vayBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2hlIGZyb3duZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SW4gdGhlIGNlcmVhbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0YXJlZCBhdCBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBza2lwcGVkIGRvd24gdGhlIHBvcmNoIHN0ZXBzIGJlZm9yZSBoZSBjb3VsZCBhc2sgdGhlIG9idmlvdXMKCWZvbGxvdy11cCBxdWVzdGlvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7QSBob3VzZS1mbG93ZXIgc3ltYm9sIG1hcmtlZCBJSSBpcyBjYXJ2ZWQgaW50byB0aGUgZnJvbnQgZG9vcmZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBtYXkgaGF2ZSBzZWVuIHR3byBsaW5lcyBvciB0aGUgaG91c2UtZmxvd2VyIHN5bWJvbCBpbiBoZXIgY2VyZWFsJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEFiYmllIGlkZW50aWZpZWQgdGhlIGNhcnZpbmcgYXMgYQoJ4oCcaG91c2UgZmxvd2Vy4oCdIGFuZCBub3RpY2VkIHRoZSB0d28gc3Ryb2tlcyBpbnNpZGUgb25lIHBldGFsLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IEFiYmllLSZndDtLZXZpbiBEaXNjb3ZlcnMgSUldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzMiIgbmFtZT0iS2V2aW4gUmVjb3JkcyB0aGUgRG9vcmZyYW1lIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGZvdW5kRG9vcmZyYW1lSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc2tldGNoZWQgdGhlIGNpcmNsZSwgdGhlbiBhZGRlZCBzaXggY3VydmVkIHBldGFscy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkcmF3aW5nIG1hdGNoZWQgdGhlIGRvb3JmcmFtZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSXQgYWxzbyBtYXRjaGVkIHRoZSBzdGFpcmNhc2UgY2FydmluZy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUtldmluIGRyZXcgYSBzaG9ydCBsaW5lIGJldHdlZW4gdGhlIHR3byBlbnRyaWVzLgoJJmx0Oy9wJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJCVN0YWlyY2FzZTogWEkuJmx0O2JyJmd0OwoJCUZyb250IGRvb3I6ID8KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgd3JvdGUgJmx0O2VtJmd0O2Zyb250IGRvb3JmcmFtZSZsdDsvZW0mZ3Q7IGJlbmVhdGggdGhlIGRyYXdpbmcuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglXaGVuIEtldmluIGNoZWNrZWQgdGhlIGNhcnZpbmcgYWdhaW4sIHR3byB0aGluIGN1dHMgaGFkIGFwcGVhcmVkCglpbnNpZGUgaXRzIGxvd2VyIHBldGFsLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglIZSBhZGRlZCB0aGUgUm9tYW4gbnVtZXJhbCBiZW5lYXRoIHRoZSBza2V0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGVuY2lsIHBvaW50IHNuYXBwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFyayBsaW5lIGNvbnRpbnVlZCBhY3Jvc3MgdGhlIHBhZ2UgZXZlbiB0aG91Z2ggdGhlIGJyb2tlbiBwZW5jaWwKCW5vIGxvbmdlciB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpbmUgcmFuIGZyb20gdGhlIG51bWVyYWwgYElJYCB0byB0aGUgZWRnZSBvZiB0aGUgcGFwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBwb2ludGVkIHRvd2FyZCB0aGUgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtEb29yZnJhbWUgaGV4YWZvaWwgc2tldGNoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiByZWNvcmRlZCB0aGUgaGV4YWZvaWwgbWFya2VkIElJIG9uIHRoZSBmcm9udCBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVzIHVwZGF0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHNrZXRjaGVkIHRoZSBkb29yZnJhbWUgc3ltYm9sCglhbmQgcmVjb3JkZWQgdGhlIFJvbWFuIG51bWVyYWwgSUkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdXQgdGhlIG5vdGVib29rIGF3YXktJmd0O0tldmluIERpc2NvdmVycyBJSV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMzIiBuYW1lPSJLZXZpbiBhbmQgQWJiaWUgU3RhcnQgV2Fsa2luZyIgdGFncz0iIiBwb3NpdGlvbj0iMTAyNSw1NjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtXYWxrIEFiYmllIHRvIGVsZW1lbnRhcnkgc2Nob29sIHdpdGhvdXQgYXR0cmFjdGluZyBhdHRlbnRpb24mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGFuZCBBYmJpZSByZWFjaGVkIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHN0ZXBzIHNlcGFyYXRlZCB0aGVtIGZyb20gdGhlIHBvcmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBmb3VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBmaXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bnRlZCB1bnRpbCB0aGUgaG91c2Ugbm8gbG9uZ2VyIGZpbGxlZCBoaXMgcGVyaXBoZXJhbCB2aXNpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb29rZWQgYmFjayBvbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZyb250IGRvb3IgcmVtYWluZWQgY2xvc2VkLiBUaGUgd2luZG93cyByZWZsZWN0ZWQgdGhlIHBhbGUgbW9ybmluZwoJc2t5LiBObyBkYXJrIGZpZ3VyZSBzdG9vZCBiZWhpbmQgdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoaWNoIHNvbWVob3cgZmVsdCB3b3JzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIG9yZGluYXJ5IGhvdXNlIHdvdWxkIGNyZWFrLCBzaWdoLCBzZXR0bGUsIG9yIGNvbXBsYWluIGFmdGVyIGl0cwoJb2NjdXBhbnRzIGxlZnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgV2luY2hlc3RlciBob3VzZSByZW1haW5lZCBzaWxlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IHNvdW5kIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc291bmRlZCBvY2N1cGllZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlYWNoZWQgZm9yIEtldmluJiMzOTtzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNoZSBiZWdhbiB0byBzaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUXVpZXRseSBhdCBmaXJzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlY29nbml6ZWQgbm9uZSBvZiB0aGUgd29yZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWVsb2R5IHNvdW5kZWQgbGlrZSBhIG51cnNlcnkgcmh5bWUgdHJ5aW5nIHRvIHJlbWVtYmVyIGl0c2VsZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNhbmcgYWJvdXQgc3Vuc2hpbmUsIGNlcmVhbCwgYW5kIGEgc2hhZG93IGZsb2F0aW5nIGF0IHRoZSBib3R0b20KCW9mIGhlciBib3dsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYWxtb3N0IHN0b3BwZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGNvbnRpbnVlZCBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBzaGFkb3c/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdXAgYXQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBzaGFkb3cgaW4geW91ciBjZXJlYWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCYjMzk7cyBqdXN0IGEgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBtYWRlIGl0IHVwPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB0aGluayBzby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgYW5zd2VyIHdhcyBjb25zaWRlcmFibHkgd29yc2UgdGhhbiB5ZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZCB0byBBYmJpZSYjMzk7cyBzb25nPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgQWJiaWUgdG8gcmVwZWF0IHRoZSB3b3JkcyBleGFjdGx5LSZndDtLZXZpbiBRdWVzdGlvbnMgdGhlIENlcmVhbCBTb25nXV0KCVtbVGVsbCBoZXIgdG8gc3RvcCBzaW5naW5nIGFuZCBrZWVwIG1vdmluZy0mZ3Q7S2V2aW4gU3RvcHMgdGhlIENlcmVhbCBTb25nXV0KCVtbU2luZyBhbG9uZyBzbyBzaGUgZG9lcyBub3Qgbm90aWNlIGhpcyBjb25jZXJuLSZndDtLZXZpbiBKb2lucyB0aGUgU29uZ11dCglbW1NheSBub3RoaW5nIGFuZCBsaXN0ZW4gZm9yIGFueXRoaW5nIHVudXN1YWwtJmd0O0tldmluIExpc3RlbnMgdG8gdGhlIFNvbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzNCIgbmFtZT0iS2V2aW4gUXVlc3Rpb25zIHRoZSBDZXJlYWwgU29uZyIgdGFncz0iIiBwb3NpdGlvbj0iODUwLDU3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoZXJlIEFiYmllIGxlYXJuZWQgdGhlIGNlcmVhbCBzb25nJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaW5nIHRoYXQgcGFydCBhZ2Fpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgc2tpcHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHBhcnQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc2hhZG93IGluIHlvdXIgY2VyZWFsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGxvb2tlZCBhdCBLZXZpbiBhcyB0aG91Z2ggaGUgaGFkIGFza2VkIGhlciB0byByZXBlYXQgdGhlIGxlYXN0CglpbXBvcnRhbnQgcGFydCBvZiB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IHJlbWVtYmVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNhbmcgaXQgZml2ZSBzZWNvbmRzIGFnby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbmdzIGRpc2FwcGVhciB3aGVuIHRoZXkmIzM5O3JlIGZpbmlzaGVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UmVhbCBzb25ncyBkb24mIzM5O3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNaW5lIGRvLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVzdW1lZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgYmVzaWRlIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZGlkIHRoZSBzaGFkb3cgbG9vayBsaWtlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIGEgc2hhZG93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGl0IHNoYXBlZCBsaWtlIHNvbWV0aGluZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V2ZXJ5dGhpbmcgaXMgc2hhcGVkIGxpa2Ugc29tZXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gb3BlbmVkIGhpcyBtb3V0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gY2xvc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFkIGFjY2lkZW50YWxseSBjb25zdHJ1Y3RlZCBhbiBhcmd1bWVudCBoZSBjb3VsZCBub3QgZXNjYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBhY3R1YWxseSBzZWUgc29tZXRoaW5nIGluIHlvdXIgYm93bD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBiZWNhbWUgcXVpZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBzaG9lcyB0YXBwZWQgYWdhaW5zdCB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmaW5hbGx5IG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBtaWxrIGdvdCBkYXJrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBvZiB0aGUgY2VyZWFsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IG1hZGUgaXQgZGFyaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBnaXJsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29udGludWVkIHRocmVlIHN0ZXBzIGJlZm9yZSBub3RpY2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZ2lybD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgaW4gdGhlIHNwb29uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vcm5pbmcgc2VlbWVkIHRvIGdyb3cgcXVpZXRlciBhcm91bmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBzaGUgb25lIG9mIHRoZSBnaXJscyBmcm9tIHRoZSBwaG90b2dyYXBoPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGJhY2sgdG93YXJkIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IGtub3cuIFNoZSB3YXMgdXBzaWRlIGRvd24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwaWN0dXJlZCB0aGUgY3VydmVkIG1ldGFsIHNwb29uIHJlZmxlY3RpbmcgQWJiaWUmIzM5O3MgZmFjZSwgdGhlCglraXRjaGVuIGNlaWxpbmcsIGFuZCB0aGUgcm9vbSBiZWhpbmQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSByZWZsZWN0aW9uIGNvdWxkIGRpc3RvcnQgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjb3VsZCB0dXJuIEFiYmllIHVwc2lkZSBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgbm90IGFkZCBhbm90aGVyIHBlcnNvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBzaGUgc2F5IGFueXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaGUgcHV0IG9uZSBmaW5nZXIgYWdhaW5zdCBoZXIgbW91dGguJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYmFjayB0b3dhcmQgdGhlIFdpbmNoZXN0ZXIgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUga2l0Y2hlbiB3aW5kb3cgcmVmbGVjdGVkIHRoZSBza3kuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIHNoYXBlIHN0b29kIGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdpbmRvdyB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0FiYmllIHNhdyBhbiB1cHNpZGUtZG93biBnaXJsIHJlZmxlY3RlZCBpbiBoZXIgY2VyZWFsIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYXcgYW4gdXBzaWRlLWRvd24gZ2lybCByZWZsZWN0ZWQgaW4gaGVyIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBIHJlZmxlY3RlZCBnaXJsIGFwcGVhcmVkIGluIEFiYmllJiMzOTtzIGNlcmVhbCBzcG9vbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYXcgYSBnaXJsIGluIHRoZSByZWZsZWN0aW9uIG9mIGhlciBjZXJlYWwgc3Bvb24mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBjbHVlOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBzYXlzIGFuIHVwc2lkZS1kb3duIGdpcmwgYXBwZWFyZWQKCWluIGhlciBzcG9vbiBhbmQgcGxhY2VkIG9uZSBmaW5nZXIgYWdhaW5zdCBoZXIgbW91dGguCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWRuJiMzOTt0IHlvdSB0ZWxsIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hydWdnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaGUgd2FudGVkIG1lIHRvIGJlIHF1aWV0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBhbnN3ZXIgZGlkIG5vdCBoZWxwLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBzY2hvb2wtJmd0O1RoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzUiIG5hbWU9IktldmluIFN0b3BzIHRoZSBDZXJlYWwgU29uZyIgdGFncz0iIiBwb3NpdGlvbj0iOTYyLjUsNTc3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7S2VlcCBBYmJpZSBtb3ZpbmcgdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQbGVhc2Ugc3RvcCBzaW5naW5nIHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9wcGVkIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHVuZmluaXNoZWQgbm90ZSByZW1haW5lZCBpbiB0aGUgYWlyIGZvciBhIG1vbWVudCBsb25nZXIgdGhhbiBpdAoJc2hvdWxkIGhhdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IGZhZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSB3ZSBhcmUgbGF0ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjYW4gd2FsayBhbmQgc2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjYW4gZXZlbiBza2lwIGFuZCBzaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBhbHNvIGtub3cgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5hcnJvd2VkIGhlciBleWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRvbiYjMzk7dCBsaWtlIG15IHNvbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc29uZyBpcyBmaW5lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IG1hZGUgdGhlIGZhY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGZhY2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgb25lIHdoZXJlIHlvdXIgYnJhaW4gYml0ZXMgeW91LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O015IGJyYWluIGRvZXMgbm90IGJpdGUgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBkb2VzIGludmlzaWJsZSBiaXRlcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJlZ2FuIHdhbGtpbmcgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmb2xsb3dlZCwgYnV0IHNoZSBkaWQgbm90IHJlc3VtZSB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBzZXZlcmFsIHNlY29uZHMsIEtldmluIGhlYXJkIG9ubHkgdGhlaXIgZm9vdHN0ZXBzIGFuZCB0aGUgZGlzdGFudAoJc291bmQgb2YgdHJhZmZpYy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHNvbmcgYmVnYW4gYWdhaW4gYmVoaW5kIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb2Z0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlnaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZhcnRoZXIgYXdheSB0aGFuIHRoZSBob3VzZSBzaG91bGQgaGF2ZSBiZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIHN0b29kIG9uIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwb3JjaCByZW1haW5lZCBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBXaW5jaGVzdGVyIGhvdXNlIHdhcyBuZWFybHkgYSBibG9jayBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaW5naW5nIGNvbnRpbnVlZCBmcm9tIHNvbWV3aGVyZSBuZWFyIGl0cyBmcm9udCBkb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmVwZWF0ZWQgQWJiaWUmIzM5O3MgZmluYWwgdW5maW5pc2hlZCBsaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCB0aGUgd29yZHMgd2VyZSBjbGVhcmVyLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVRoZSBnaXJsIGluIHRoZSBtaWxrIGlzIHdhaXRpbmcuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBtb3V0aCB3YXMgY2xvc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBoZWFyIHRoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdhc24mIzM5O3QgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0b29rIGhlciBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSB3YWxrZWQgZmFzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpc3RhbnQgdm9pY2UgcmVwZWF0ZWQgdGhlIGxpbmUgb25jZSBtb3JlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCB0aW1lLCBpdCBzb3VuZGVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBkaXN0YW50IHZvaWNlIGNvbnRpbnVlZCBBYmJpZSYjMzk7cyBzb25nIGFmdGVyIHNoZSBzdG9wcGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHZvaWNlIG5lYXIgdGhlIGhvdXNlIGNvbnRpbnVlZCBBYmJpZSYjMzk7cyBjZXJlYWwgc29uZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7U29tZW9uZSBlbHNlIHJlcGVhdGVkIEFiYmllJiMzOTtzIHNvbmcgbmVhciB0aGUgaG91c2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSBzZWNvbmQgdm9pY2Ugc2FuZyB0aGF0IHRoZSBnaXJsIGluIHRoZSBtaWxrIHdhcyB3YWl0aW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgY2x1ZTombHQ7L3N0cm9uZyZndDsgQWZ0ZXIgQWJiaWUgc3RvcHBlZCBzaW5naW5nLCBhbm90aGVyCgl2b2ljZSBjb250aW51ZWQgdGhlIHNvbmcgZnJvbSBuZWFyIHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc29uZyBlbmRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmVhcmJ5IGZpZWxkIHJ1c3RsZWQgaW4gdGhlIGFic2VuY2UgaXQgbGVmdCBiZWhpbmQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRG8gbm90IGxvb2sgYmFjayBhZ2Fpbi0mZ3Q7VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzNiIgbmFtZT0iS2V2aW4gSm9pbnMgdGhlIFNvbmciIHRhZ3M9IiIgcG9zaXRpb249IjEwODcuNSw1Nzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIGNoZWVyZnVsIHdoaWxlIGxpc3RlbmluZyB0byB0aGUgc29uZyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gam9pbmVkIHRoZSBzb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCBrbm93IHRoZSB3b3Jkcywgc28gaGUgY29udHJpYnV0ZWQgc291bmRzIHRoYXQgcmVzZW1ibGVkCgl3b3JkcyBmcm9tIGEgc2FmZSBkaXN0YW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1N1bnNoaW5lIGJyaWdodCBhbmQgY2VyZWFsIGRheSwmcXVvdDsgQWJiaWUgc2FuZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O011bWJsZSBtdW1ibGUgd2FsayBhd2F5LCZxdW90OyBLZXZpbiByZXBsaWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGF1Z2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Rob3NlIGFyZW4mIzM5O3QgdGhlIHdvcmRzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBhbSBwZXJmb3JtaW5nIHRoZSBhZHZhbmNlZCB2ZXJzaW9uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRvbiYjMzk7dCBrbm93IHRoZSBhZHZhbmNlZCB2ZXJzaW9uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyB3aGF0IG1ha2VzIGl0IGFkdmFuY2VkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3F1ZWV6ZWQgaGlzIGhhbmQgYW5kIGJlZ2FuIHRoZSBuZXh0IHZlcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGlzdGVuZWQgY2xvc2VseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb25nIGRlc2NyaWJlZCB0aHJlZSBnaXJscyBzdGFuZGluZyBpbiBhIHJvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSB3YXRjaGVkIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgd2F0Y2hlZCB0aGUgc3RhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhpcmQgd2FpdGVkIGJlbmVhdGggc29tZXRoaW5nIEFiYmllIHByb25vdW5jZWQgYXMKCSZsdDtlbSZndDtldmVyeS1zcXVhcmUmbHQ7L2VtJmd0Oy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgaXMgZXZlcnktc3F1YXJlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hydWdnZWQuICZxdW90O0l0JiMzOTtzIHdoZXJlIHNoZSB3YWl0cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlIGRpZCB5b3UgaGVhciB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGp1c3Qgc2FuZyBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLCBJIGRpZG4mIzM5O3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2FuZyB0aGUgbG93IHBhcnQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1lbWJlcmVkIG11bWJsaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCByZW1lbWJlciB3b3Jkcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0YXJ0ZWQgdGhlIHZlcnNlIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCBLZXZpbiByZW1haW5lZCBzaWxlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxvd2VyIHZvaWNlIGpvaW5lZCBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtYXRjaGVkIHRoZSBtZWFuaW5nbGVzcyB0dW5lIEtldmluIGhhZCBiZWVuIG11bWJsaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHZvaWNlIGNhbWUgZnJvbSBkaXJlY3RseSBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpZGV3YWxrIHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsb3cgdm9pY2UgY29udGludWVkIGJlc2lkZSBBYmJpZSYjMzk7cyBzb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZm9ybWVkIHRocmVlIGNsZWFyIHdvcmRzOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUV2ZXJ5IHN0YWlyLiBFbGV2ZW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIaXMgdGhvdWdodHMgcmV0dXJuZWQgdG8gdGhlIGRhcmsgZWxldmVudGggc3RlcCBpbnNpZGUgdGhlIGhvdXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJU3RhaXIgYFhJYC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBzb25nIGhhZCBub3Qgc2FpZCAmbHQ7ZW0mZ3Q7ZXZlcnktc3F1YXJlJmx0Oy9lbSZndDsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBoYWQgc2FpZCAmbHQ7ZW0mZ3Q7ZXZlcnkgc3RhaXImbHQ7L2VtJmd0Oy4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCB2b2ljZSBjb25uZWN0ZWQgQWJiaWUmIzM5O3Mgc29uZyB0byBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSB2b2ljZSBpbiBBYmJpZSYjMzk7cyBzb25nIHNhaWQgJiMzOTtFdmVyeSBzdGFpci4gRWxldmVuLiYjMzk7JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2Vjb25kIHZvaWNlIGluIHRoZSBzb25nCgkJYXBwZWFyZWQgdG8gcmVmZXJlbmNlIHRoZSBlbGV2ZW50aCBzdGFpci4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gZGlkIG5vdCB1bmRlcnN0YW5kIHRoZSByZWZlcmVuY2UuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlIZSB1bmRlcnN0b29kIHRoYXQgbmVpdGhlciBoZSBub3IgQWJiaWUgaGFkIHByb2R1Y2VkIHRoZSB2b2ljZS4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCB2b2ljZSBpbiBBYmJpZSYjMzk7cyBzb25nIHNhaWQgJiMzOTtFdmVyeSBzdGFpci4gRWxldmVuLiYjMzk7JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBIHZvaWNlIGluIEFiYmllJiMzOTtzIHNvbmcgbWVudGlvbmVkIGV2ZXJ5IHN0YWlyIGFuZCBlbGV2ZW4mcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7VW5leHBsYWluZWQgd29yZHM6Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2Vjb25kIHZvaWNlIGpvaW5lZCB0aGUgc29uZwoJCWFuZCBzYWlkLCDigJxFdmVyeSBzdGFpci4gRWxldmVuLuKAnQoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0FuIHVuc2VlbiB2b2ljZSBqb2luZWQgS2V2aW4gYW5kIEFiYmllJiMzOTtzIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbG93ZXIgdm9pY2UgZmluaXNoZWQgdGhlIGZpbmFsIG5vdGUgYWxvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHVwIGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNhbmcgaXQgYmV0dGVyIGJlZm9yZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRlY2lkZWQgbm90IHRvIGFyZ3VlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCB0aGUgZmllbGQtJmd0O1RoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzciIG5hbWU9IktldmluIExpc3RlbnMgdG8gdGhlIFNvbmciIHRhZ3M9IiIgcG9zaXRpb249IjEyMTIuNSw1Nzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtMaXN0ZW4gZm9yIGFueXRoaW5nIGhpZGRlbiBpbnNpZGUgQWJiaWUmIzM5O3Mgc29uZyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2FpZCBub3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbGlzdGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyB2b2ljZSByb3NlIGFuZCBmZWxsIGFzIHNoZSBza2lwcGVkIGJlc2lkZSBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHVuZSBoYWQgbm8gY29uc2lzdGVudCByaHl0aG0uIExpbmVzIGFwcGVhcmVkLCBkaXNhcHBlYXJlZCwgYW5kCglyZXR1cm5lZCB3aXRoIGRpZmZlcmVudCB3b3Jkcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNob3VsZCBoYXZlIGJlZW4gb3JkaW5hcnkgbm9uc2Vuc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNb3N0IG9mIGl0IHdhcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN1bnNoaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2VyZWFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzcG9vbiB0aGF0IHdhbnRlZCB0byB2aXNpdCB0aGUgbW9vbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHBhdHRlcm4gY2hhbmdlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5IHNpeHRoIGxpbmUgY29udGFpbmVkIHRoZSBzYW1lIHdvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIb3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJlZ2FuIGNvdW50aW5nIHNpbGVudGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lLiBUd28uIFRocmVlLiBGb3VyLiBGaXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZS4gVHdvLiBUaHJlZS4gRm91ci4gRml2ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZGlkIG5vdCBhcHBlYXIgdG8gbm90aWNlIHRoZSByZXBldGl0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGlzdGVuZWQgZm9yIHRoZSBuZXh0IG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaXh0aCBsaW5lIGFycml2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzYW5nIGEgZGlmZmVyZW50IHdvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbG1vc3QgcmVsYXhlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2Vjb25kIHZvaWNlIHdoaXNwZXJlZCAmbHQ7ZW0mZ3Q7aG91c2UmbHQ7L2VtJmd0OyBiZW5lYXRoIGhlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgY2FtZSBmcm9tIHRoZSBzdG9ybSBkcmFpbiBiZXNpZGUgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXJrbmVzcyB3YWl0ZWQgYmVuZWF0aCB0aGUgaXJvbiBncmF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyB0cmlja2xlIG9mIHdhdGVyIG1vdmVkIHRocm91Z2ggdGhlIGNoYW5uZWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2F0ZXIgZmxvd2VkIHRvd2FyZCB0aGUgV2luY2hlc3RlciBob3VzZSBpbnN0ZWFkIG9mIGRvd25oaWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBvYmplY3QgcmVzdGVkIGJlbmVhdGggdGhlIGdyYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hpdGUgcGFwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciB0aGUgY29ybmVyIG9mIGEgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIGRhcmsgc2hhcGVzIGFwcGVhcmVkIGFsb25nIGl0cyB2aXNpYmxlIGVkZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjcm91Y2hlZCBzbGlnaHRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YXRlciBwdWxsZWQgdGhlIG9iamVjdCBpbnRvIHRoZSBkcmFpbiBiZWZvcmUgaGUgY291bGQgc2VlIG1vcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgc3RvcC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2hpc3BlciBjb250aW51ZWQgdGhyb3VnaCB0aGUgdW5kZXJncm91bmQgcGlwZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIb3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUVhY2ggcmVwZXRpdGlvbiBtb3ZlZCBmYXJ0aGVyIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUb3dhcmQgaG9tZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSB2b2ljZSBiZW5lYXRoIHRoZSBzdHJlZXQgcmVwZWF0ZWQgdGhlIHdvcmQgaG91c2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0V2ZXJ5IHNpeHRoIGxpbmUgb2YgQWJiaWUmIzM5O3Mgc29uZyBjb250YWluZWQgdGhlIHdvcmQgaG91c2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgcGFwZXIgcmVzZW1ibGluZyB0aGUgbWlzc2luZyBwaG90b2dyYXBoIG1vdmVkIGJlbmVhdGggdGhlIHN0b3JtIGRyYWluJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1NvbWV0aGluZyByZXNlbWJsaW5nIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggYXBwZWFyZWQgYmVuZWF0aCBhIHN0b3JtIGRyYWluJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBjbHVlOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBicmllZmx5IHNhdyBhIHBhcGVyIHJlc2VtYmxpbmcKCXRoZSBtaXNzaW5nIHBob3RvZ3JhcGggYmVuZWF0aCB0aGUgc3Rvcm0gZHJhaW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUFiYmllIGxlYW5lZCBvdmVyIHRoZSBncmF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgYXJlIHlvdSBsb29raW5nIGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90aGluZyBub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGcm9tIGJlbmVhdGggdGhlIHN0cmVldCBjYW1lIHRocmVlIGZhaW50IHRhcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdGVwcGVkIGF3YXkgZnJvbSB0aGUgZHJhaW4gd2l0aG91dCBiZWluZyB0b2xkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCB0aGUgZmllbGQtJmd0O1RoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzgiIG5hbWU9IlRoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5NjIuNSw1OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSBwYXN0IHRoZSBmaWVsZCBhbmQgY29udGludWUgdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpZGV3YWxrIGN1cnZlZCBwYXN0IHRoZSBvcGVuIGZpZWxkIGJlc2lkZSB0aGUgV2luY2hlc3RlcgoJcHJvcGVydHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgc2VlbiB0aGUgZmllbGQgZXZlcnkgZGF5IHNpbmNlIHRoZXkgbW92ZWQgdG8gQnJlY2tlbnJpZGdlLgoJSXQgd2FzIG1vc3RseSB0YWxsIGdyYXNzLCBiYXJlIHBhdGNoZXMgb2YgZGlydCwgYW5kIG9uZSBsYXJnZSBvYWsgdHJlZQoJc3RhbmRpbmcgbmVhciB0aGUgZWRnZSBvZiB0aGUgd29vZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVyZSB3YXMgbm90aGluZyByZW1hcmthYmxlIGFib3V0IGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBtb3JuaW5nLCB0aGUgZmllbGQgbG9va2VkIGRpZmZlcmVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmFzcyBoYWQgbG9zdCBtb3N0IG9mIGl0cyBjb2xvci4gQnJvd24gc3RhbGtzIGxlYW5lZCBhd2F5IGZyb20KCXRoZSBvYWsgYXMgdGhvdWdoIHRoZSBncm91bmQgYmVuZWF0aCB0aGUgdHJlZSBoYWQgcHVzaGVkIHRoZW0gYXNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2FrIHN0b29kIGFsb25lIGluIHRoZSBtaWRkbGUgb2YgdGhlIGRlYWQgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgdHJ1bmsgYXBwZWFyZWQgd2lkZXIgdGhhbiBLZXZpbiByZW1lbWJlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIGJyYW5jaGVzIHR3aXN0ZWQgYXQgc2hhcnAgYW5nbGVzLCBjcm9zc2luZyBvbmUgYW5vdGhlciBsaWtlCglmaW5nZXJzIHRyeWluZyB0byBmb3JtIGEgY2FnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNsb3dlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnRpbnVlZCB3YWxraW5nIHVudGlsIHRoZWlyIGpvaW5lZCBoYW5kcyBwdWxsZWQgdGlnaHQgYmV0d2VlbgoJdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7IHNoZSBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYXQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb2VzIHRoYXQgbG9vayBub3JtYWwgdG8geW91PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGV4YW1pbmVkIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBncmFzcyBuZWVkcyB3YXRlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQmIzM5O3MgYSB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93IGl0JiMzOTtzIGEgdHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2h5IGRpZCB5b3UgYXNrPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIG5vIGFuc3dlciB0aGF0IHdvdWxkIHN1cnZpdmUgZnVydGhlciBxdWVzdGlvbmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBiYWNrIGF0IHRoZSBvYWsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHNlY29uZCwgaXQgd2FzIGFuIG9yZGluYXJ5IHRyZWUgY292ZXJlZCBpbiBncmVlbiBsZWF2ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBtb3JuaW5nIGxpZ2h0IHNoaWZ0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGVhdmVzIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIGJlY2FtZSBkYXJrIGFuZCBiYXJlIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIHN0b29kIGFtb25nIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBub3Qgc2VlIGEgZmFjZSBvciBjbG90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgYSBuYXJyb3cgc2hhcGUgcG9zaXRpb25lZCBoaWdoIGFib3ZlIHRoZSBncm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgdG9vIGxhcmdlIHRvIGJlIGEgYmlyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvbyBzdGlsbCB0byBiZSBhbiBhbmltYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbmQgdG9vIHN0cmFpZ2h0IHRvIGJlIHBhcnQgb2YgdGhlIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYXBlIHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIGNvbnRpbnVlZCBwb2ludGluZyB0b3dhcmQgdGhlIGVtcHR5IHBsYWNlIHdoZXJlIGl0IGhhZAoJYmVlbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdUcmVlRmlndXJlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiBzYXcgYSB0YWxsIHNoYXBlIGluIHRoZSBvYWsgdHJlZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gc2F3IGEgdGFsbCBzaGFwZSBzdGFuZGluZyBhbW9uZyB0aGUgb2FrIGJyYW5jaGVzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RhbGwgc2hhcGUgc2VlbiBpbiB0aGUgb2FrIHRyZWUgbmVhciB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBIGNvbGQgcHJlc3N1cmUgc2V0dGxlZCBvdmVyIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJyZWF0aGVkIG91dC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgd2hpdGUgY2xvdWQgZm9ybWVkIGluIGZyb250IG9mIGhpcyBtb3V0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIG5vdCBoYXZlIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGVhcmx5IFNlcHRlbWJlciwgbm90IHdpbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGJyZWF0aGVkIG91dCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgcGFsZSBjbG91ZCBhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllJiMzOTtzIGJyZWF0aCByZW1haW5lZCBpbnZpc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIGNhcmVmdWxseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBleGhhbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGV4aGFsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGl0ZSB2YXBvciBkcmlmdGVkIGJldHdlZW4gdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xkIHN1cnJvdW5kZWQgS2V2aW4gYnV0IGRpZCBub3QgYXBwZWFyIHRvIHRvdWNoIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QXJlIHlvdSBjb2xkPyZxdW90OyBoZSBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNob29rIGhlciBoZWFkLiAmcXVvdDtBcmUgeW91PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgYnJlYXRoIGZvcm1lZCBhbm90aGVyIGNsb3VkIGFuZCBpbW1lZGlhdGVseSBwcm92ZWQgaGltIHdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHZhcG9yIGRpZCBub3QgZGlzYXBwZWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc3RyZXRjaGVkIHRvd2FyZCB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHRoaW4gd2hpdGUgc3RyYW5kIGNyb3NzZWQgdGhlIGRlYWQgZ3Jhc3MgYW5kIGN1cmxlZCBhcm91bmQgdGhlIG9hawoJdHJ1bmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHJlZSBhcHBlYXJlZCB0byBpbmhhbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2hpdGUgdmFwb3IgdmFuaXNoZWQgaW50byBhIGRhcmsgc3BsaXQgaW4gaXRzIGJhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0b29rIG9uZSBzdGVwIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3MgaGFuZCB0aWdodGVuZWQgYXJvdW5kIGhpcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3UgaGVhciB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGVsZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcnVzdGxpbmcgc291bmQgbW92ZWQgdGhyb3VnaCB0aGUgYnVzaGVzIGJlc2lkZSB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgd2luZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmFzcyBuZWFyZXN0IHRoZSBzaWRld2FsayByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBydXN0bGluZyBjb250aW51ZWQgaW5zaWRlIHRoZSBidXNoZXMsIGNpcmNsaW5nIGZyb20gb25lIHNpZGUgdG8KCXRoZSBvdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyB3YXMgbW92aW5nIHRvd2FyZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtldmluIHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TW92ZSBiZXR3ZWVuIEFiYmllIGFuZCB0aGUgYnVzaGVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNoaWVsZHMgQWJiaWUgYXQgdGhlIEZpZWxkJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0dWR5IHRoZSBidXNoZXMgYW5kIHdhaXQgZm9yIHRoZSBzb3VyY2UgdG8gZW1lcmdlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gV2F0Y2hlcyB0aGUgRmllbGQgQnVzaGVzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1B1bGwgQWJiaWUgYXdheSBhbmQgY29udGludWUgdG93YXJkIHNjaG9vbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gSHVycmllcyBQYXN0IHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgQWJiaWUgd2hhdCBzaGUgaGVhcmQgYmVmb3JlIHJlYWN0aW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgU291bmQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTM5IiBuYW1lPSJLZXZpbiBTaGllbGRzIEFiYmllIGF0IHRoZSBGaWVsZCIgdGFncz0iIiBwb3NpdGlvbj0iMTQyNSw1ODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0tlZXAgQWJiaWUgYXdheSBmcm9tIHdoYXRldmVyIGlzIG1vdmluZyBpbiB0aGUgYnVzaGVzJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGJldHdlZW4gQWJiaWUgYW5kIHRoZSBidXNoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW92ZW1lbnQgaW5zaWRlIHRoZW0gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgb25lIGFybSBleHRlbmRlZCBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U3RheSB0aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxlYW5lZCBhcm91bmQgaGltLiAmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIHNvbWV0aGluZyBpcyBpbiB0aGUgYnVzaGVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgaXQgbGl2ZXMgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGRvZXMgbm90IG1ha2UgaXQgc2FmZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBtYWtlcyBpdCBob21lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBoYXZlIHRpbWUgdG8gZXhwbGFpbiB0aGF0IGxpdmluZyBzb21ld2hlcmUgZGlkIG5vdAoJYXV0b21hdGljYWxseSBtYWtlIGl0cyByZXNpZGVudHMgZnJpZW5kbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhbmNoZXMgc2hpZnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBtb3ZlZCBsb3cgdG8gdGhlIGdyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdpZGVuZWQgaGlzIHN0YW5jZSwgd2hpY2ggd2FzIGhvdyBwZW9wbGUgc3Rvb2Qgd2hlbiBwcm90ZWN0aW5nCglzb21lb25lIGluIG1vdmllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGZlbHQgbGVzcyBpbXByZXNzaXZlIHdoaWxlIHdlYXJpbmcgYSBzY2hvb2wgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcnVzdGxpbmcgY2lyY2xlZCBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBoYWQgY3Jvc3NlZCB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW92ZW1lbnQgY29udGludWVkIG9uIHRoZSBvdGhlciBzaWRlIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBicnVzaGVkIGFnYWluc3QgdGhlIGJhY2sgb2YgaGlzIGxlZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGp1bXBlZCBmb3J3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGF1Z2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvbiYjMzk7dCBsYXVnaC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBqdW1wZWQgbGlrZSBhIGZyb2cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb21ldGhpbmcgdG91Y2hlZCBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90aGluZyYjMzk7cyB0aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFtcCBzdHJlYWsgbWFya2VkIHRoZSBiYWNrIG9mIEtldmluJiMzOTtzIHBhbnQgbGVnLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRml2ZSBuYXJyb3cgbGluZXMgcmFuIHRocm91Z2ggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHJlc2VtYmxlZCB0aGUgdG9lcyBvZiBhIHNtYWxsIHdldCBmb290cHJpbnQuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkZm91bmRXZXRGb290cHJpbnQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVtZW1iZXJlZCB0aGUgcHJpbnQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc3RhaXJjYXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQmFyZWZvb3QuIFNtYWxsZXIgdGhhbiBoaXMuIExhcmdlciB0aGFuIEFiYmllJiMzOTtzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIG1hcmtzIG9uIGhpcyBwYW50IGxlZyBhcHBlYXJlZCB0byBiZSB0aGUgc2FtZSBzaXplLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBtYXJrcyBvbiBLZXZpbiYjMzk7cyBwYW50IGxlZyByZXNlbWJsZWQgdGhlIHdldCBmb290cHJpbnQgaW5zaWRlIHRoZSBob3VzZSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7V2V0IG1hcmtzIG5lYXIgdGhlIGZpZWxkIG1hdGNoZWQgdGhlIHN0YWlyY2FzZSBmb290cHJpbnQmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIG1hcmtzIG9uIEtldmluJiMzOTtzIHBhbnQKCQlsZWcgcmVzZW1ibGVkIHRoZSB3ZXQgZm9vdHByaW50IGZyb20gaW5zaWRlIHRoZSBob3VzZS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcnViYmVkIHRoZSBzdHJlYWsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBzbWVsbGVkIG9mIHdldCBzb2lsLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0ZpdmUgd2V0IG1hcmtzIGFwcGVhcmVkIG9uIEtldmluJiMzOTtzIHBhbnQgbGVnIG5lYXIgdGhlIGZpZWxkJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1VuZXhwbGFpbmVkIG1hcms6Jmx0Oy9zdHJvbmcmZ3Q7IEZpdmUgbmFycm93IHN0cmVha3MgYXBwZWFyZWQgb24KCQlLZXZpbiYjMzk7cyBwYW50IGxlZyBhZnRlciBzb21ldGhpbmcgYnJ1c2hlZCBwYXN0IGhpbS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1c2hlcyBydXN0bGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCBzb21ldGhpbmcgb3JhbmdlIGFwcGVhcmVkIGJldHdlZW4gdGhlIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tLZWVwIEFiYmllIGJlaGluZCBoaW0tJmd0O1RoZSBPcmFuZ2UgQ2F0IEFwcGVhcnNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0MCIgbmFtZT0iVGhlIE9yYW5nZSBDYXQgQXBwZWFycyIgdGFncz0iIiBwb3NpdGlvbj0iMTQyNSw1OTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogRWRnZSBvZiB0aGUgRmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIHdoZXRoZXIgdGhlIG9yYW5nZSBjYXQgaXMgc2FmZSB0byBhcHByb2FjaCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9yYW5nZSBjYXQgc3RlcHBlZCBvbnRvIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBsYXJnZXIgdGhhbiBLZXZpbiBoYWQgZXhwZWN0ZWQsIHdpdGggdGhpY2sgZnVyLCBhIGJyb2FkIGZhY2UsCglhbmQgYSBzdG9tYWNoIHN1Z2dlc3RpbmcgdGhhdCBodW50aW5nIHdhcyBtb3JlIG9mIGEgaG9iYnkgdGhhbiBhCgluZWNlc3NpdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHN0b3BwZWQgc2V2ZXJhbCBmZWV0IGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgYXQgQWJiaWUgZmlyc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVsaWJlcmF0ZSBzZXF1ZW5jZSByZW1pbmRlZCBLZXZpbiBvZiBzb21lb25lIGNoZWNraW5nIG5hbWVzCglhZ2FpbnN0IGEgbGlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGxlYXRoZXIgY29sbGFyIGNpcmNsZWQgdGhlIGNhdCYjMzk7cyBuZWNrLiBTb21ldGhpbmcgbWV0YWxsaWMKCWh1bmcgYmVuZWF0aCBpdHMgY2hpbiwgYnV0IHRoZSB0aGljayBmdXIgY29uY2VhbGVkIG1vc3Qgb2YgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGRpZCBub3QgbWVvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QgcnViIGFnYWluc3QgdGhlaXIgbGVncyBvciBwZXJmb3JtIGFueSBvZiB0aGUgbm9ybWFsCglhY3Rpdml0aWVzIGNhdHMgdXNlZCB0byBjb252aW5jZSBwZW9wbGUgdGhhdCBmZWVkaW5nIHRoZW0gaGFkIGJlZW4KCXRoZSBodW1hbiYjMzk7cyBpZGVhLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgb25seSB3YXRjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY3JvdWNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWxsbywgcHJldHR5IGNhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgdGFpbCBmbGlja2VkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgdG91Y2ggaXQsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBjb3VsZCBiaXRlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZXhhbWluZWQgdGhlIGNhdC4gJnF1b3Q7SXQgZG9lc24mIzM5O3QgbG9vayBiaXRleS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdGhpbmcgbG9va3MgYml0ZXkgdW50aWwgdGhlIGJpdGluZyBiZWdpbnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IG9wZW5lZCBpdHMgbW91dGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc291bmQgY2FtZSBvdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCB0aGUgc21hbGwgbWV0YWwgb2JqZWN0IGJlbmVhdGggaXRzIGNvbGxhciBzd3VuZyBpbnRvIHZpZXcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgYmVsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhIHJvdW5kIHNpbHZlciB0YWcgbWFya2VkIHdpdGggYSB3b3JuIHNpeC1wZXRhbGVkIGZsb3dlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZERvb3JmcmFtZUhleGFmb2lsIG9yICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVjb2duaXplZCB0aGUgc3ltYm9sIGltbWVkaWF0ZWx5LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNhbWUgY2lyY2xlLiBUaGUgc2FtZSBzaXggcGV0YWxzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGhvdXNlIGZsb3dlci4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBkZXNpZ24gbG9va2VkIGRlbGliZXJhdGUgYW5kIG9sZCwgdW5saWtlIGFueSBvcmRpbmFyeSBwZXQKCQl0YWcgS2V2aW4gaGFkIHNlZW4uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBoYWQgYmVlbiBzY3JhdGNoZWQgaW50byBpdHMgcmV2ZXJzZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bGQgbm90IHJlYWQgaXQgZnJvbSB3aGVyZSBoZSBzdG9vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbG9va2VkIHRvd2FyZCB0aGUgb2FrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRyZWUgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgZWFycyBmbGF0dGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSBhbmltYWwgbG9va2VkIGxlc3MgbGlrZSBpdCB3YXMgd2F0Y2hpbmcgS2V2aW4KCWFuZCBtb3JlIGxpa2UgaXQgd2FzIHdhdGNoaW5nIHNvbWV0aGluZyBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0xldCBBYmJpZSBhcHByb2FjaCB0aGUgY2F0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtBYmJpZSBBcHByb2FjaGVzIHRoZSBPcmFuZ2UgQ2F0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O01vdmUgY2xvc2VyIGFuZCBpbnNwZWN0IHRoZSBjb2xsYXIgdGFnLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRXhhbWluZXMgdGhlIENhdCBDb2xsYXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2VlcCBBYmJpZSBiYWNrIGFuZCBjb250aW51ZSB0b3dhcmQgc2Nob29sLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXZvaWRzIHRoZSBPcmFuZ2UgQ2F0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1dhdGNoIGhvdyB0aGUgY2F0IHJlYWN0cyB0byB0aGUgb2FrIHRyZWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRlc3RzIHRoZSBDYXQgYW5kIFRyZWUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQxIiBuYW1lPSJLZXZpbiBXYXRjaGVzIHRoZSBGaWVsZCBCdXNoZXMiIHRhZ3M9IiIgcG9zaXRpb249IjE1NTAsNTgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB3aGF0IGlzIG1vdmluZyBpbnNpZGUgdGhlIGJ1c2hlcyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNb3ZpbmcgdG9vIHNvb24gbWlnaHQgZnJpZ2h0ZW4gd2hhdGV2ZXIgd2FzIGhpZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1pZ2h0IGFsc28gZW5jb3VyYWdlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBwb3NzaWJpbGl0eSB3YXMgaWRlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVzaGVzIHNob29rIG5lYXIgdGhlIGdyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmxhc2ggb2Ygb3JhbmdlIGFwcGVhcmVkIGJldHdlZW4gdGhlIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuaW1hbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCB0aGUgbW92ZW1lbnQgYXBwcm9hY2ggdGhlIGVkZ2Ugb2YgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gb3JhbmdlIHBhdyBlbWVyZ2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc3RvcHBlZCBhYm92ZSB0aGUgbmFycm93IGxpbmUgd2hlcmUgdGhlIGRlYWQgZ3Jhc3MgbWV0IHRoZQoJc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGF3IGxvd2VyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgdG91Y2hpbmcgdGhlIHBhdmVtZW50LCBpdCBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXNoZXMgYmVjYW1lIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHJvdW5kIG9yYW5nZSBmYWNlIGFwcGVhcmVkIGJlbmVhdGggdGhlIGJyYW5jaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjYXQgc3RhcmVkIGF0IHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBhdCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0IHRoZSBib3VuZGFyeSBiZXR3ZWVuIHRoZSBmaWVsZCBhbmQgdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBleHRlbmRlZCBvbmUgcGF3IGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGluc3RhbnQgaXQgY3Jvc3NlZCB0aGUgbGluZSwgdGhlIG9hayB0cmVlIGNyZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHdpdGhkcmV3LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2hpc3BlcmVkLCAmcXVvdDtJdCYjMzk7cyBzY2FyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXMgbm90IGNlcnRhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGxvb2tlZCBsZXNzIGZyaWdodGVuZWQgdGhhbiBjYXV0aW91cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUxpa2UgaXQgdW5kZXJzdG9vZCBhIHJ1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYW5pbWFsIGV4YW1pbmVkIHRoZSBzaWRld2FsayBpbiBib3RoIGRpcmVjdGlvbnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IGxvb2tlZCB0b3dhcmQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0b29rIG9uZSBzdGVwIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgcGxhY2VkIGl0cyBwYXcgb24gdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIGNyZWFrZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIHRpbWUsIHRoZSBjYXQgZGlkIG5vdCByZXRyZWF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY3Jvc3NlZCBmdWxseSBvbnRvIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZWFkIGdyYXNzIGJlaGluZCBpdCBiZW50IGlud2FyZCwgYnJpZWZseSBvdXRsaW5pbmcgdHdvIGh1bWFuCglmZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgZ3Jhc3Mgcm9zZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgaGVzaXRhdGVkIGJlZm9yZSBjcm9zc2luZyBmcm9tIHRoZSBmaWVsZCB0byB0aGUgc2lkZXdhbGsmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBncmFzcyBiZWhpbmQgdGhlIGNhdCBicmllZmx5IGZvcm1lZCB0d28gaHVtYW4gZm9vdHByaW50cyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCBhcHBlYXJlZCB0byByZWNvZ25pemUgYSBib3VuZGFyeSBiZXNpZGUgdGhlIGZpZWxkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIG9yYW5nZSBjYXQgaGVzaXRhdGVkIGF0IHRoZSBlZGdlIG9mCgl0aGUgc2lkZXdhbGsgYXMgdGhvdWdoIGl0IHJlY29nbml6ZWQgYSBib3VuZGFyeS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzYXQgZGlyZWN0bHkgaW4gZnJvbnQgb2YgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgdGFpbCBjdXJsZWQgbmVhdGx5IGFyb3VuZCBpdHMgcGF3cy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB3aGF0IHRoZSBjYXQgZG9lcyBuZXh0LSZndDtUaGUgT3JhbmdlIENhdCBBcHBlYXJzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDIiIG5hbWU9IktldmluIEh1cnJpZXMgUGFzdCB0aGUgRmllbGQiIHRhZ3M9IiIgcG9zaXRpb249IjEzMDAsNTkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7R2V0IEFiYmllIGF3YXkgZnJvbSB0aGUgZmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBnZW50bHkgb24gQWJiaWUmIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlJiMzOTtyZSBsZWF2aW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2Ugd2VyZSBhbHJlYWR5IGxlYXZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSYjMzk7cmUgbGVhdmluZyBmYXN0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJcyB0aGF0IHJ1bm5pbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGluY3JlYXNlZCBoaXMgcGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNraXBwZWQgdHdpY2UgdG8ga2VlcCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCB0aGVtLCB0aGUgYnVzaGVzIHJ1c3RsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHR1cm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgZm9sbG93ZWQgYWxvbmcgdGhlIGVkZ2Ugb2YgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQnJhbmNoZXMgc25hcHBlZC4gRGVhZCBncmFzcyBoaXNzZWQuIFNvbWV0aGluZyBtb3ZlZCBwYXJhbGxlbCB0byB0aGVtCgl3aXRob3V0IGVtZXJnaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2Fsa2VkIGZhc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvIGRpZCB0aGUgdW5zZWVuIGFuaW1hbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tldmluLCB5b3UmIzM5O3JlIHNxdWVlemluZyBteSBoYW5kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9vc2VuZWQgaGlzIGdyaXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb3JyeS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaWVsZCBlbmRlZCBhdCBhIHJvdyBvZiBoZWRnZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW92ZW1lbnQgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbGVhc2VkIGEgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBoYWQgcGFzc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hhdGV2ZXIgaGFkIGJlZW4gaW4gdGhlIGJ1c2hlcyBoYWQgcmVtYWluZWQgYmVoaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBBYmJpZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbmVhcmx5IHdhbGtlZCBpbnRvIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIG9yYW5nZSBjYXQgc2F0IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNpZGV3YWxrIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZmFjZWQgdGhlbSB3aXRoIGl0cyB0YWlsIHdyYXBwZWQgYXJvdW5kIGl0cyBwYXdzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVzaGVzIGJlc2lkZSB0aGUgZmllbGQgd2VyZSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgY291bGQgbm90IGhhdmUgcGFzc2VkIHRoZW0gd2l0aG91dCBiZWluZyBzZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgbm90IGhhdmUgY3Jvc3NlZCB0aGUgb3BlbiBzaWRld2FsayB3aXRob3V0IEtldmluIG5vdGljaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIG5vdCBiZWVuIGFoZWFkIG9mIHRoZW0gbW9tZW50cyBlYXJsaWVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJWWV0IHRoZXJlIGl0IHdhcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhaXRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuICZxdW90O0l0IGJlYXQgdXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSB3ZXJlbiYjMzk7dCByYWNpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGJsaW5rZWQgc2xvd2x5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVjZWl2ZWQgdGhlIGRpc3RpbmN0IGltcHJlc3Npb24gdGhhdCB0aGUgY2F0IGRpc2FncmVlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQgb2YgS2V2aW4gYW5kIEFiYmllIHdpdGhvdXQgcGFzc2luZyB0aGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCBhcHBlYXJlZCBhaGVhZCBkZXNwaXRlIG5ldmVyIHBhc3NpbmcgS2V2aW4gYW5kIEFiYmllJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQgb2YgS2V2aW4gYW5kIEFiYmllIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIHNpZGV3YWxrJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBtb3ZlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIG9yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQKCW9mIEtldmluIGFuZCBBYmJpZSB3aXRob3V0IHBhc3NpbmcgdGhlbS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdG9vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRvb2sgb25lIHN0ZXAgdG93YXJkIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0RvIG5vdCBsZXQgaXQgb3V0IG9mIHNpZ2h0LSZndDtUaGUgT3JhbmdlIENhdCBBcHBlYXJzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDMiIG5hbWU9IktldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIFNvdW5kIiB0YWdzPSIiIHBvc2l0aW9uPSIxNDI1LDYxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBvdXQgd2hhdCBBYmJpZSBoZWFyZCBpbnNpZGUgdGhlIGJ1c2hlcyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBkaWQgeW91IGhlYXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0aWx0ZWQgaGVyIGhlYWQgdG93YXJkIHRoZSBidXNoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcnVzdGxpbmcgaGFkIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBIGJlbGwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsaXN0ZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhlYXJkIGxlYXZlcyBzaGlmdGluZywgYSBkaXN0YW50IGNhciwgYW5kIHRoZSBmYWludCBlbGVjdHJpY2FsIGh1bQoJb2YgcG93ZXIgbGluZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBiZWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBraW5kIG9mIGJlbGw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBIHRpbnkgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TGlrZSBvbiBhIGJpY3ljbGU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0Egc2Nob29sIGJlbGw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4gQSBjYXQgYmVsbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBpbnRvIHRoZSBidXNoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIG9yYW5nZSBvciBjYXQtc2hhcGVkIHdhcyB2aXNpYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SG93IGRvIHlvdSBrbm93IGl0JiMzOTtzIGEgY2F0IGJlbGw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIHRoZSBjYXQgdG9sZCBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgY2F0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIG9yYW5nZSBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVyZSBpcyBubyBvcmFuZ2UgY2F0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcG9pbnRlZCB0b3dhcmQgdGhlIG9hay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIG9yYW5nZSBjYXQgc2F0IGJlbmVhdGggdGhlIGxvd2VzdCBicmFuY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbG9va2VkIGF0IHRoYXQgZXhhY3QgcGxhY2Ugc2Vjb25kcyBlYXJsaWVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIGJlZW4gZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHdvcmUgYSBuYXJyb3cgY29sbGFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBtZXRhbCB0YWcgaHVuZyBiZW5lYXRoIGl0cyBjaGluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyBkaWQgbm90IG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGlsbCBjb3VsZCBub3QgaGVhciBhIGJlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGRpZCBpdCB0ZWxsIHlvdT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxpc3RlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBvcGVuZWQgaXRzIG1vdXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGVhcmQgbm8gc291bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBhbnN3ZXJlZCBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBzYWlkIHdlIHNob3VsZG4mIzM5O3Qgc3RhbmQgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxpc3RlbmVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIHNtaWxlIGZhZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSB0aGUgdHJlZSBrbm93cyB5b3VyIG5hbWUgbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBicmFuY2ggc2hpZnRlZCBoaWdoIGFib3ZlIHRoZSBjYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbmFycm93IHNoYXBlIEtldmluIGhhZCBnbGltcHNlZCBlYXJsaWVyIGFwcGVhcmVkIGZvciBvbmUgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbGVhbmVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHN0b29kIGFuZCB3YWxrZWQgdG93YXJkIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgaGVhcmQgYSBiZWxsIGFuZCBjbGFpbWVkIHRoZSBvcmFuZ2UgY2F0IHNwb2tlIHRvIGhlciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgd2FybmVkIHRoYXQgdGhlIHRyZWUga25vd3MgS2V2aW4mIzM5O3MgbmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYWlkIHRoZSBvcmFuZ2UgY2F0IHdhcm5lZCB0aGVtIGF3YXkgZnJvbSB0aGUgdHJlZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QWJiaWUmIzM5O3Mgd2FybmluZzombHQ7L3N0cm9uZyZndDsgQWJiaWUgY2xhaW1zIHRoZSBvcmFuZ2UgY2F0IHNhaWQKCXRoZXkgc2hvdWxkIGxlYXZlIGJlY2F1c2UgdGhlIHRyZWUgbm93IGtub3dzIEtldmluJiMzOTtzIG5hbWUuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgaGVhciB0aGUgY2F0IHNwZWFrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGVhcmQgdGhlIG9hayB0cmVlIGNyZWFrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIHJlc2VtYmxlZCB0aGUgZmlyc3Qgc3lsbGFibGUgb2YgaGlzIG5hbWUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IHRoZSBjYXQgYXdheSBmcm9tIHRoZSB0cmVlLSZndDtUaGUgT3JhbmdlIENhdCBBcHBlYXJzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDQiIG5hbWU9IkFiYmllIEFwcHJvYWNoZXMgdGhlIE9yYW5nZSBDYXQiIHRhZ3M9IiIgcG9zaXRpb249IjE1NTAsNjE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGFiYmllVG91Y2hlZE9yYW5nZUNhdCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogRWRnZSBvZiB0aGUgRmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUFiYmllIGV4dGVuZGVkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCB3YXRjaGVkIGhlciBmaW5nZXJzIGFwcHJvYWNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TGV0IGl0IHNtZWxsIHlvdSBmaXJzdCwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSB3ZXJlIHJlYWNoaW5nIGZvciBpdHMgaGVhZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgd2FzIGxldHRpbmcgaXRzIGhlYWQgc21lbGwgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkZWNpZGVkIHRoZSBkaXN0aW5jdGlvbiB3b3VsZCB0YWtlIHRvbyBsb25nIHRvIGNvcnJlY3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGxlYW5lZCBmb3J3YXJkIGFuZCB0b3VjaGVkIGl0cyBub3NlIHRvIEFiYmllJiMzOTtzIGZpbmdlcnRpcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgdGFpbCByb3NlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIGNyZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGZyb3plLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3Ryb2tlZCB0aGUgZnVyIGJldHdlZW4gaXRzIGVhcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxvdyBydW1ibGUgY2FtZSBmcm9tIGl0cyBjaGVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgcmVhc3N1cmluZyBzZWNvbmQsIGl0IHNvdW5kZWQgbGlrZSBhIHB1cnIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIgc291bmQgZW1lcmdlZCBiZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB3aGlzcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3aGlzcGVyIHJlcGVhdGVkIGluIHRpbWUgd2l0aCB0aGUgcHVycmluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglOb3QgaGVycy4gTm90IHlldC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHVsbGVkIEFiYmllJiMzOTtzIGhhbmQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgZGlkIG5vdCBzY3JhdGNoIG9yIGJpdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgZGlyZWN0bHkgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGhlYXIgdGhhdD8mcXVvdDsgaGUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWFyIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgd2hpc3Blci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNob29rIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIHB1cnJpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHJ1YmJlZCBpdHMgZmFjZSBhZ2FpbnN0IEFiYmllJiMzOTtzIGtuZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2lsdmVyIHRhZyB0YXBwZWQgaGVyIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3IgYW4gaW5zdGFudCwgdHdvIG5hcnJvdyBzdHJva2VzIGFwcGVhcmVkIGJlbmVhdGggdGhlIHNpeC1wZXRhbGVkCglzeW1ib2wuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5JSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2FtZSBudW1lcmFsIEtldmluIGhhZCBmb3VuZCBvbiB0aGUgZnJvbnQgZG9vcmZyYW1lLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0JiMzOTtzIHRhZyBicmllZmx5IGRpc3BsYXllZCB0aGUgc2FtZSBJSSBhcyB0aGUgZnJvbnQgZG9vcmZyYW1lJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcgY29ubmVjdGVkIHdpdGggdGhlIGRvb3JmcmFtZSBtYXJrZWQgSUkmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGNhdCYjMzk7cyB0YWcgYnJpZWZseSBzaG93ZWQKCQl0aGUgc2FtZSBSb21hbiBudW1lcmFsIGFzIHRoZSBmcm9udCBkb29yZnJhbWUuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJlY29nbml6ZWQgdGhlIG1hcmsgYXMgdGhlIFJvbWFuIG51bWVyYWwgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0JiMzOTtzIHRhZyBicmllZmx5IGRpc3BsYXllZCB0aGUgUm9tYW4gbnVtZXJhbCBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gbWFya2luZzombHQ7L3N0cm9uZyZndDsgVGhlIFJvbWFuIG51bWVyYWwgSUkgYnJpZWZseQoJCWFwcGVhcmVkIGJlbmVhdGggdGhlIHN5bWJvbCBvbiB0aGUgY2F0JiMzOTtzIHRhZy4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBoZWFyZCBhIHdoaXNwZXIgYmVuZWF0aCB0aGUgb3JhbmdlIGNhdCYjMzk7cyBwdXJyaW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSB0b3VjaGVkIHRoZSBvcmFuZ2UgY2F0IG5lYXIgdGhlIGZpZWxkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLiAmcXVvdDtJdCBsaWtlcyBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbG9va2VkIGF0IHRoZSBvYWsgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBmdXIgcm9zZSBhbG9uZyBpdHMgYmFjay4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTZWUgd2hhdCBmcmlnaHRlbmVkIGl0LSZndDtUaGUgQ2F0IFJ1bnMgdG8gdGhlIFRyZWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0NSIgbmFtZT0iVGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTUwLDYyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvcmFuZ2VDYXRTZWVuID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSB0aGUgb3JhbmdlIGNhdCBpcyByZXR1cm5pbmcgdG8gdGhlIG9hayB0cmVlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgb3JhbmdlIGNhdCB0dXJuZWQgdG93YXJkIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxvb2tlZCBiYWNrIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhdCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyB0YWlsIGZsaWNrZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgc3RlcHBlZCBpbnRvIHRoZSBkZWFkIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0YWxrcyBiZW50IGF3YXkgZnJvbSBpdHMgcGF3cyBiZWZvcmUgdGhlIGFuaW1hbCB0b3VjaGVkIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjcm9zc2VkIHRoZSBmaWVsZCB3aXRob3V0IG1ha2luZyBhIHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gcnVzdGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gYmVsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHNvZnQgaW1wYWN0IG9mIHBhd3MgYWdhaW5zdCBzb2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFyayBvcGVuaW5nIHNwbGl0IHRoZSBiYXNlIG9mIGl0cyB0cnVuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgcmVtZW1iZXIgc2VlaW5nIHRoZSBob2xsb3cgYmVmb3JlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdG9wcGVkIG91dHNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgYmFjayBvbmUgZmluYWwgdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHdhdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBsb3dlcmVkIGl0cyBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGEgYm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTW9yZSBsaWtlIGFuIGFja25vd2xlZGdtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCBzdGVwcGVkIGludG8gdGhlIG9wZW5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgZnJvbnQgaGFsZiBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXRzIGJvZHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBvcmFuZ2UgdGFpbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob2xsb3cgd2FzIHRvbyBzbWFsbCB0byBjb250YWluIHRoZSBjYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHJlZSBhY2NlcHRlZCBpdCBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQgZm9yIHRoZSBhbmltYWwgdG8gZW1lcmdlIGZyb20gdGhlIG90aGVyIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzaGFwZSBtb3ZlZCBiZWhpbmQgdGhlIGJhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0cmF2ZWxlZCB1cHdhcmQgdGhyb3VnaCB0aGUgdHJ1bmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmb2xsb3dlZCBpdCB3aXRoIGhpcyBleWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYXBlIHJlYWNoZWQgdGhlIGZpcnN0IGJyYW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHNlY29uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHBsYWNlIHdoZXJlIEtldmluIGhhZCBzZWVuIHRoZSB0YWxsIGZpZ3VyZSBzdGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBvcmFuZ2UgZXllcyBvcGVuZWQgYW1vbmcgdGhlIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBicmFuY2hlcyBzaG9vay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBleWVzIHZhbmlzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIGRyb3BwZWQgZnJvbSB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxhbmRlZCBpbiB0aGUgZGVhZCBncmFzcyBuZWFyIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGxlYXRoZXIgY29sbGFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1ldGFsIHRhZyByZWZsZWN0ZWQgdGhlIG1vcm5pbmcgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGRpZCBub3QgcmV0dXJuLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgb3JhbmdlIGNhdCBkaXNhcHBlYXJlZCBpbnNpZGUgdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCBlbnRlcmVkIGEgaG9sbG93IHRvbyBzbWFsbCB0byBjb250YWluIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IGRpc2FwcGVhcmVkIGluc2lkZSB0aGUgb2FrIHRyZWUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYWpvciBjbHVlOiZsdDsvc3Ryb25nJmd0OyBUaGUgb3JhbmdlIGNhdCBkaXNhcHBlYXJlZCBpbnNpZGUgdGhlIG9hawoJdHJlZSwgbGVhdmluZyBpdHMgY29sbGFyIGJlaGluZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBkbz8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZXRyaWV2ZSB0aGUgY29sbGFyIGJlZm9yZSBsZWF2aW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZXRyaWV2ZXMgdGhlIENhdCBDb2xsYXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3R1ZHkgdGhlIGNvbGxhciBmcm9tIHRoZSBzaWRld2Fsay4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFN0dWRpZXMgdGhlIEZhbGxlbiBDb2xsYXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2VlcCBBYmJpZSBhd2F5IGFuZCBsZWF2ZSB0aGUgY29sbGFyIHdoZXJlIGl0IGZlbGwuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIExlYXZlcyB0aGUgQ2F0IENvbGxhciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hhdCBBYmJpZSBzYXcgd2hlbiB0aGUgY2F0IGVudGVyZWQgdGhlIHRyZWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBc2tzIEFiYmllIEFib3V0IHRoZSBDYXQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQ2IiBuYW1lPSJLZXZpbiBFeGFtaW5lcyB0aGUgQ2F0IENvbGxhciIgdGFncz0iIiBwb3NpdGlvbj0iMTQyNSw2Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5FeGFtaW5lZENhdFRhZyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogRWRnZSBvZiB0aGUgRmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGNyb3VjaGVkIHNldmVyYWwgZmVldCBmcm9tIHRoZSBjYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrZXB0IGJvdGggaGFuZHMgd2hlcmUgdGhlIGFuaW1hbCBjb3VsZCBzZWUgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgd2FzIHBhcnRseSBmb3IgdGhlIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBtb3N0bHkgYmVjYXVzZSBLZXZpbiBkaWQgbm90IGtub3cgd2hhdCBlbHNlIG1pZ2h0IGJlIHdhdGNoaW5nCglmcm9tIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaWx2ZXIgdGFnIGh1bmcgYmVuZWF0aCB0aGUgY2F0JiMzOTtzIGNoaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2l4LXBldGFsZWQgc3ltYm9sIGhhZCBiZWVuIHN0YW1wZWQgaW50byBpdHMgZmFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncm9vdmVzIHdlcmUgZGFyayB3aXRoIGFnZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZERvb3JmcmFtZUhleGFmb2lsIG9yICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSXQgbWF0Y2hlZCB0aGUgc3ltYm9scyBhdCB0aGUgaG91c2UgY2xvc2VseSBlbm91Z2ggdGhhdCBjb2luY2lkZW5jZQoJCWhhZCBiZWNvbWUgYW4gdW5yZWFzb25hYmxlIGV4cGxhbmF0aW9uLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIHRvIG9uZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyB0dXJuZWQgd2l0aCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsZWFuZWQgdGhlIG90aGVyIHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHR1cm5lZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgaGFkIG5vdCBtb3ZlZCBpdHMgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0YWcgYXBwZWFyZWQgZGV0ZXJtaW5lZCB0byBrZWVwIGl0cyByZXZlcnNlIHNpZGUgaGlkZGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVhY2hlZCB0b3dhcmQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGFsbG93ZWQgaGlzIGZpbmdlcnMgdG8gdG91Y2ggdGhlIGNvbGQgbWV0YWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByb3RhdGVkIHRoZSB0YWcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgd29yZCBoYWQgYmVlbiBlbmdyYXZlZCBvbiB0aGUgYmFjazoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglMVUNLCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCU5vIGFkZHJlc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvd25lciYjMzk7cyBuYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gdGVsZXBob25lIG51bWJlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgJmx0O2VtJmd0O0xVQ0smbHQ7L2VtJmd0Oy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbGVhc2VkIHRoZSB0YWcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzd3VuZyBiYWNrIGludG8gcGxhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGV0dGVycyBjaGFuZ2VkIGFzIHRoZSBtZXRhbCB0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHNlY29uZCwgS2V2aW4gcmVhZDoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglMVUNZCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIHRhZyBjb21wbGV0ZWQgaXRzIHR1cm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29yZCB3YXMgaGlkZGVuIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBjYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJcyB5b3VyIG5hbWUgTHVjayBvciBMdWN5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY3JvdWNoZWQgYmVzaWRlIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB0aGluayBpdHMgbmFtZSBpcyBDYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdvdWxkIGJlIHVudXN1YWxseSBkaXJlY3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIGdhdmUgb25lIGZhaW50IG1ldGFsbGljIGNsaWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIGFuc3dlcmVkIHdpdGggYSBjcmVhay4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7RGVzY3JpcHRpb24gb2YgdGhlIG9yYW5nZSBjYXQmIzM5O3MgdGFnJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCB3ZWFycyBhIGhleGFmb2lsIHRhZyBlbmdyYXZlZCB3aXRoIExVQ0sgb3IgcG9zc2libHkgTFVDWSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtPcmFuZ2UgY2F0JiMzOTtzIHRhZyBiZWFycyB0aGUgaGV4YWZvaWwgYW5kIHRoZSB3b3JkIExVQ0sgb3IgTFVDWSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q2x1ZSBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgY2F0JiMzOTtzIHRhZyBiZWFycyB0aGUgc2l4LXBldGFsZWQKCXN5bWJvbCBhbmQgYXBwZWFycyB0byByZWFkIGVpdGhlciBMVUNLIG9yIExVQ1kuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBjYXQgdHVybmVkIHRvd2FyZCB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgY29sbGFyIHRpZ2h0ZW5lZCBhZ2FpbnN0IGl0cyBmdXIgYXMgdGhvdWdoIHNvbWV0aGluZyBoYWQgdHVnZ2VkCglmcm9tIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHRyZWUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbV2F0Y2ggd2hlcmUgaXQgZ29lcy0mZ3Q7VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDciIG5hbWU9IktldmluIEF2b2lkcyB0aGUgT3JhbmdlIENhdCIgdGFncz0iIiBwb3NpdGlvbj0iMTMwMCw2Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogRWRnZSBvZiB0aGUgRmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGhhdmUgdG8ga2VlcCBtb3ZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZW1haW5lZCBjcm91Y2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0J1dCBpdCBjYW1lIHRvIHNlZSB1cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGRvbiYjMzk7dCBrbm93IHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBzYXQgaW4gZnJvbnQgb2YgdXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIGxvY2F0aW9uLCBub3QgaW50ZW50aW9uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNheSB3ZWlyZCB0aGluZ3Mgd2hlbiB5b3UmIzM5O3JlIHNjYXJlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O20gbm90IHNjYXJlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgb3BlbmVkIGl0cyBtb3V0aCB3aXRob3V0IG1ha2luZyBhIHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBhbm90aGVyIHN0ZXAgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBhcmd1bWVudCBoYWQgc3VmZmVyZWQgZGFtYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3Rvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHJlbWFpbmVkIG9uIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGd1aWRlZCBBYmJpZSBhcm91bmQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBcyB0aGV5IHBhc3NlZCwgdGhlIGFuaW1hbCB0dXJuZWQgaXRzIGhlYWQgdG8gZm9sbG93IHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgYm9keSByZW1haW5lZCBwZXJmZWN0bHkgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgaGVhZCBjb250aW51ZWQgdHVybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZhcnRoZXIgdGhhbiBpdCBzaG91bGQgaGF2ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBiZWxsIHJhbmcgYmVoaW5kIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZW1lbWJlcmVkIHRoYXQgdGhlIGNhdCYjMzk7cyBjb2xsYXIgaGFkIG5vIGJlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHR1cm4gYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2Vjb25kIGJlbGwgc291bmRlZCBhaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvcmFuZ2UgY2F0IG5vdyBzYXQgYmVzaWRlIHRoZSBmaWVsZCBlbnRyYW5jZSBzZXZlcmFsIHlhcmRzIGluCglmcm9udCBvZiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLiAmcXVvdDtJdCBkaWQgdGhlIGRpc2FwcGVhcmluZyB0cmljayBhZ2Fpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGxvb2tlZCB0b3dhcmQgdGhlIG9hayB0cmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCBsb29rZWQgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0b29rIG9uZSBzdGVwIGludG8gdGhlIGRlYWQgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbm90aGVyIGJlbGwgcmFuZyBmcm9tIHNvbWV3aGVyZSBpbnNpZGUgdGhlIHRyZWUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSBvcmFuZ2UgY2F0IGFwcGVhcmVkIGFoZWFkIGEgc2Vjb25kIHRpbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IHJlYXBwZWFyZWQgYWhlYWQgYWZ0ZXIgS2V2aW4gYXZvaWRlZCBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBiZWxsIHNvdW5kZWQgZXZlbiB0aG91Z2ggdGhlIGNhdCB3b3JlIG5vIHZpc2libGUgYmVsbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5leHBsYWluZWQgbW92ZW1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBjYXQgYXBwZWFyZWQgYWhlYWQgYWdhaW4sCglhbmQgS2V2aW4gaGVhcmQgYSBiZWxsIHRoYXQgd2FzIG5vdCBhdHRhY2hlZCB0byBpdHMgY29sbGFyLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbV2F0Y2ggdGhlIGNhdCBlbnRlciB0aGUgZmllbGQtJmd0O1RoZSBDYXQgUnVucyB0byB0aGUgVHJlZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQ4IiBuYW1lPSJLZXZpbiBUZXN0cyB0aGUgQ2F0IGFuZCBUcmVlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTUwLDYwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpblRlc3RlZENhdFRyZWVDb25uZWN0aW9uID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBFZGdlIG9mIHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCB0aGUgY2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgZWFycyB0dXJuZWQgdG93YXJkIGV2ZXJ5IGNyZWFrIG9mIHRoZSBicmFuY2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyB0YWlsIGZsaWNrZWQgd2hlbmV2ZXIgdGhlIG5hcnJvdyBzaGFwZSBhcHBlYXJlZCBhbW9uZyB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgd2FzIGEgY29ubmVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG5lZWRlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIGl0IHRyYXZlbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RlcHBlZCB0b3dhcmQgdGhlIG9hay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbW92ZWQgYmV0d2VlbiBoaW0gYW5kIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgdG8gdGhlIHJpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBtb3ZlZCByaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgbGVmdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgYmxvY2tlZCBoaW0gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuICZxdW90O0l0IHdhbnRzIHRvIHBsYXkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHRoaW5rIHNvLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG9vayBvbmUgZGVsaWJlcmF0ZSBzdGVwIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCByZWxheGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIGZ1ciBzZXR0bGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIGFib3ZlIHRoZSBmaWVsZCBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCBmb3J3YXJkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBoaXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IGhpc3MgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBmYWNlZCB0aGUgb2FrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5hcnJvdyBzaGFwZSBhbW9uZyB0aGUgYnJhbmNoZXMgbGVhbmVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdHJ1Y2sgdGhlIGdyb3VuZCBvbmNlIHdpdGggaXRzIGZyb250IHBhdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBsaW5lIGFwcGVhcmVkIGluIHRoZSBkaXJ0IGJlc2lkZSB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGluZSBjdXJ2ZWQgYXJvdW5kIEtldmluJiMzOTtzIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFyb3VuZCBBYmJpZSYjMzk7cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzYXQgb3V0c2lkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgdHJlZSBjcmVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNhbWUgZnJvbSBldmVyeSBicmFuY2ggYXQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZWFkIGdyYXNzIGJlbnQgdG93YXJkIHRoZSBjaXJjbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb25lIGNyb3NzZWQgdGhlIGxpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGhhZCBub3QgYmVlbiBibG9ja2luZyBLZXZpbiBmcm9tIGVudGVyaW5nIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBiZWVuIGtlZXBpbmcgc29tZXRoaW5nIGluIHRoZSBmaWVsZCBmcm9tIHJlYWNoaW5nIGhpbS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgZHJldyBhIGJvdW5kYXJ5IHRoYXQgdGhlIGRlYWQgZ3Jhc3MgZGlkIG5vdCBjcm9zcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgbWF5IGJlIHByb3RlY3RpbmcgS2V2aW4gYW5kIEFiYmllIGZyb20gdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IGNyZWF0ZWQgYSBwcm90ZWN0aXZlIGJvdW5kYXJ5IG5lYXIgdGhlIGZpZWxkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBwcm90ZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgY2F0IGRyZXcgYSBsaW5lIGFyb3VuZCBLZXZpbgoJYW5kIEFiYmllIHRoYXQgdGhlIGRlYWQgZ3Jhc3Mgd291bGQgbm90IGNyb3NzLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgbmFycm93IHNoYXBlIGRpc2FwcGVhcmVkIGZyb20gdGhlIGJyYW5jaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBicm9rZSB0aGUgY2lyY2xlIHdpdGggb25lIHBhdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgdHVybmVkIGFuZCByYW4gdG93YXJkIHRoZSBvYWsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IGl0cyBtb3ZlbWVudCB0aHJvdWdoIHRoZSBmaWVsZC0mZ3Q7VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDkiIG5hbWU9IktldmluIFJldHJpZXZlcyB0aGUgQ2F0IENvbGxhciIgdGFncz0iIiBwb3NpdGlvbj0iMTMwMCw2MTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5SZXRyaWV2ZWRDYXRDb2xsYXIgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZXRyaWV2ZSB0aGUgY29sbGFyIHdpdGhvdXQgYXBwcm9hY2hpbmcgdGhlIG9hayB0cmVlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIG9mZiB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVhZCBncmFzcyBiZW50IGF3YXkgZnJvbSBoaXMgc2hvZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RhbGtzIGhhZCBub3QgYmVlbiBjcnVzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBoYWQgbW92ZWQgYmVmb3JlIGhlIHRvdWNoZWQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1N0YXkgb24gdGhlIHNpZGV3YWxrLCZxdW90OyBoZSB0b2xkIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBvbmUgb2YgdXMgc2hvdWxkIG1ha2UgYSBnb29kIGRlY2lzaW9uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hpY2ggb25lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmFzcyBsZWFuZWQgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1N0aWxsIGJlaW5nIGRldGVybWluZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sbGFyIGxheSBzZXZlcmFsIGZlZXQgZnJvbSB0aGUgc2lkZXdhbGsuIFRoZSBzaWx2ZXIgdGFnIGNhdWdodAoJdGhlIGxpZ2h0IGVhY2ggdGltZSB0aGUgb2FrIGJyYW5jaGVzIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBhbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWlyIGJlY2FtZSBjb2xkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHRoaXJkIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2FrIHRyZWUgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNyb3VjaGVkIGFuZCByZWFjaGVkIGZvciB0aGUgY29sbGFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlYWQgZ3Jhc3MgY2xvc2VkIGFyb3VuZCBoaXMgd3Jpc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgdGlnaHRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB5ZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBncmFiYmVkIHRoZSBsZWF0aGVyIHN0cmFwIGFuZCBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmFzcyByZWxlYXNlZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZXR1cm5lZCB0byB0aGUgc2lkZXdhbGsgYmVmb3JlIGV4YW1pbmluZyB3aGF0IGhlIGhhZCBjb2xsZWN0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGVhdGhlciB3YXMgZHJ5IGFuZCBjcmFja2VkIHdpdGggYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBsb29rIGxpa2Ugc29tZXRoaW5nIGEgd2VsbC1mZWQgaG91c2UgY2F0IGhhZCB3b3JuIHRoYXQKCW1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgYXMgdGhvdWdoIGl0IGhhZCBiZWVuIGJ1cmllZCBmb3IgeWVhcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcm91bmQgc2lsdmVyIHRhZyBib3JlIHRoZSBzaXgtcGV0YWxlZCBzeW1ib2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbiB0aGUgcmV2ZXJzZSBzaWRlLCB0aGUgZW5ncmF2aW5nIHJlYWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTFVDWQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0aWx0ZWQgdGhlIHRhZyB0b3dhcmQgdGhlIGxpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpbmFsIGxldHRlciBjaGFuZ2VkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUxVQ0sKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJSGUgdGlsdGVkIGl0IGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMVUNZLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yd2FyZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUxVQ0suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHR1cm5pbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIGhhZCBwcm92aWRlZCB0d28gYW5zd2Vycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5laXRoZXIgZXhwbGFpbmVkIHdoZXJlIHRoZSBjYXQgaGFkIGdvbmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O09yYW5nZSBjYXQmIzM5O3MgY29sbGFyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiByZXRyaWV2ZWQgdGhlIG9yYW5nZSBjYXQmIzM5O3MgYW5jaWVudC1sb29raW5nIGNvbGxhciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGNhdCYjMzk7cyB0YWcgY2hhbmdlcyBiZXR3ZWVuIExVQ1kgYW5kIExVQ0smcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQmIzM5O3MgdGFnIGNoYW5nZXMgYmV0d2VlbiBMVUNZIGFuZCBMVUNLJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtJdGVtIGNvbGxlY3RlZDombHQ7L3N0cm9uZyZndDsgS2V2aW4gcmV0cmlldmVkIHRoZSBjYXQmIzM5O3MgY29sbGFyLiBJdHMKCXRhZyBhcHBlYXJzIHRvIGNoYW5nZSBiZXR3ZWVuIExVQ1kgYW5kIExVQ0suCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHNsaXBwZWQgdGhlIGNvbGxhciBpbnRvIGhpcyBiYWNrcGFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBtb3ZlZCBpbnNpZGUgdGhlIHRyZWUgaG9sbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSB3aXRoaW4gS2V2aW4mIzM5O3MgYmFja3BhY2sgY2FtZSBvbmUgZmFpbnQgcHVyci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZWF2ZSB0aGUgZmllbGQgYmVoaW5kLSZndDtLZXZpbiBhbmQgQWJiaWUgQ29udGludWUgdG8gU2Nob29sXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTAiIG5hbWU9IktldmluIFN0dWRpZXMgdGhlIEZhbGxlbiBDb2xsYXIiIHRhZ3M9IiIgcG9zaXRpb249IjEzNTAsNjQ3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluU3R1ZGllZENhdENvbGxhciA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1N0dWR5IHRoZSBjb2xsYXIgd2l0aG91dCBlbnRlcmluZyB0aGUgZmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIG9uIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xsYXIgbGF5IHNldmVyYWwgZmVldCBpbnNpZGUgdGhlIGRlYWQgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBcHByb2FjaGluZyBpdCB3b3VsZCBwcm92aWRlIGEgYmV0dGVyIHZpZXcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBcHByb2FjaGluZyBpdCB3b3VsZCBhbHNvIG1vdmUgS2V2aW4gY2xvc2VyIHRvIGEgdHJlZSB0aGF0IGhhZCBqdXN0Cglzd2FsbG93ZWQgYSBjYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEaXN0YW5jZSBzZWVtZWQgbGlrZSB0aGUgc3Ryb25nZXIgc3RyYXRlZ3kuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjcm91Y2hlZCBhbmQgc3R1ZGllZCB0aGUgc2lsdmVyIHRhZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaXgtcGV0YWxlZCBzeW1ib2wgY292ZXJlZCBvbmUgc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0YWcgcm90YXRlZCBzbG93bHkgYWx0aG91Z2ggdGhlIGNvbGxhciByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhaXIgd2FzIGNhbG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZ3Jhc3MgYXJvdW5kIGl0IGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgdGhlIG1ldGFsIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBlZGdlIHJlZmxlY3RlZCBzdW5saWdodCBvbnRvIHRoZSBvYWsgdHJ1bmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGJyaWdodCBwb2ludCB0cmF2ZWxlZCBhY3Jvc3MgdGhlIGJhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGVyZXZlciB0aGUgcmVmbGVjdGlvbiB0b3VjaGVkLCBmYWludCBjYXJ2aW5ncyBhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmbG93ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGRvemVucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeC1wZXRhbGVkIHN5bWJvbHMgY292ZXJlZCB0aGUgdHJ1bmsgZnJvbSBpdHMgcm9vdHMgdG8gdGhlIGxvd2VyCglicmFuY2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyB0dXJuZWQgYXdheSBmcm9tIHRoZSBzdW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3ltYm9scyB2YW5pc2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgcmV0dXJuZWQgdG8gb3JkaW5hcnkgYmFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1vc3RseSBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBjYXJ2aW5nIHJlbWFpbmVkIG5lYXIgdGhlIGhvbGxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBuYXJyb3cgc3Ryb2tlcyBtYXJrZWQgaXRzIGxvd2VzdCBwZXRhbC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSS4KJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJG5vdGljZWRSb21hbklJJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBzYW1lIG51bWVyYWwgbWFya2VkIHRoZSBmcm9udCBkb29yZnJhbWUuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9hayB0cmVlIGFuZCBmcm9udCBkb29yZnJhbWUgYm90aCBiZWFyIHRoZSBoZXhhZm9pbCBtYXJrZWQgSUkmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvYWsgdHJlZSBzaGFyZXMgdGhlIGRvb3JmcmFtZSYjMzk7cyBJSSBtYXJraW5nJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBvYWsgYW5kIGZyb250IGRvb3JmcmFtZQoJCWJvdGggYXBwZWFyIHRvIGJlYXIgdGhlIHNpeC1wZXRhbGVkIHN5bWJvbCBtYXJrZWQgSUkuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJlY29nbml6ZWQgdGhlIFJvbWFuIG51bWVyYWwgZm9yIHR3by4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGhleGFmb2lsIG1hcmtlZCBJSSBhcHBlYXJlZCBvbiB0aGUgb2FrIHRyZWUmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2l4LXBldGFsZWQgc3ltYm9sIG1hcmtlZCBJSQoJCWFwcGVhcmVkIG5lYXIgdGhlIHRyZWUgaG9sbG93LgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsZWFuZWQgYWdhaW5zdCBLZXZpbiYjMzk7cyBhcm0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBcmUgd2Uga2VlcGluZyB0aGUgY29sbGFyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sbGFyIHNsaWQgc2V2ZXJhbCBpbmNoZXMgZGVlcGVyIGludG8gdGhlIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBJIGRvbiYjMzk7dCB0aGluayBpdCB3YW50cyB0byBiZSBrZXB0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBzY2hvb2wtJmd0O0tldmluIGFuZCBBYmJpZSBDb250aW51ZSB0byBTY2hvb2xdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTEiIG5hbWU9IktldmluIGFuZCBBYmJpZSBDb250aW51ZSB0byBTY2hvb2wiIHRhZ3M9IiIgcG9zaXRpb249IjE0MjUsNjYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7R2V0IEFiYmllIHRvIGVsZW1lbnRhcnkgc2Nob29sIHdpdGhvdXQgYXR0cmFjdGluZyBhdHRlbnRpb24mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGFuZCBBYmJpZSBsZWZ0IHRoZSBmaWVsZCBiZWhpbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IGxvb2sgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGtuZXcgdGhpcyBiZWNhdXNlIGF2b2lkaW5nIHRoZSB1cmdlIHJlcXVpcmVkIGhpcyBmdWxsCgljb25jZW50cmF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIHJlbWFpbmVkIGJlaGluZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJvYmFibHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbGlwcGVkIGhlciBoYW5kIGludG8gaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYWxsb3dlZCBpdCBmb3Igc2l4IHN0ZXBzIGJlZm9yZSByZW1lbWJlcmluZyB0aGUgcHJldmlvdXMKCXllYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWVtb3J5IGFycml2ZWQgd2l0aCBjb21wbGV0ZSBhbmQgdW5uZWNlc3NhcnkgZGV0YWlsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFkIGRlY2lkZWQgdGhlaXIgd2FsayB0byBzY2hvb2wgbmVlZGVkIGEgdGhlbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgaGFkIHN0YXJ0ZWQgc2tpcHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHN3aW5naW5nIEtldmluJiMzOTtzIGFybSB1bnRpbCBoaXMgZmVldCBqb2luZWQgdGhlIHBlcmZvcm1hbmNlCglhZ2FpbnN0IGhpcyB3aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2V2ZXJhbCBwYXJlbnRzIGhhZCBhcHBsYXVkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgaGFkIGNhbGxlZCBpdCAmbHQ7ZW0mZ3Q7UHJlc2Nob29sOiBUaGUgTXVzaWNhbCZsdDsvZW0mZ3Q7LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT2xkZXIgc3R1ZGVudHMgaGFkIHNlZW4gS2V2aW4gaW4gbWlkLXNraXAgd2l0aCBib3RoIGFybXMgZXh0ZW5kZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGhhZCBuYW1lZCBoaW0gUGV0ZXIgUGFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5pY2tuYW1lIHN1cnZpdmVkIHRoZSBlbnRpcmUgc2Nob29sIHllYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFdmVyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpbmdsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlZm9yZSB5b3UgYXNrLCBuby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkbiYjMzk7dCBhc2sgYW55dGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2VyZSBhYm91dCB0by4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgd2FzIEkgZ29pbmcgdG8gYXNrPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hldGhlciB3ZSBjb3VsZCBzaW5nIGFuZCBza2lwLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2FuIHdlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlmIHdlIG9ubHkgc2tpcD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBpZiB3ZSBvbmx5IHNpbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTdGlsbCBuby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgaWYgd2UgZG8gYm90aCB2ZXJ5IHF1aWV0bHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIG5vdCBob3cgZWl0aGVyIGFjdGl2aXR5IHdvcmtzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayB0d28gc3RlcHMgYmVmb3JlIHRoZWlyIGpvaW5lZCBoYW5kcyBwdWxsZWQgaGltIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3Rvb2QgaW4gdGhlIGNlbnRlciBvZiB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTttIG5vdCBtb3ZpbmcgdW50aWwgeW91IHNpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIHRoZSBzdHJlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBuZWFyYnkgc3R1ZGVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBidXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHZpc2libGUgd2l0bmVzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjdXJ0YWluIG1vdmVkIGluc2lkZSB0aGUgbmVhcmVzdCBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGltbWVkaWF0ZWx5IGNvdW50ZWQgdGhhdCBhcyBhIHdpdG5lc3MuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gaGFuZGxlIEFiYmllJiMzOTtzIGRlbWFuZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQWdyZWUgdG8gc2luZyBidXQgcmVmdXNlIHRvIHNraXAuLSZndDtLZXZpbiBTaW5ncyBXaXRob3V0IFNraXBwaW5nXV0KCVtbQWdyZWUgdG8gc2tpcCBidXQgcmVmdXNlIHRvIHNpbmcuLSZndDtLZXZpbiBTa2lwcyBXaXRob3V0IFNpbmdpbmddXQoJW1tKb2luIHRoZSBlbnRpcmUgcGVyZm9ybWFuY2UgYW5kIGdldCBpdCBvdmVyIHdpdGguLSZndDtLZXZpbiBTaW5ncyBhbmQgU2tpcHNdXQoJW1tSZWZ1c2UgYW5kIGF0dGVtcHQgdG8gbmVnb3RpYXRlLi0mZ3Q7S2V2aW4gTmVnb3RpYXRlcyB3aXRoIEFiYmllXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTIiIG5hbWU9IktldmluIExlYXZlcyB0aGUgQ2F0IENvbGxhciIgdGFncz0iIiBwb3NpdGlvbj0iMTU1MCw2NjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5MZWZ0Q2F0Q29sbGFyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7S2VlcCBBYmJpZSBhd2F5IGZyb20gdGhlIG9hayB0cmVlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtMZWF2ZSBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBhdCB0aGUgY29sbGFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QnV0IHRoZSBjYXQgbmVlZHMgaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY2F0IHdlbnQgaW5zaWRlIGEgdHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgZG9lc24mIzM5O3QgbWVhbiBpdCBzdG9wcGVkIG5lZWRpbmcgYSBjb2xsYXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb25zaWRlcmVkIHRoZSBzZW50ZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyB0ZWNobmljYWxseSBjb3JyZWN0IGFuZCBjb21wbGV0ZWx5IHVuaGVscGZ1bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGFyZSBub3QgZ29pbmcgaW50byB0aGUgZmllbGQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0b29rIG9uZSBzbWFsbCBzdGVwIHRvd2FyZCB0aGUgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCBpbiBmcm9udCBvZiBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgbG9va2VkIHVwIGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1ByZXZlbnRpdmUgcnVsZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4YWN0bHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaWdoZWQgd2l0aCB0aGUgcGF0aWVuY2Ugb2Ygc29tZW9uZSBtYW5hZ2luZyBhIGRpZmZpY3VsdCBvbGRlcgoJYnJvdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgc3RlcHBlZCBhd2F5IGZyb20gdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciByZW1haW5lZCBuZWFyIHRoZSB0cmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCBpdCB1bnRpbCBkaXN0YW5jZSBtYWRlIHRoZSBsZWF0aGVyIHN0cmFwIGRpZmZpY3VsdCB0bwoJc2VlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpbHZlciB0YWcgY29udGludWVkIHJlZmxlY3RpbmcgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGbGFzaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGbGFzaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHJlZ3VsYXIgcmh5dGhtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmVnYW4gY291bnRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0YWcgc3RvcHBlZCBmbGFzaGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xsYXIgbGlmdGVkIGZyb20gdGhlIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gcGVyc29uIG9yIGFuaW1hbCBoZWxkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcm9zZSB0byB0aGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGhvbGxvdyBhbmQgZGlzYXBwZWFyZWQgaW5zaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2F2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCeWUsIGNhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gdGhlIGhvbGxvdyBjYW1lIG9uZSBzb2Z0IG1lb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzb3VuZGVkIHRvbyBkZWVwIHRvIGJlbG9uZyB0byBhIGNhdC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGFiYW5kb25lZCBjb2xsYXIgbGlmdGVkIGJ5IGl0c2VsZiBhbmQgcmV0dXJuZWQgdG8gdGhlIG9hayBob2xsb3cmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGNhdCYjMzk7cyBjb2xsYXIgbW92ZWQgaW50byB0aGUgb2FrIHRyZWUgd2l0aG91dCBiZWluZyBjYXJyaWVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBtb3ZlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIGFiYW5kb25lZCBjb2xsYXIgbGlmdGVkCglmcm9tIHRoZSBncmFzcyBhbmQgZGlzYXBwZWFyZWQgaW50byB0aGUgdHJlZSBob2xsb3cuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgQWJiaWUmIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgbGVmdCBiZWZvcmUgdGhlIHRyZWUgY291bGQgcmV0dXJuIGFueXRoaW5nIGVsc2UuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7S2V2aW4gYW5kIEFiYmllIENvbnRpbnVlIHRvIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTUzIiBuYW1lPSJLZXZpbiBBc2tzIEFiYmllIEFib3V0IHRoZSBDYXQiIHRhZ3M9IiIgcG9zaXRpb249IjEwMjUsNjQ3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluQXNrZWRBYmJpZUFib3V0Q2F0ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q29tcGFyZSB3aGF0IEtldmluIGFuZCBBYmJpZSBzYXcmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZGlkIHlvdSBzZWU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgYXQgdGhlIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY2F0IHdlbnQgaG9tZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdlbnQgaW5zaWRlIGEgdHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgY2FuIGJlIGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgb3BlbmluZyB3YXMgdG9vIHNtYWxsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90IGZvciB0aGF0IGNhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIGRhcmsgaG9sbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBzZWUgaXQgY2xpbWIgdGhlIHRydW5rPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IHNlZSB0aGUgb3JhbmdlIGV5ZXMgaW4gdGhlIGJyYW5jaGVzPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY29sbGFyIGZlbGwgb3V0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZnJvd25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgY29sbGFyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcG9pbnRlZCB0b3dhcmQgdGhlIGRlYWQgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGVhdGhlciBjb2xsYXIgbGF5IHdoZXJlIGl0IGhhZCBmYWxsZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgZGlyZWN0bHkgYXQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRvbiYjMzk7dCBzZWUgYW55dGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZnJvbSBBYmJpZSB0byB0aGUgY29sbGFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmVtYWluZWQgdmlzaWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJyb3duIGxlYXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaWx2ZXIgdGFnLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2l4LXBldGFsZWQgc3ltYm9sLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UmlnaHQgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmb2xsb3dlZCBoaXMgZmluZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdyYXNzPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGNvbGxhci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZXJlIGlzbiYjMzk7dCBhIGNvbGxhci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgc2lkZXdheXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sbGFyIG1vdmVkIHdpdGggaGlzIGFuZ2xlIG9mIHZpZXcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgYSBzaGFkb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgcHJlc2VudCBmb3IgS2V2aW4gYW5kIGFic2VudCBmb3IgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGRpZCB0aGUgY2F0IGxvb2sgbGlrZSB3aGVuIGl0IHdlbnQgaW50byB0aGUgdHJlZT8mcXVvdDsgaGUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtMaWtlIGEgZ2lybC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJlY2FtZSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZ2lybD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgZnJvbSBicmVha2Zhc3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgZ2lybCBpbiB0aGUgc3Bvb24/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaGUgY3Jhd2xlZCBpbnRvIHRoZSB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgaG9sbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBwYWxlIGhhbmQgd2l0aGRyZXcgaW50byB0aGUgZGFya25lc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBncmFiYmVkIEFiYmllJiMzOTtzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IHNlZSB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG9sbG93IHdhcyBlbXB0eSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgc2F3IHRoZSBvcmFuZ2UgY2F0IGJlY29tZSB0aGUgZ2lybCBmcm9tIGhlciBjZXJlYWwgc3Bvb24mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBnaXJsIGZyb20gQWJiaWUmIzM5O3Mgc3Bvb24gZW50ZXJlZCB0aGUgb2FrIHRyZWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgcGVyY2VpdmVkIHRoZSBvcmFuZ2UgY2F0IGFzIHRoZSByZWZsZWN0ZWQgZ2lybCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29uZmxpY3Rpbmcgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHNhdyBhIGNhdCBlbnRlciB0aGUKCXRyZWUsIGJ1dCBBYmJpZSBjbGFpbXMgc2hlIHNhdyB0aGUgZ2lybCBmcm9tIGhlciBzcG9vbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciB2YW5pc2hlZCBmcm9tIHRoZSBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3Qgc2VlIGl0IG1vdmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIGZpZWxkIGltbWVkaWF0ZWx5LSZndDtLZXZpbiBhbmQgQWJiaWUgQ29udGludWUgdG8gU2Nob29sXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTQiIG5hbWU9IktldmluIFNpbmdzIFdpdGhvdXQgU2tpcHBpbmciIHRhZ3M9IiIgcG9zaXRpb249IjEyMzcuNSw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTYXRpc2Z5IEFiYmllJiMzOTtzIGRlbWFuZCB3aXRob3V0IHJlcGVhdGluZyB0aGUgUGV0ZXIgUGFuIGluY2lkZW50JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTtsbCBzaW5nLCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtCdXQgSSBhbSBub3Qgc2tpcHBpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoZSBvZmZlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JlZ3VsYXIgc2luZ2luZyBvciBncnVtcHkgc2luZ2luZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Rob3NlIGFyZSBub3Qgb2ZmaWNpYWwgY2F0ZWdvcmllcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dydW1weSBzaW5naW5nIHNvdW5kcyBsaWtlIHRoaXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb3dlcmVkIGhlciB2b2ljZSBhbmQgcHJvZHVjZWQgYSBzbG93LCBtaXNlcmFibGUgZ3JvYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBuZWFyZXN0IGhvdXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY3VydGFpbiBtb3ZlZCBpbiBvbmUgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdpdG5lc3MgY291bnQgaGFkIGluY3JlYXNlZCB0byBvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtSZWd1bGFyIHNpbmdpbmcsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZXN1bWVkIHdhbGtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgYmVnYW4gdGhlIHNvbmcgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBqb2luZWQgcXVpZXRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGtlcHQgaGlzIHN0ZXBzIGNvbnRyb2xsZWQsIGhpcyBhcm1zIHN0aWxsLCBhbmQgaGlzIHZvaWNlIGxvdyBlbm91Z2gKCXRoYXQgYW55b25lIG5lYXJieSBtaWdodCBtaXN0YWtlIHRoZSBwZXJmb3JtYW5jZSBmb3IgYSBwcml2YXRlCgltZWRpY2FsIGVtZXJnZW5jeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNhbmcgbG91ZGVyIHRvIGNvbXBlbnNhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3QgbG91ZGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHdlcmUgdG9vIHF1aWV0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCB3YXMgaW50ZW50aW9uYWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb25ncyBjYW4mIzM5O3QgaGVhciB5b3UgaWYgeW91IHdoaXNwZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb25ncyBkbyBub3QgbmVlZCB0byBoZWFyIG1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gaG93IGRvIHRoZXkga25vdyB3aGF0IGNvbWVzIG5leHQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbm8gdXNlZnVsIGFuc3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgY29udGludWVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWNvZ25pemVkIHNvbWUgb2YgdGhlIHdvcmRzIGZyb20gQWJiaWUmIzM5O3MgZWFybGllciBjZXJlYWwgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN1bnNoaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hhZG93cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIGdpcmxzIHN0YW5kaW5nIGluIGEgcm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBBYmJpZSByZWFjaGVkIGEgbGluZSBLZXZpbiBoYWQgbm90IGhlYXJkIGJlZm9yZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglPbmUgc3RheXMgaG9tZSwgYW5kIHR3byBtdXN0IGdvLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb250aW51ZWQgZm9yIHNldmVyYWwgc3RlcHMgYmVmb3JlIG5vdGljaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IGRpZCB5b3Ugc3RvcD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZG9lcyB0aGF0IGxpbmUgbWVhbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgbGluZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZSBzdGF5cyBob21lLCBhbmQgdHdvIG11c3QgZ28uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmcm93bmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IHNpbmcgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBoZWFyZCB0aGUgd29yZHMgaW4gQWJiaWUmIzM5O3Mgdm9pY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB3YXMgbmVhcmx5IGNlcnRhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWFybHkgY2VydGFpbiBoYWQgYmVjb21lIGFub3RoZXIgcGhyYXNlIHRoYXQgbWFkZSBldmVyeXRoaW5nIHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSB0aGUgc3Rvcm0gZHJhaW4gYmVzaWRlIHRoZSBzaWRld2FsayBjYW1lIG9uZSBmYWludCBjb250aW51YXRpb246CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGhlIHRoaXJkIGFscmVhZHkga25vd3MuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIG1vdmVkIEFiYmllIGF3YXkgZnJvbSB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5laXRoZXIgb2YgdGhlbSByZXN1bWVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0EgaGlkZGVuIHZvaWNlIGFkZGVkIHdvcmRzIHRvIEtldmluIGFuZCBBYmJpZSYjMzk7cyBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGhpZGRlbiB2b2ljZSBzYW5nIHRoYXQgb25lIHN0YXlzIGhvbWUsIHR3byBtdXN0IGdvLCBhbmQgdGhlIHRoaXJkIGFscmVhZHkga25vd3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSBoaWRkZW4gdmVyc2UgcmVmZXJyZWQgdG8gdGhyZWUgcGVvcGxlIGFuZCBvbmUgc3RheWluZyBob21lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtIaWRkZW4gdmVyc2U6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGhlYXJkIGEgdm9pY2UgYWRkIGEgbGluZSBhYm91dAoJb25lIHN0YXlpbmcgaG9tZSwgdHdvIGxlYXZpbmcsIGFuZCBhIHRoaXJkIHdobyBhbHJlYWR5IGtub3dzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7VGhlIFNpZGV3YWxrIENyYWNrc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU1IiBuYW1lPSJLZXZpbiBTa2lwcyBXaXRob3V0IFNpbmdpbmciIHRhZ3M9IiIgcG9zaXRpb249IjEzNjIuNSw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIG1vdmluZyB3aXRob3V0IGNyZWF0aW5nIGFub3RoZXIgcHVibGljIHBlcmZvcm1hbmNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O2xsIHNraXAsJnF1b3Q7IEtldmluIHNhaWQuICZxdW90O0J1dCBJIGFtIG5vdCBzaW5naW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaW1tZWRpYXRlbHkgcmVncmV0dGVkIHRoZSBvZmZlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNraXBwaW5nIGFwcGVhcmVkIHNpbXBsZSB3aGVuIHBlcmZvcm1lZCBieSBwZW9wbGUgd2hvIGhhZCBub3Qgc3BlbnQgYW4KCWVudGlyZSBzY2hvb2wgeWVhciBiZWluZyBjYWxsZWQgUGV0ZXIgUGFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYXR0ZW1wdGVkIG9uZSBjb250cm9sbGVkIHNraXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgdG9vIGhpZ2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgYmFja3BhY2sgc3RydWNrIGhpcyBzaG91bGRlcnMsIG9uZSBzbmVha2VyIHNjcmFwZWQgdGhlIHBhdmVtZW50LAoJYW5kIGhpcyBmcmVlIGFybSBtb3ZlZCBvdXR3YXJkIHdpdGhvdXQgYXV0aG9yaXphdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxhdWdoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdhcyBhIGJhZCBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGhhdmVuJiMzOTt0IHByYWN0aWNlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBwcmFjdGljZWQgYWxsIGxhc3QgeWVhci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FnYWluc3QgbXkgd2lsbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGRlbW9uc3RyYXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBtb3ZlbWVudHMgd2VyZSBsaWdodCwgZXZlbiwgYW5kIGNvbXBsZXRlbHkgZnJlZSBvZiBwdWJsaWMgc2hhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0cmllZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgaGUga2VwdCB0aGUgbW92ZW1lbnQgc21hbGxlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHNraXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBza2lwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJoeXRobSBhbG1vc3QgYmVjYW1lIHRvbGVyYWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYSB0aGlyZCBzZXQgb2YgZm9vdHN0ZXBzIGpvaW5lZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNraXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2tpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCBjYW1lIGZyb20gYmVoaW5kIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZ2xhbmNlZCBvdmVyIGhpcyBzaG91bGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaWRld2FsayB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgV2luY2hlc3RlciBob3VzZSBzdG9vZCBzZXZlcmFsIGJsb2NrcyBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIHJlbWFpbmVkIHZpc2libGUgYWJvdmUgdGhlIHJvb2Z0b3BzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZmFjZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCByaHl0aG0gY29udGludWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWF0Y2hlZCBoaXMgbW92ZW1lbnQgZXhhY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgc2tpcHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZm9vdHN0ZXBzIGJlaGluZCBoaW0gY29tcGxldGVkIG9uZSBhZGRpdGlvbmFsIHNraXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZXkgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWQgeW91IHN0b3A/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb21lb25lIHdhcyBiZWhpbmQgdXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3R1ZGllZCB0aGUgZW1wdHkgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObyBvbmUgaXMgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhbXAgc2hvZXByaW50IGFwcGVhcmVkIG9uIHRoZSBwYXZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBhIGJhcmUgZm9vdHByaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjaGlsZCYjMzk7cyBzaG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYXBlIHdhcyBuYXJyb3cgYW5kIG9sZC1mYXNoaW9uZWQsIHdpdGggYSBzbWFsbCBoZWVsIGFuZCByb3VuZGVkCgl0b2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNlY29uZCBwcmludCBhcHBlYXJlZCBiZXNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgdGhpcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2V0IGltcHJlc3Npb25zIG1vdmVkIGZvcndhcmQgd2l0aG91dCB2aXNpYmxlIGZlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHN0b3BwZWQgYmV0d2VlbiBLZXZpbiBhbmQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3Ugc3BpbGwgc29tZXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW50cyBmYWRlZCBiZWZvcmUgS2V2aW4gY291bGQgYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHNraXBwZWQgYmVoaW5kIEtldmluIGFuZCBBYmJpZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7T2xkLWZhc2hpb25lZCB3ZXQgc2hvZXByaW50cyBhcHBlYXJlZCBvbiB0aGUgc2lkZXdhbGsmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhdyB3ZXQgbWFya3MgYXBwZWFyIGR1cmluZyB0aGUgd2FsayB0byBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7T2xkLWZhc2hpb25lZCBzaG9lcHJpbnRzIGZvbGxvd2VkIEtldmluJiMzOTtzIHNraXBwaW5nIHJoeXRobSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBPbGQtZmFzaGlvbmVkIHdldCBzaG9lcHJpbnRzCglhcHBlYXJlZCB3aGlsZSBhbiB1bnNlZW4gdGhpcmQgcGVyc29uIG1hdGNoZWQgS2V2aW4mIzM5O3Mgc2tpcHBpbmcgcmh5dGhtLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZXN1bWVkIHdhbGtpbmcgbm9ybWFsbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTa2lwcGluZyBoYWQgYmVlbiByZW1vdmVkIGZyb20gdGhlIGFwcHJvdmVkIGFjdGl2aXR5IGxpc3QuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgd2l0aG91dCBza2lwcGluZy0mZ3Q7VGhlIFNpZGV3YWxrIENyYWNrc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU2IiBuYW1lPSJLZXZpbiBTaW5ncyBhbmQgU2tpcHMiIHRhZ3M9IiIgcG9zaXRpb249IjE0ODcuNSw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5pc2ggQWJiaWUmIzM5O3MgcGVyZm9ybWFuY2UgYmVmb3JlIGFueW9uZSBzZWVzIHRoZW0mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDImZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0ZpbmUsJnF1b3Q7IEtldmluIHNhaWQuICZxdW90O09uZSBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QW5kIHNraXBwaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lIHNvbmcgYW5kIGxpbWl0ZWQgc2tpcHBpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlzIGxpbWl0ZWQgc2tpcHBpbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSBhcmUgYWJvdXQgdG8gZmluZCBvdXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0b29rIGhpcyBoYW5kIGFuZCBiZWdhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGpvaW5lZCB3aXRoIHRoZSBsZWFzdCBlbnRodXNpYXNtIHBoeXNpY2FsbHkgcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZmlyc3Qgc2tpcCByZXNlbWJsZWQgYW4gYXR0ZW1wdCB0byBhdm9pZCBhIHB1ZGRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBzZWNvbmQgcmVzZW1ibGVkIGFuIGF0dGVtcHQgdG8gYXZvaWQgZmFsbGluZyBhZnRlciBhdm9pZGluZyB0aGUKCXB1ZGRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJ5IHRoZSB0aGlyZCwgQWJiaWUgaGFkIHB1bGxlZCBoaW0gaW50byBhIHJoeXRobS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZWlyIGpvaW5lZCBoYW5kcyBzd3VuZyBiZXR3ZWVuIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzYW5nIGxvdWRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG11bWJsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc2tpcHBlZCBoaWdoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcGVyZm9ybWVkIHNtYWxsIGRlZmVuc2l2ZSBob3BzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgS2V2aW4gZm9yZ290IHRoZSBob3VzZSwgdGhlIHRyZWUsIGFuZCB0aGUgb3JhbmdlCgljYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgd2luZG93IG9wZW5lZCBpbiB0aGUgaG91c2UgYmVzaWRlIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHBlcnNvbiBsZWFuZWQgb3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaW1tZWRpYXRlbHkgbG9va2VkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgd2l0bmVzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY2FyIHR1cm5lZCBvbnRvIHRoZSBzdHJlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gd2l0bmVzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZW9uZSBmYXJ0aGVyIGFoZWFkIGxhdWdoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQb3NzaWJseSB1bnJlbGF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudGVkIGl0IGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHdpdG5lc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaXR1YXRpb24gaGFkIGNyb3NzZWQgZnJvbSBlbWJhcnJhc3NpbmcgaW50byBwZXJtYW5lbnQgcmVjb3JkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBsb3VkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBmYWNlIGdyZXcgd2FybS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NhbiB3ZSBzdG9wIG5vdz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGFyZW4mIzM5O3QgYXQgdGhlIGVuZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbmdzIGNhbiBlbmQgZWFybHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3QgdGhpcyBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWVsb2R5IGNoYW5nZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyB2b2ljZSBiZWNhbWUgcXVpZXRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZWlyIHNoYWRvd3Mgc3RyZXRjaGVkIGFjcm9zcyB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBzaGFkb3cgc2tpcHBlZCB3aGVuIGhlIHNraXBwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyBzaGFkb3cgc2tpcHBlZCB3aGVuIHNoZSBza2lwcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aGlyZCBzaGFkb3cgbW92ZWQgYmV0d2VlbiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGVsZCBib3RoIHRoZWlyIGhhbmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IGhpcyBoYW5kIGFuZCBBYmJpZSYjMzk7cyB3ZXJlIGpvaW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCBzaGFkb3cgc3d1bmcgYmV0d2VlbiB0aGVtIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBzbWFsbGVyIHRoYW4gS2V2aW4mIzM5O3MgYW5kIHRhbGxlciB0aGFuIEFiYmllJiMzOTtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIG91dGxpbmUgd29yZSBhIGRyZXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHRvb2sgb25lIG1vcmUgc2tpcCBiZWZvcmUgaGlzIHdlaWdodCBwdWxsZWQgaGVyIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRoaXJkIHNoYWRvdyBjb250aW51ZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRvb2sgdHdvIHN0ZXBzIGFsb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCB0dXJuZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYWRvdyByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgZmluZ2VyIHByZXNzZWQgYWdhaW5zdCB3aGVyZSBpdHMgbW91dGggc2hvdWxkIGhhdmUgYmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcGFzc2luZyBjbG91ZCBjb3ZlcmVkIHRoZSBzdW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhpcmQgc2hhZG93IGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHRoaXJkIHNoYWRvdyBqb2luZWQgS2V2aW4gYW5kIEFiYmllJiMzOTtzIHBlcmZvcm1hbmNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGdpcmwmIzM5O3Mgc2hhZG93IGhlbGQgS2V2aW4gYW5kIEFiYmllJiMzOTtzIGhhbmRzIHdoaWxlIHRoZXkgc2tpcHBlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gc3RvcHBlZCBzdWRkZW5seSB3aGlsZSB0aGV5IHdlcmUgc2luZ2luZyBhbmQgc2tpcHBpbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSB0aGlyZCBzaGFkb3cgam9pbmVkIEtldmluIGFuZCBBYmJpZSBvbiB0aGUgc2lkZXdhbGsmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBBIHRoaXJkIHNoYWRvdyBqb2luZWQgS2V2aW4gYW5kCglBYmJpZSwgdGhlbiBzaWduYWxlZCBmb3IgS2V2aW4gdG8gcmVtYWluIHF1aWV0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdXAgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgYXJlIHlvdSBtYWtpbmcgdGhlIGZhY2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGZhY2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbGVtb24gbWF0aC10ZXN0IGZhY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWxlYXNlZCBoZXIgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGFyZSB3YWxraW5nIG5vcm1hbGx5IG5vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNpZ2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwZXJmb3JtYW5jZSBoYWQgb2ZmaWNpYWxseSBlbmRlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtUaGUgU2lkZXdhbGsgQ3JhY2tzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTciIG5hbWU9IktldmluIE5lZ290aWF0ZXMgd2l0aCBBYmJpZSIgdGFncz0iIiBwb3NpdGlvbj0iMTYwMCw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb252aW5jZSBBYmJpZSB0byBjb250aW51ZSB3aXRob3V0IHNpbmdpbmcgb3Igc2tpcHBpbmcmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgaWYgd2UgbWFrZSBhIGRlYWw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZW1haW5lZCBwbGFudGVkIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBraW5kPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2Ugd2FsayBub3JtYWxseSBub3csIGFuZCBJIGRvIG9uZSBvZiB5b3VyIGNob3JlcyB0b25pZ2h0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hpY2ggY2hvcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbm90IHByZXBhcmVkIGZvciBkZXRhaWxlZCBuZWdvdGlhdGlvbnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQdXR0aW5nIGF3YXkgeW91ciB0b3lzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCYjMzk7cyBub3QgYSBjaG9yZS4gVGhhdCYjMzk7cyBvcmdhbml6aW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgYmVjb21lcyBhIGNob3JlIHdoZW4gdGhlIHRveXMgY292ZXIgeW91ciBlbnRpcmUgZmxvb3IuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoaXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUd28gY2hvcmVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VHdvIGNob3JlcyBhbmQgYSBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIHNvbmcgaXMgd2hhdCB3ZSBhcmUgbmVnb3RpYXRpbmcgYWdhaW5zdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZSBjaG9yZSBhbmQgaGFsZiBhIHNvbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIb3cgZG8geW91IHNpbmcgaGFsZiBhIHNvbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc3RvcCBpbiB0aGUgbWlkZGxlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgZGlzdHVyYmluZ2x5IHJlYXNvbmFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmUgY2hvcmUgYW5kIG5vIHNvbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmUgY2hvcmUsIG5vIHNvbmcsIGFuZCB5b3UgaG9sZCBteSBoYW5kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZCB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gdmlzaWJsZSBzdHVkZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIGJ1c2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1cnRhaW4gaW4gdGhlIG5lYXJieSBob3VzZSBoYWQgc3RvcHBlZCBtb3ZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGaW5lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdG9vayBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgcmVzdW1lZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZXhwZXJpZW5jZWQgdGhyZWUgcGVhY2VmdWwgc2Vjb25kcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gQWJiaWUgaHVtbWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SHVtbWluZyBpcyBzaW5naW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uIEh1bW1pbmcgZG9lc24mIzM5O3QgaGF2ZSB3b3Jkcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgc3RpbGwgbXVzaWMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSBkaWRuJiMzOTt0IG5lZ290aWF0ZSBtdXNpYy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlY29nbml6ZWQgc3VwZXJpb3IgcHJlcGFyYXRpb24gd2hlbiBoZSBlbmNvdW50ZXJlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhZCB3b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgaHVtbWluZyBzZXR0bGVkIGludG8gdGhlIG1lbG9keSBmcm9tIHRoZSBjZXJlYWwgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxpc3RlbmVkIGRlc3BpdGUgaGltc2VsZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2Vjb25kIGh1bW1pbmcgdm9pY2Ugam9pbmVkIGZyb20gdGhlIG9wcG9zaXRlIHNpZGUgb2YgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIGVtcHR5IGxvdCBzdHJldGNoZWQgYmV0d2VlbiB0d28gaG91c2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIHN0b29kIHRoZXJlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCB2b2ljZSBtYXRjaGVkIEFiYmllIHBlcmZlY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgbW92ZWQgYWhlYWQgYnkgb25lIG5vdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmb2xsb3dlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB1bnNlZW4gdm9pY2UgbW92ZWQgYWhlYWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmb2xsb3dlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgY29weWluZyBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgdGVhY2hpbmcgaGVyIHRoZSBzb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnRpbnVlZCBodW1taW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCByZXNwb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGV5ZXMgcmVtYWluZWQgZm9jdXNlZCBvbiB0aGUgc2lkZXdhbGsgYWhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzcXVlZXplZCBoZXIgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGJsaW5rZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIGh1bW1pbmcgdm9pY2Ugc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7IHNoZSBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dobyB0YXVnaHQgeW91IHRoYXQgbWVsb2R5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGNvbmZ1c2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRpZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBub3QuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0FuIHVuc2VlbiB2b2ljZSB0YXVnaHQgQWJiaWUgcGFydCBvZiB0aGUgY2VyZWFsIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FuIHVuc2VlbiBodW1taW5nIHZvaWNlIGxlZCBBYmJpZSB0aHJvdWdoIHRoZSBjZXJlYWwgbWVsb2R5JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBiZWxpZXZlcyBLZXZpbiB0YXVnaHQgaGVyIHRoZSBjZXJlYWwgc29uZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBbiB1bnNlZW4gdm9pY2UgYXBwZWFyZWQgdG8gdGVhY2ggQWJiaWUgYSBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25mbGljdGluZyBtZW1vcnk6Jmx0Oy9zdHJvbmcmZ3Q7IEFuIHVuc2VlbiB2b2ljZSBsZWQgQWJiaWUgdGhyb3VnaAoJdGhlIG1lbG9keSwgYnV0IEFiYmllIGJlbGlldmVzIEtldmluIHRhdWdodCBpdCB0byBoZXIuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgaG9sZCBvZiBoZXIgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaG9yZSBhZ3JlZW1lbnQgaGFkIGJlY29tZSB0aGUgbGVhc3QgaW1wb3J0YW50IHBhcnQgb2YgdGhlCgluZWdvdGlhdGlvbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtUaGUgU2lkZXdhbGsgQ3JhY2tzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTgiIG5hbWU9IlRoZSBTaWRld2FsayBDcmFja3MiIHRhZ3M9IiIgcG9zaXRpb249IjEyMjUsNzA3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQ6IFNpZGV3YWxrJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0tlZXAgbW92aW5nIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBwZXJmb3JtYW5jZSBlbmRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFuZCBBYmJpZSBjb250aW51ZWQgYWxvbmcgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhcnRoZXIgdGhleSBtb3ZlZCBmcm9tIHRoZSBmaWVsZCwgdGhlIHdhcm1lciB0aGUgYWlyIGJlY2FtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIGJyZWF0aCBubyBsb25nZXIgZm9ybWVkIHdoaXRlIGNsb3Vkcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvcmRpbmFyeSBTZXB0ZW1iZXIgbW9ybmluZyByZXR1cm5lZCBieSBkZWdyZWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2FycyBwYXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxhd24gc3ByaW5rbGVyIGNsaWNrZWQgYWNyb3NzIGEgbmVhcmJ5IHlhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIGRyYWdnZWQgYSB0cmFzaCBiYXJyZWwgdG93YXJkIHRoZSBjdXJiLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9ybWFsIHNvdW5kcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRyaWVkIHRvIGxldCB0aGVtIHJlbWFpbiBub3JtYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9wcGVkIGF0IGEgY3JhY2sgaW4gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGp1bXBlZCBvdmVyIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgc3RlcHMgbGF0ZXIsIHNoZSBqdW1wZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCBoZXIgemlnemFnIGRvd24gdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IGhhdmUgdG8ganVtcCBvdmVyIGV2ZXJ5IGNyYWNrPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlcmUgYXJlIGh1bmRyZWRzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgYSBtaWxsaW9uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBub3QgYmV0dGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgYXBwcm9hY2hlZCBhbm90aGVyIGNyYWNrIGFuZCBsZWFwZWQgYWNyb3NzIGl0IHdpdGggYm90aCBmZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2Fsa2VkIG92ZXIgdGhlIHNhbWUgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZXhwcmVzc2lvbiBiZWNhbWUgdW51c3VhbGx5IHNlcmlvdXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc3RlcHBlZCBvbiBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIGEgc2lkZXdhbGsuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCYjMzk7cyBiYWQgbHVjay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgYmFjayBhdCB0aGUgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbmFycm93LCBvcmRpbmFyeSwgYW5kIHByb2JhYmx5IGNyZWF0ZWQgYnkgd2ludGVyIGZyb3N0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBhYm91dCBpdCBsb29rZWQgZGFuZ2Vyb3VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBpbnNpZGUgdGhlIGhvdXNlIGhhZCBsb29rZWQgZGFuZ2Vyb3VzIGF0IGZpcnN0IGVpdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JhZCBsdWNrIGhvdz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNob29rIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHdvbiYjMzk7dCBiZWxpZXZlIG1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvcmQgJmx0O2VtJmd0O2x1Y2smbHQ7L2VtJmd0OyBsYW5kZWQgZGlmZmVyZW50bHkgYWZ0ZXIgdGhlIG9yYW5nZSBjYXQmIzM5O3MgdGFnLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGtldmluUmV0cmlldmVkQ2F0Q29sbGFyJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBjb2xsYXIgaW5zaWRlIEtldmluJiMzOTtzIGJhY2twYWNrIGdhdmUgb25lIHNvZnQgbWV0YWxsaWMgY2xpY2suCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgdGFnIGhhZCBkaXNwbGF5ZWQgdHdvIHdvcmRzLgoJJmx0Oy9wJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJCUxVQ1kuJmx0O2JyJmd0OwoJCUxVQ0suCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGtldmluRXhhbWluZWRDYXRUYWcmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVtZW1iZXJlZCB0aGUgZW5ncmF2aW5nIHRoYXQgYXBwZWFyZWQgdG8gY2hhbmdlIGJldHdlZW4KCQlMVUNLIGFuZCBMVUNZLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAka2V2aW5TdHVkaWVkQ2F0Q29sbGFyJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJlbWVtYmVyZWQgdGhlIG1hcmtlZCBjb2xsYXIgYmVuZWF0aCB0aGUgb2FrIGFuZCB0aGUgZmllbGQmIzM5O3MKCQloaWRkZW4gc3ltYm9scy4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUEgdGhpbiBzb3VuZCBjYW1lIGZyb20gYmVuZWF0aCB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDcmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsaW5lIEtldmluIGhhZCBzdGVwcGVkIG9uIHdpZGVuZWQgYnkgbGVzcyB0aGFuIGFuIGluY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDb2xkIGFpciB0b3VjaGVkIHRoZSBzb2xlIG9mIGhpcyBzaG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIG1vdmVkIGluIHRoZSBkYXJrbmVzcyBiZWxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjcmFjayByZXR1cm5lZCB0byBpdHMgcHJldmlvdXMgd2lkdGguCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZCB0byBBYmJpZSYjMzk7cyBydWxlPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0ZvbGxvdyB0aGUgcnVsZSBhbmQganVtcCBvdmVyIGV2ZXJ5IGNyYWNrLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXZvaWRzIHRoZSBTaWRld2FsayBDcmFja3MmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIEFiYmllIHdobyB0YXVnaHQgaGVyIHRoZSBydWxlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUXVlc3Rpb25zIHRoZSBDcmFjayBSdWxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0lnbm9yZSB0aGUgc3VwZXJzdGl0aW9uIGFuZCB3YWxrIG5vcm1hbGx5LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBJZ25vcmVzIHRoZSBTaWRld2FsayBDcmFja3MmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGFrZSBBYmJpZSYjMzk7cyBoYW5kIGFuZCBmb2xsb3cgaGVyIHBhdGguJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEZvbGxvd3MgQWJiaWUgT3ZlciB0aGUgQ3JhY2tzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE1OSIgbmFtZT0iS2V2aW4gQXZvaWRzIHRoZSBTaWRld2FsayBDcmFja3MiIHRhZ3M9IiIgcG9zaXRpb249IjU3NSw2NzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5Bdm9pZGVkQ3JhY2tzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBTaWRld2FsayZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgQWJiaWUmIzM5O3MgcnVsZSBhbmQgY29udGludWUgdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoKCUtldmluIHN0ZXBwZWQgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3JhY2sgYmVuZWF0aCBoaXMgc2hvZSByZW1haW5lZCBuYXJyb3cgYW5kIG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBtb3ZlZCBpbnNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGRpZCBub3QgcHJvdmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglVbmZvcnR1bmF0ZWx5LCBpdCBhbHNvIGRpZCBub3QgZGlzcHJvdmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGaW5lLCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtXZSBhdm9pZCB0aGUgY3JhY2tzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbm9kZGVkIHdpdGggdGhlIHNvbGVtbiBhcHByb3ZhbCBvZiBzb21lb25lIHdob3NlIGV4cGVydGlzZSBoYWQKCWZpbmFsbHkgYmVlbiByZWNvZ25pemVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYXBwcm9hY2hlZCB0aGUgbmV4dCBsaW5lIGluIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyB0b28gd2lkZSB0byBzdGVwIGFjcm9zcyBjb21mb3J0YWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGp1bXBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBiYWNrcGFjayBzdHJ1Y2sgaGlzIHNob3VsZGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGp1bXBlZCBiZXNpZGUgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyBFYXN5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCB3YXMgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5vdGhlciBjcmFjayB3YWl0ZWQgc2l4IGZlZXQgYWhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRocmVlIGNyb3NzaW5nIG9uZSBhbm90aGVyIGxpa2UgYSBiYWRseSBkZXNpZ25lZCBtYXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiZWdhbiBjYWxjdWxhdGluZyByb3V0ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdGVwIGxlZnQuIEp1bXAgZm9yd2FyZC4gQXZvaWQgdGhlIGRpYWdvbmFsIGxpbmUuIExhbmQgYmVmb3JlIHRoZQoJbmV4dCBzcGxpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaWRld2FsayBoYWQgYmVjb21lIGFuIG9ic3RhY2xlIGNvdXJzZSBjcmVhdGVkIGJ5IHdpbnRlciwKCW5lZ2xlY3RlZCBtYWludGVuYW5jZSwgYW5kIHBvc3NpYmxlIHN1cGVybmF0dXJhbCBwdW5pc2htZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ganVtcGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY2xhcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgZ2V0dGluZyBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRvIG5vdCB3YW50IHRvIGdldCBiZXR0ZXIgYXQgdGhpcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgcmVhY2hlZCBhIHNlY3Rpb24gd2hlcmUgdGhlIHBhdmVtZW50IHdhcyBicm9rZW4gaW50byBkb3plbnMgb2YKCXNtYWxsIHNsYWJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdhcyBubyBwYXRoIHRocm91Z2ggd2l0aG91dCB0b3VjaGluZyBhIGNyYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZXhhbWluZWQgdGhlIHBhdHRlcm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgaGF2ZSB0byB1c2UgdGhlIGdyYXNzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdyYXNzIGlzIHdldC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JhZCBsdWNrIGlzIHdvcnNlIHRoYW4gd2V0IHNob2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYXQgdGhlIGZyYWN0dXJlZCBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgb250byB0aGUgbGF3bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBzbmVha2VyIHNhbmsgaW50byBjb2xkIG11ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV4Y2VsbGVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdyBoZSBjb3VsZCBhcnJpdmUgYXQgYSBuZXcgc2Nob29sIGxhdGUsIGVtYmFycmFzc2VkLCBhbmQgd2VhcmluZwoJb25lIGJyb3duIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWxrZWQgYmVzaWRlIHRoZSBicm9rZW4gcGF2ZW1lbnQgdW50aWwgdGhlIHNpZGV3YWxrIGJlY2FtZQoJc2FmZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoaW0sIHNvbWV0aGluZyBjcmFja2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBicmFuY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxpbmUgb2YgZnJlc2ggY3JhY2tzIHRyYXZlbGVkIGFjcm9zcyB0aGUgc2lkZXdhbGsgd2hlcmUgaGUgaGFkIGp1c3QKCWJlZW4gc3RhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHN0b3BwZWQgYXQgdGhlIGVkZ2Ugb2YgdGhlIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NlZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBzZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyB0aGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7U2lkZXdhbGsgY3JhY2tzIHNwcmVhZCB0b3dhcmQgS2V2aW4gYWZ0ZXIgaGUgYXZvaWRlZCB0aGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtGcmVzaCBjcmFja3MgZm9sbG93ZWQgS2V2aW4mIzM5O3MgcGF0aCBidXQgc3RvcHBlZCBhdCB0aGUgZ3Jhc3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGFncmVlZCB0byBhdm9pZCBzaWRld2FsayBjcmFja3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2lkZXdhbGsgY3JhY2tzIHNwcmVhZCB0b3dhcmQgS2V2aW4gYW5kIHN0b3BwZWQgYXQgdGhlIGdyYXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIHBvc3NpYmx5IGNvbmZpcm1lZDombHQ7L3N0cm9uZyZndDsgRnJlc2ggY3JhY2tzIHNwcmVhZCB0b3dhcmQKCUtldmluIGFmdGVyIGhlIHN0ZXBwZWQgb2ZmIHRoZSBzaWRld2FsaywgdGhlbiBzdG9wcGVkIGF0IHRoZSBncmFzcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmV0dXJuZWQgdG8gdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUganVtcGVkIG92ZXIgdGhlIG5leHQgY3JhY2sgd2l0aG91dCBiZWluZyByZW1pbmRlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgQWJiaWUmIzM5O3Mgc2Nob29sLSZndDtBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2xdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2MCIgbmFtZT0iQXBwcm9hY2hpbmcgQWJiaWUmIzM5O3MgU2Nob29sIiB0YWdzPSIiIHBvc2l0aW9uPSI1NzUsNjg1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7TmVhciBCcmVja2VucmlkZ2UgRWxlbWVudGFyeSBTY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVsaXZlciBBYmJpZSB0byBzY2hvb2wgYW5kIGF2b2lkIGZ1cnRoZXIgZW1iYXJyYXNzbWVudCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIGVsZW1lbnRhcnkgc2Nob29sIGFwcGVhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidWlsZGluZyB3YXMgbG93LCByZWQgYnJpY2ssIGFuZCBzdXJyb3VuZGVkIGJ5IGEgY2hhaW4tbGluayBmZW5jZQoJcGFpbnRlZCBncmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNoaWxkcmVuIGNyb3NzZWQgdGhlIHBsYXlncm91bmQgd2hpbGUgYWR1bHRzIGdhdGhlcmVkIG5lYXIgdGhlIG1haW4KCWVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpZ2h0IHNob3VsZCBoYXZlIHJlbGlldmVkIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBoYWQgcmVhY2hlZCBhIHB1YmxpYyBwbGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVB1YmxpYyBwbGFjZXMgaGFkIHdpdG5lc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdpdG5lc3NlcyBtYWRlIHN0cmFuZ2UgdGhpbmdzIGxlc3MgbGlrZWx5IHRvIGhhcHBlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdpdG5lc3NlcyBhbHNvIG1hZGUgZW1iYXJyYXNzaW5nIHRoaW5ncyBpbXBvc3NpYmxlIHRvIGRlbnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBpbW1lZGlhdGVseSBub3RpY2VkIHRocmVlIGFkdWx0cyBuZWFyIHRoZSBnYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGhlbGQgYSBjb2ZmZWUgY3VwLiBPbmUgaGVsZCB0aGUgaGFuZCBvZiBhIHlvdW5nZXIgY2hpbGQuIFRoZSB0aGlyZAoJd2FzIGFscmVhZHkgbW92aW5nIHNsaWdodGx5IHRvIHRoZSByaHl0aG0gb2YgQWJiaWUmIzM5O3MgaHVtbWluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZW4gZGlkIHlvdSBzdGFydCBodW1taW5nIGFnYWluPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IHN0b3AuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbm90IGhlYXJkIGhlciBmb3IgdGhlIGxhc3QgYmxvY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHN1Z2dlc3RlZCBlaXRoZXIgaW1wcmVzc2l2ZSBjb25jZW50cmF0aW9uIG9yIGEgbmV3IHByb2JsZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzYW5nIHRoZSBuZXh0IGxpbmUgYWxvdWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHQgd2l0aCB0aGUgY29mZmVlIGN1cCBiZWdhbiBzd2F5aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCBhZHVsdCBzbWlsZWQgYW5kIGpvaW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCBjbGFwcGVkIGluIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBzdG9tYWNoIGRyb3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW9ybmluZyBoYWQgcmVhY2hlZCB0aGUgZXhhY3QgZXZlbnQgaGUgaGFkIGF0dGVtcHRlZCB0byBwcmV2ZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gYXVkaWVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzcXVlZXplZCBoaXMgaGFuZCBhbmQgc2tpcHBlZCB0b3dhcmQgdGhlIGdhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHRzIG1vdmVkIGFzaWRlIHRvIG1ha2Ugcm9vbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBvZiB0aGVtIGxpZnRlZCBib3RoIHRodW1icy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWVtYmVyZWQgdGhlIHByZXZpb3VzIHllYXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJUHJlc2Nob29sOiBUaGUgTXVzaWNhbC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJSGVhdCBjbGltYmVkIEtldmluJiMzOTtzIG5lY2sgYW5kIHJlYWNoZWQgYm90aCBlYXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVtYWluZWQgZGVsaWdodGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY29uc2lkZXJlZCByZWxlYXNpbmcgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgdGlnaHRlbmVkIGhlciBncmlwIGJlZm9yZSBoZSBjb3VsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCB0aGUgYWR1bHRzLCBhIGZpZ3VyZSBzdG9vZCBuZWFyIHRoZSBwbGF5Z3JvdW5kIGZlbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjaGlsZCBpbiBhbiBvbGQtZmFzaGlvbmVkIGRyZXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpZ3VyZSB3YXMgbm90IHN3YXlpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgY2xhcHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgc21pbGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBoZWxkIG9uZSBmaW5nZXIgYWdhaW5zdCB0aGUgbGlwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJsaW5rZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHRlYWNoZXIgc3Rvb2QgdGhlcmUgaW5zdGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0ZWFjaGVyIHdhdmVkIGNoaWxkcmVuIHRvd2FyZCB0aGUgZW50cmFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgZWxzZSBhcHBlYXJlZCB0byBoYXZlIG5vdGljZWQgdGhlIGNoYW5nZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiBoYW5kbGUgdGhlIGF1ZGllbmNlPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0tlZXAgc2luZ2luZyBzbyBBYmJpZSBjYW4gZW5qb3kgdGhlIG1vbWVudC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRmluaXNoZXMgdGhlIFNvbmcgYXQgU2Nob29sJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0b3Agc2luZ2luZyBhbmQgd2FsayBub3JtYWxseSB0aHJvdWdoIHRoZSBnYXRlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRW5kcyB0aGUgUGVyZm9ybWFuY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2F0Y2ggdGhlIHBsYXlncm91bmQgZmVuY2UgZm9yIHRoZSBtaXNzaW5nIGdpcmwuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBXYXRjaGVzIHRoZSBTY2hvb2wgRmVuY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIEFiYmllIHdoZXRoZXIgc2hlIHNhdyB0aGUgZ2lybC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYm91dCB0aGUgR2lybCBhdCBTY2hvb2wmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTYxIiBuYW1lPSJLZXZpbiBRdWVzdGlvbnMgdGhlIENyYWNrIFJ1bGUiIHRhZ3M9IiIgcG9zaXRpb249Ijg3NSw2ODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5RdWVzdGlvbmVkQ3JhY2tSdWxlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBTaWRld2FsayZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aG8gdGF1Z2h0IEFiYmllIHRvIGF2b2lkIHNpZGV3YWxrIGNyYWNrcyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hvIHRvbGQgeW91IHN0ZXBwaW5nIG9uIGNyYWNrcyBicmluZ3MgYmFkIGx1Y2s/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBhcHByb2FjaGVkIGFub3RoZXIgbGluZSBhbmQganVtcGVkIG92ZXIgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFdmVyeWJvZHkga25vd3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFdmVyeWJvZHkgaXMgbm90IGEgcGVyc29uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgY2FuIGJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLCBpdCBjYW5ub3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBqdW1wZWQgb3ZlciB0aGUgbmV4dCBjcmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBnaXJsIHRvbGQgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHdhbGtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGdpcmw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9wcGVkIHRvby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgd2hvIGtub3dzIHRoZSBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGtub3dsZWRnZS5BYmJpZS5pbmNsdWRlcygmcXVvdDtBIHJlZmxlY3RlZCBnaXJsIGFwcGVhcmVkIGluIEFiYmllJiMzOTtzIGNlcmVhbCBzcG9vbiZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGdpcmwgaW4geW91ciBzcG9vbj8mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUFiYmllIG5vZGRlZC4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGtub3dsZWRnZS5BYmJpZS5pbmNsdWRlcygmcXVvdDtUaGUgZ2lybCBmcm9tIEFiYmllJiMzOTtzIHNwb29uIGVudGVyZWQgdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtUaGUgZ2lybCB5b3Ugc2F3IGVudGVyIHRoZSB0cmVlPyZxdW90OwoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7U2hlIHdhcyBpbiB0aGUgc3Bvb24gZmlyc3QuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtXaGF0IHNvbmc/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtUaGUgb25lIGZyb20gYnJlYWtmYXN0LiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hlbiBkaWQgc2hlIHRlbGwgeW91IGFib3V0IHRoZSBjcmFja3M/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIHRoZSBwYXZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlZm9yZSB3ZSBtb3ZlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0YXJlZCBhdCBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2F3IGhlciBiZWZvcmUgd2UgbW92ZWQgdG8gQnJlY2tlbnJpZGdlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZnJvd25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGp1c3Qgc2FpZCBzaGUgdG9sZCB5b3UgYmVmb3JlIHdlIG1vdmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBtZWFucyB5b3Ugc2F3IGhlciBiZWZvcmUgd2UgbW92ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4gU2hlIHRvbGQgbWUgYmVmb3JlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVmb3JlIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWZvcmUgbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBhIHNsb3cgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFkIHRyYW5zZm9ybWVkIGEgdGltZWxpbmUgaW50byBhIGNpcmNsZSBhbmQgYXBwZWFyZWQgcGVyZmVjdGx5Cgljb21mb3J0YWJsZSBsaXZpbmcgaW5zaWRlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBoYXBwZW5zIGlmIHlvdSBzdGVwIG9uIG9uZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvd2VyZWQgaGVyIHZvaWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQga25vd3Mgd2hlcmUgeW91IGFyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQga25vd3M/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgdGhpbmcgdW5kZXIgdGhlIGxpbmVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbmVhcmVzdCBjcmFjayByYW4gYmVuZWF0aCBoaXMgbGVmdCBzaG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RlcHBlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSBzb21ld2hlcmUgYmVsb3cgdGhlIHBhdmVtZW50IGNhbWUgYSBmYWludCBkcmFnZ2luZyBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGZvbGxvd2VkIHRoZSBjcmFjayB0b3dhcmQgdGhlIGN1cmIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBqdW1wZWQgb3ZlciB0aGUgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIHdpdGhvdXQgZGlzY3Vzc2luZyB0aGUgZGVjaXNpb24uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhaWQgYSBnaXJsIHdhcm5lZCBoZXIgdGhhdCBzb21ldGhpbmcgYmVuZWF0aCB0aGUgc2lkZXdhbGsgY3JhY2tzIGNhbiBsb2NhdGUgcGVvcGxlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcmVmbGVjdGVkIGdpcmwgdGF1Z2h0IEFiYmllIHRvIGF2b2lkIHNpZGV3YWxrIGNyYWNrcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYWlkIHNvbWV0aGluZyBiZW5lYXRoIHNpZGV3YWxrIGNyYWNrcyBjYW4gbG9jYXRlIHBlb3BsZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QWJiaWUmIzM5O3MgcnVsZTombHQ7L3N0cm9uZyZndDsgQWJiaWUgY2xhaW1zIHRoYXQgc3RlcHBpbmcgb24gYSBjcmFjawoJYWxsb3dzIOKAnHRoZSB0aGluZyB1bmRlciB0aGUgbGluZXPigJ0gdG8ga25vdyB3aGVyZSBzb21lb25lIGlzLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgZHJhZ2dpbmcgc291bmQgcmVzdW1lZCBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJlbWFpbmVkIGJlbmVhdGggdGhlIGNyYWNrcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgQWJiaWUmIzM5O3Mgc2Nob29sLSZndDtBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2xdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2MiIgbmFtZT0iS2V2aW4gSWdub3JlcyB0aGUgU2lkZXdhbGsgQ3JhY2tzIiB0YWdzPSIiIHBvc2l0aW9uPSI1NzUsNzEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluSWdub3JlZENyYWNrcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogU2lkZXdhbGsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVqZWN0IHRoZSBzdXBlcnN0aXRpb24gYW5kIGNvbnRpbnVlIHRvd2FyZCBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0l0JiMzOTtzIGEgc2lkZXdhbGssJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIGRpcmVjdGx5IG9udG8gdGhlIG5leHQgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gbGlnaHRuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc3VkZGVuIHdpbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB2b2ljZSBhbm5vdW5jaW5nIHRoYXQgS2V2aW4gV2luY2hlc3RlciBoYWQgYWN0aXZhdGVkIHRoZSBhbmNpZW50CgljdXJzZSBvZiBtdW5pY2lwYWwgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIG9uIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdGlsbCBub3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RhcmVkIGF0IGhpcyBzaG9lcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzaG91bGRuJiMzOTt0IGRvIHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDcmFja3MgaGFwcGVuIHdoZW4gdGhlIGdyb3VuZCBmcmVlemVzIGFuZCBleHBhbmRzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmFkIGx1Y2sgY2FuIGZyZWV6ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgbm90IGhvdyBlaXRoZXIgdGhpbmcgd29ya3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIG9uIGEgdGhpcmQgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNoYXJwIHBhaW4gdG91Y2hlZCB0aGUgc29sZSBvZiBoaXMgZm9vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFpbiB2YW5pc2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5IGEgc21hbGwgc3RvbmUgaW5zaWRlIGhpcyBzbmVha2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBhbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGF2ZW1lbnQgY2xpY2tlZCBiZW5lYXRoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlciBzZWN0aW9uIGNsaWNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgbW92ZWQgYWhlYWQgdGhyb3VnaCB0aGUgbmV0d29yayBvZiBjcmFja3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDbGljay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsaWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xpY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFYWNoIHNvdW5kIG9jY3VycmVkIGZhcnRoZXIgZG93biB0aGUgc2lkZXdhbGssIGxpa2UgYSBtZXNzYWdlIGJlaW5nCglwYXNzZWQgYmVuZWF0aCB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdG9ybSBkcmFpbnMgYWxvbmcgdGhlIHJvYWQgYW5zd2VyZWQgb25lIGJ5IG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZpcnN0IGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGJlc2lkZSBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWV0YWwgZ3JhdGVzIGdhdmUgc21hbGwgaG9sbG93IGtub2NrcyBhcyB0aGUgc291bmQgdHJhdmVsZWQgdG93YXJkCglBYmJpZSYjMzk7cyBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBtb3ZlZCBjbG9zZXIgdG8gS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgdG9sZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RvbGQgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlIHdlJiMzOTtyZSBnb2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCBzdG9ybSBkcmFpbiBrbm9ja2VkIHRocmVlIHRpbWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIGRhcmsgbW92ZWQgYmVuZWF0aCB0aGUgZ3JhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzYXcgYSBwYWxlIHNoYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmluZ2Vycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHJvb3RzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSB3aXRoZHJldyBiZWZvcmUgaGUgY291bGQgYmUgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgc3RlcHBpbmcgb24gY3JhY2tzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCBhbm5vdW5jZSB0aGUgY2hhbmdlIGluIHBvbGljeS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBzaWduYWwgdHJhdmVsZWQgYmVuZWF0aCB0aGUgc2lkZXdhbGsgYWZ0ZXIgS2V2aW4gc3RlcHBlZCBvbiB0aGUgY3JhY2tzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2lkZXdhbGsgY3JhY2tzIGFwcGVhcmVkIHRvIGNhcnJ5IGEgc2lnbmFsIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHN0ZXBwZWQgb24gdGhlIGNyYWNrcyBkZXNwaXRlIEFiYmllJiMzOTtzIHdhcm5pbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSBzaWduYWwgdHJhdmVsZWQgdGhyb3VnaCBzaWRld2FsayBjcmFja3MgYW5kIHN0b3JtIGRyYWlucyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29uc2VxdWVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IEFmdGVyIEtldmluIHN0ZXBwZWQgb24gdGhlCgljcmFja3MsIGEgc2lnbmFsIHRyYXZlbGVkIGJlbmVhdGggdGhlIHNpZGV3YWxrIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGd1aWRlZCBBYmJpZSBhcm91bmQgdGhlIG5leHQgYnJva2VuIHNlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSZWplY3Rpbmcgc3VwZXJzdGl0aW9uIGhhZCBwcm9kdWNlZCB1bmV4cGVjdGVkbHkgcHJhY3RpY2FsIHJlYXNvbnMKCWZvciBjYXV0aW9uLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wtJmd0O0FwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTYzIiBuYW1lPSJLZXZpbiBGb2xsb3dzIEFiYmllIE92ZXIgdGhlIENyYWNrcyIgdGFncz0iIiBwb3NpdGlvbj0iODI1LDY5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkZvbGxvd2VkQWJiaWVDcmFja3MgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQ6IFNpZGV3YWxrJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZvbGxvdyBBYmJpZSYjMzk7cyBzYWZlIHBhdGggdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGVsZCBBYmJpZSYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hvdyBtZSB3aGVyZSB0byBzdGVwLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGp1bXBlZCBvdmVyIHRoZSBuZXh0IGNyYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3RlcHBlZCBhcm91bmQgYSBicm9rZW4gY29ybmVyIG9mIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbWF0Y2hlZCBoZXIgcGF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByb3V0ZSB3YXMgc2xvd2VyLCBsZXNzIGRpcmVjdCwgYW5kIG9jY2FzaW9uYWxseSByZXF1aXJlZCBLZXZpbiB0bwoJbGFuZCBvbiBvbmUgZm9vdCB3aGlsZSBtYWludGFpbmluZyB0aGUgYXBwZWFyYW5jZSBvZiBhIHBlcnNvbiB3aG8gaGFkCgljaG9zZW4gdG8gZG8gc28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBtb3ZlZCBlYXNpbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgYXBwZWFyZWQgdG8ga25vdyB3aGVyZSBldmVyeSBjcmFjayB3b3VsZCBiZSBiZWZvcmUgcmVhY2hpbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIb3cgYXJlIHlvdSBkb2luZyB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG9pbmcgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tub3dpbmcgd2hlcmUgdG8ganVtcC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgbG9vay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUganVtcGluZyBiZWZvcmUgeW91IGxvb2sgZG93bi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnNpZGVyZWQgdGhpcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIG15IGZlZXQgbG9vay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRlY2lkZWQgbm90IHRvIGFzayBob3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGFwcHJvYWNoZWQgYSB3aWRlIHNwbGl0IGNyb3NzaW5nIHRoZSBlbnRpcmUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyYWNrIGNvbnRpbnVlZCBpbnRvIHRoZSByb2FkIG9uIG9uZSBzaWRlIGFuZCBiZW5lYXRoIGEgaGVkZ2Ugb24KCXRoZSBvdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdhcyBubyB3YXkgYXJvdW5kIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3F1ZWV6ZWQgS2V2aW4mIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGp1bXAgdG9nZXRoZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtZWFzdXJlZCB0aGUgZGlzdGFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSBjYW4gc3RlcCBvdmVyIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uIEJvdGggZmVldCBoYXZlIHRvIGxlYXZlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U28gaXQgZG9lc24mIzM5O3Qga25vdyB3aGljaCBvbmUgdG8gZm9sbG93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGludG8gdGhlIGRhcmsgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbGQgYWlyIHJvc2UgZnJvbSBiZWxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdW50ZWQgcXVpZXRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZS4gVHdvLiBUaHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkganVtcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIG5laXRoZXIgZm9vdCB0b3VjaGVkIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBwYXNzZWQgYmVuZWF0aCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkYXJrIHNoYXBlIG1vdmVkIHRocm91Z2ggdGhlIGNyYWNrIGF0IGltcG9zc2libGUgc3BlZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbmQgQWJiaWUgbGFuZGVkIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYXBlIGNvbnRpbnVlZCBiZW5lYXRoIHRoZSBwYXZlbWVudCBhbmQgZGlzYXBwZWFyZWQgdG93YXJkIHRoZQoJZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZWxlYXNlZCBhIGJyZWF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NlZT8gSXQgcGlja2VkIHdyb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBwaWNrZWQgd3Jvbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3RhcnRlZCB3YWxraW5nIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGZvbGxvd2luZyB0aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIGJlc2lkZSB0aGUgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gZmFpbnQgbWFya3MgYXBwZWFyZWQgYWxvbmcgaXRzIGVkZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgcG9pbnRlZCB0b3dhcmQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb3RoZXIgcG9pbnRlZCB0b3dhcmQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGJvdGggZmFkZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1NvbWV0aGluZyBtb3ZlZCBiZW5lYXRoIEtldmluIGFuZCBBYmJpZSB3aGlsZSB0aGV5IGp1bXBlZCBhIHNpZGV3YWxrIGNyYWNrJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSYjMzk7cyBjcmFjayBydWxlIG1heSBwcmV2ZW50IHNvbWV0aGluZyBiZW5lYXRoIHRoZSBzaWRld2FsayBmcm9tIGNob29zaW5nIHdob20gdG8gZm9sbG93JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiB0cnVzdGVkIEFiYmllJiMzOTtzIHNpZGV3YWxrIHJ1bGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIGJlbmVhdGggdGhlIHNpZGV3YWxrIGFwcGVhcmVkIHRvIGNob29zZSBiZXR3ZWVuIEtldmluIGFuZCBBYmJpZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgcnVsZTombHQ7L3N0cm9uZyZndDsgSnVtcGluZyB0b2dldGhlciBtYXkgaGF2ZSBwcmV2ZW50ZWQKCXNvbWV0aGluZyBiZW5lYXRoIHRoZSBzaWRld2FsayBmcm9tIGRlY2lkaW5nIHdob20gdG8gZm9sbG93LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjYXVnaHQgdXAgd2l0aCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvbnRpbnVlZCBmb2xsb3dpbmcgaGVyIHJvdXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHJ1c3RpbmcgYSBzZWNvbmQgZ3JhZGVyJiMzOTtzIHN1cGVybmF0dXJhbCBzaWRld2FsayBzdHJhdGVneSBoYWQgbm90CgliZWVuIGluY2x1ZGVkIGluIGhpcyBvcmlnaW5hbCBtb3JuaW5nIHBsYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb3JpZ2luYWwgcGxhbiBoYWQgc3RvcHBlZCBiZWluZyB1c2VmdWwgc2V2ZXJhbCBteXN0ZXJpZXMgYWdvLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wtJmd0O0FwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTY0IiBuYW1lPSJLZXZpbiBGaW5pc2hlcyB0aGUgU29uZyBhdCBTY2hvb2wiIHRhZ3M9IiIgcG9zaXRpb249IjIwMCw2NzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgRWxlbWVudGFyeSBTY2hvb2w6IEZyb250IEdhdGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluaXNoIHRoZSBzb25nIGFuZCBnZXQgQWJiaWUgc2FmZWx5IGluc2lkZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblBlcmZvcm1lZEF0U2Nob29sID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga2VwdCBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RvcHBpbmcgbm93IHdvdWxkIG9ubHkgbWFrZSB0aGUgYWR1bHRzIHdvbmRlciB3aHkgdGhlIG9sZGVyIGtpZCBoYWQKCXN1ZGRlbmx5IGZyb3plbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbnRpbnVpbmcgd291bGQgbWFrZSB0aGVtIHdvbmRlciBhYm91dCBzZXZlcmFsIG90aGVyIHRoaW5ncy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNob3NlIHRoZSBwcm9ibGVtIGFscmVhZHkgaW4gcHJvZ3Jlc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBza2lwcGVkIHRvd2FyZCB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIHdpdGggY29uc2lkZXJhYmx5IGxlc3MgaGVpZ2h0IGFuZCBlbnRodXNpYXNtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFkdWx0IGhvbGRpbmcgdGhlIGNvZmZlZSBjdXAgYmVnYW4gc3dheWluZyBmcm9tIHNpZGUgdG8gc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgY2xhcHBlZCBhbG9uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCByYWlzZWQgYm90aCB0aHVtYnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3aXNoZWQgdGhlIHNpZGV3YWxrIHdvdWxkIG9wZW4gYW5kIHN3YWxsb3cgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWZ0ZXIgdGhlIG1vcm5pbmcgaGUgaGFkIGV4cGVyaWVuY2VkLCBLZXZpbiBpbW1lZGlhdGVseSByZWNvbnNpZGVyZWQKCXRoYXQgd2lzaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb25nIHJlYWNoZWQgaXRzIGZpbmFsIHZlcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBhYm91dCBzdW5zaGluZSBmb2xsb3dpbmcgdGhlbSB0byBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb250cmlidXRlZCB0aGUgd29yZHMgaGUgcmVtZW1iZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCB0aGUgYWR1bHRzLCB0aGUgY2hpbGQgaW4gdGhlIG9sZC1mYXNoaW9uZWQgZHJlc3Mgc3Rvb2QgbmVhcgoJdGhlIHBsYXlncm91bmQgZmVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgcGFsZSBoYW5kIHJlbWFpbmVkIHJhaXNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmaW5nZXIgcmVzdGVkIGFnYWluc3QgdGhlIGxpcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrZXB0IHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQmIzM5O3MgbW91dGggYmVnYW4gbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvcmRzIGpvaW5lZCB0aGUgc29uZyB3aXRob3V0IHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVjb2duaXplZCB0aGVtIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglEbyBub3QgdGVsbCBoZXIgeWV0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtaXNzZWQgdGhlIG5leHQgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHR1Z2dlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgc3VwcG9zZWQgdG8gc2luZyB0aGUgZW5kaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yY2VkIHRoZSBmaW5hbCB3b3JkcyBvdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHRzIGFwcGxhdWRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBjYWxsZWQsICZxdW90O1RoYXQgd2FzIGFkb3JhYmxlISZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgZmFjZSBiZWNhbWUgaG90IGVub3VnaCB0byBnZW5lcmF0ZSBpdHMgb3duIHdlYXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb29rZWQgdG93YXJkIHRoZSBmZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0ZWFjaGVyIHN0b29kIGluIHRoYXQgcGxhY2UsIHdhdmluZyBjaGlsZHJlbiB0b3dhcmQgdGhlIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRlYWNoZXImIzM5O3MgbGlwcyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vdCBoZWFyIHRoZSB3b3JkcyBhYm92ZSB0aGUgYXBwbGF1c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGFwcGVhcmVkIHRvIGZvcm0gdGhlIHNhbWUgd2FybmluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglEbyBub3QgdGVsbCBoZXIgeWV0LgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBnaXJsIGF0IHRoZSBwbGF5Z3JvdW5kIGZlbmNlIHdhcm5lZCBLZXZpbiBub3QgdG8gdGVsbCBBYmJpZSB5ZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGdpcmwgYXQgdGhlIHNjaG9vbCBmZW5jZSBzaWxlbnRseSB3YXJuZWQgS2V2aW4gbm90IHRvIHRlbGwgQWJiaWUgeWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gd2FybmluZzombHQ7L3N0cm9uZyZndDsgVGhlIGNoaWxkIGF0IHRoZSBmZW5jZSBhcHBlYXJlZCB0bwoJdGVsbCBLZXZpbiwg4oCcRG8gbm90IHRlbGwgaGVyIHlldC7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgaGUgd2FzIHN1cHBvc2VkIHRvIGNvbmNlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdXNwZWN0ZWQgdGhlIHdhcm5pbmcgcmVmZXJyZWQgdG8gQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IG1hZGUgb2JleWluZyBpdCBmZWVsIHdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWdub3JpbmcgaXQgZmVsdCB3b3JzZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWxrIEFiYmllIHRvIHRoZSBlbnRyYW5jZS0mZ3Q7QWJiaWUgU2F5cyBHb29kYnllXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNjUiIG5hbWU9IkFiYmllIFNheXMgR29vZGJ5ZSIgdGFncz0iIiBwb3NpdGlvbj0iMTI1LDY5MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBFbGVtZW50YXJ5IFNjaG9vbDogTWFpbiBFbnRyYW5jZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTYXkgZ29vZGJ5ZSB0byBBYmJpZSBhbmQgcmVhY2ggdGhlIG1pZGRsZSBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgYmVsbCByYW5nIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2hpbGRyZW4gaHVycmllZCB0aHJvdWdoIHRoZSBlbnRyYW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRlYWNoZXJzIHdhdmVkIHBhcmVudHMgYXdheSBmcm9tIHRoZSBkb29ycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhZHVsdHMgd2hvIGhhZCB3YXRjaGVkIEtldmluIGFuZCBBYmJpZSYjMzk7cyBhcnJpdmFsIHJldHVybmVkIHRvIHRoZWlyCgljb252ZXJzYXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FudGVkIHRvIGxlYXZlIGltbWVkaWF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIG1pZGRsZSBzY2hvb2wgd2FpdGVkIHNldmVyYWwgYmxvY2tzIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZmlyc3QtZGF5IHBsYW4gaGFkIGZhbGxlbiBhcGFydCBiZWZvcmUgaGUgbGVmdCB0aGUga2l0Y2hlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyB3YXRjaCByZW1haW5lZCBkZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIG5vIGlkZWEgaG93IGxhdGUgaGUgd2FzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZGlkIG5vdCByZWxlYXNlIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7S2V2aW4uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGhhdmUgdG8gY3JvdWNoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGtub3cgd2h5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZCB0aGUgYWR1bHRzIG5lYXIgdGhlIGdhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTZXZlcmFsIHdlcmUgc3RpbGwgY2xvc2UgZW5vdWdoIHRvIHdpdG5lc3MgYWRkaXRpb25hbCBkYW1hZ2UgdG8gaGlzCglyZXB1dGF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY3JvdWNoZWQgYW55d2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUga2lzc2VkIGhpcyBjaGVlay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgbG92ZSB5b3UsIGJpZyBicm90aGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vcm5pbmcgYmVjYW1lIHF1aWV0IGluc2lkZSBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgd3JvbmcgcXVpZXQgZnJvbSB0aGUgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgdGhlIGxpc3RlbmluZyBxdWlldCBmcm9tIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgcXVpZXQgc3BhY2Ugd2hlcmUgbm90aGluZyByZXF1aXJlZCBleHBsYW5hdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgbG92ZSB5b3UgdG9vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RlcHBlZCBiYWNrd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBiYWNrcGFjayBsb29rZWQgYWxtb3N0IGFzIGxhcmdlIGFzIHRoZSByZXN0IG9mIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvbiYjMzk7dCBzdGVwIG9uIGNyYWNrcywmcXVvdDsgc2hlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTtsbCB0cnkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUcnlpbmcgZG9lc24mIzM5O3QgY291bnQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIEkgd2lsbCBlbXBsb3kgYSBjb21wcmVoZW5zaXZlIGNyYWNrLWF2b2lkYW5jZSBzdHJhdGVneS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc291bmRlZCBvZmZpY2lhbCBlbm91Z2ggdG8gc2F0aXNmeSBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgam9pbmVkIHRoZSBvdGhlciBjaGlsZHJlbiBlbnRlcmluZyB0aGUgYnVpbGRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIHVudGlsIHNoZSBwYXNzZWQgdGhyb3VnaCB0aGUgbWFpbiBkb29ycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCB0aGUgb2xkLWZhc2hpb25lZCBjaGlsZCBhcHBlYXJlZCBiZXNpZGUgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHR3byBmaWd1cmVzIHdhbGtlZCB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJsaW5rZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3YXMgYWxvbmUgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgdHVybmVkIGJlZm9yZSB0aGUgZG9vcnMgY2xvc2VkIGFuZCB3YXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhdmVkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2xkLWZhc2hpb25lZCBjaGlsZCBkaWQgbm90IHJlYXBwZWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgbmVhciB0aGUgZ2F0ZSBmb3Igb25lIGV4dHJhIG1vbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUdvb2QgbW9tZW50cyBkaWQgbm90IGxhc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglZb3UgaGFkIHRvIHN0YW5kIGluc2lkZSB0aGVtIHdoaWxlIHRoZXkgd2VyZSBoYXBwZW5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIEtldmluIHR1cm5lZCB0b3dhcmQgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBmcm96ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNhcnMgZmlsbGVkIHRoZSBzdHJlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCdXNlcyBsaW5lZCB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0dWRlbnRzIGNyb3dkZWQgdGhlIHNpZGV3YWxrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIGhhZCBiZWVuIHdpdG5lc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1hbnkgd2l0bmVzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgbmVhcmVzdCBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTZXZlcmFsIHN0dWRlbnRzIHdlcmUgc3RhcmluZyBkaXJlY3RseSBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmFjZSB0aGUgd2FsayB0byBtaWRkbGUgc2Nob29sLSZndDtUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNjYiIG5hbWU9IktldmluIEVuZHMgdGhlIFBlcmZvcm1hbmNlIiB0YWdzPSIiIHBvc2l0aW9uPSIzNzUsNzAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIEVsZW1lbnRhcnkgU2Nob29sOiBGcm9udCBHYXRlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0VuZCB0aGUgcGVyZm9ybWFuY2UgYW5kIGdldCBBYmJpZSBpbnNpZGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FbmRlZFNjaG9vbFNvbmcgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBhbHNvIHN0b3BwZWQgc2tpcHBpbmcsIHN3YXlpbmcsIGFuZCBwYXJ0aWNpcGF0aW5nIGluIGFueXRoaW5nIHRoYXQKCW1pZ2h0IGxhdGVyIHJlY2VpdmUgYSB0aXRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnRpbnVlZCBmb3IgdHdvIG1vcmUgc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNoZSBub3RpY2VkIEtldmluIHdhbGtpbmcgbm9ybWFsbHkgYmVzaWRlIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgc3VwcG9zZWQgdG8gZmluaXNoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgcmVhY2hlZCB0aGUgc2Nob29sLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpc24mIzM5O3QgdGhlIGVuZCBvZiB0aGUgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIHRoZSBlbmQgb2YgdGhlIHRyaXAuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc29uZyBkb2VzbiYjMzk7dCBrbm93IHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IHRoZSBhZHVsdHMgbmVhciB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGlsbCBzd2F5ZWQgc2xpZ2h0bHkuIEFub3RoZXIgaGVsZCBib3RoIGhhbmRzIGluIHBvc2l0aW9uIGZvciBhCgljbGFwIHRoYXQgaGFkIG5ldmVyIGFycml2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBtb3ZlbWVudHMgc3RvcHBlZCB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFsbCB0aHJlZSBhZHVsdHMgbG9va2VkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjaG9vbHlhcmQgYmVjYW1lIHF1aWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2hpbGRyZW4gY29udGludWVkIHdhbGtpbmcgYW5kIHBsYXlpbmcsIGJ1dCB0aGVpciB2b2ljZXMgc2VlbWVkIHRvCgloYXZlIG1vdmVkIGZhcnRoZXIgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBhcm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIGV2ZXJ5Ym9keSBzdG9wPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVhciB0aGUgZmVuY2UsIHRoZSBjaGlsZCBpbiB0aGUgb2xkLWZhc2hpb25lZCBkcmVzcyByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgY29uZHVjdGVkIHRoZSBtaXNzaW5nIGVuZCBvZiB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBtb3ZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwbGF5Z3JvdW5kIHN3aW5ncyBiZWdhbiBtb3ZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgc2F0IG9uIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgY2hhaW5zIGNyZWFrZWQgaW4gdGltZSB3aXRoIHRoZSB1bmZpbmlzaGVkIG1lbG9keS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGh1bW1lZCB0aGUgZmluYWwgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzd2luZ3Mgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2b2ljZXMgaW4gdGhlIHNjaG9vbHlhcmQgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHRzIG5lYXIgdGhlIGdhdGUgcmVzdW1lZCB0aGVpciBvcmRpbmFyeSBjb252ZXJzYXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBhcHBlYXJlZCB0byBub3RpY2UgdGhlIGludGVycnVwdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBieSB0aGUgZmVuY2Ugd2FzIGdvbmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSBwbGF5Z3JvdW5kIHN0b3BwZWQgdW50aWwgQWJiaWUgZmluaXNoZWQgdGhlIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBwbGF5Z3JvdW5kIHN3aW5ncyBjb21wbGV0ZWQgQWJiaWUmIzM5O3MgdW5maW5pc2hlZCBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtFdmVyeW9uZSBuZWFyIHRoZSBzY2hvb2wgZ2F0ZSBhcHBlYXJlZCB0byBzdG9wIHdoZW4gS2V2aW4gZW5kZWQgdGhlIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGVsZW1lbnRhcnktc2Nob29sIHBsYXlncm91bmQgcmVhY3RlZCB0byBBYmJpZSYjMzk7cyB1bmZpbmlzaGVkIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBldmVudDombHQ7L3N0cm9uZyZndDsgVGhlIHNjaG9vbHlhcmQgYmVjYW1lIHVubmF0dXJhbGx5IHF1aWV0Cgl1bnRpbCBBYmJpZSBodW1tZWQgdGhlIHNvbmcmIzM5O3MgZmluYWwgbGluZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IGtub3cgd2h5IHRoYXQgaGFwcGVuZWQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCdXQgc29uZ3MgZ2V0IHVwc2V0IHdoZW4geW91IHN0b3AgaW4gdGhlIG1pZGRsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBubyBldmlkZW5jZSB0aGF0IHNvbmdzIHBvc3Nlc3NlZCBmZWVsaW5ncy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzd2luZ3MgaGFkIHByb3ZpZGVkIGFuIGFyZ3VtZW50LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhbGsgQWJiaWUgdG8gdGhlIGVudHJhbmNlLSZndDtBYmJpZSBTYXlzIEdvb2RieWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2NyIgbmFtZT0iS2V2aW4gV2F0Y2hlcyB0aGUgU2Nob29sIEZlbmNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5NTAsNzE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIEVsZW1lbnRhcnkgU2Nob29sOiBGcm9udCBHYXRlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBjaGlsZCBuZWFyIHRoZSBmZW5jZSBpcyByZWFsJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluV2F0Y2hlZFNjaG9vbEZlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCB3YXRjaGluZyB0aGUgYWR1bHRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRW1iYXJyYXNzbWVudCBjb3VsZCB3YWl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoaWxkIG5lYXIgdGhlIHBsYXlncm91bmQgZmVuY2UgY291bGQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9sZC1mYXNoaW9uZWQgZHJlc3MgbG9va2VkIGRhcmsgYWdhaW5zdCB0aGUgcmVkLWJyaWNrIHNjaG9vbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWJyaWMgcmVhY2hlZCBhbG1vc3QgdG8gdGhlIGNoaWxkJiMzOTtzIHNob2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bGQgbm90IHNlZSB0aGUgZmFjZSBjbGVhcmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgc2VlIG9uZSBmaW5nZXIgaGVsZCBhZ2FpbnN0IHRoZSBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNhbWUgZ2VzdHVyZSBBYmJpZSBoYWQgZGVzY3JpYmVkIGZyb20gdGhlIGNlcmVhbCBzcG9vbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzYW1lIGdlc3R1cmUgS2V2aW4gaGFkIHNlZW4gZnJvbSB0aGUgdGhpcmQgc2hhZG93IG9uIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBsb3dlcmVkIHRoZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBwb2ludGVkIHRvd2FyZCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYW5kIG1vdmVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCB0aGUgY2hpbGQgcG9pbnRlZCB0b3dhcmQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRvd2FyZCB0aGUgZWxlbWVudGFyeSBzY2hvb2wgZW50cmFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwdWxsZWQgb24gS2V2aW4mIzM5O3Mgc2xlZXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QXJlIHdlIHN0aWxsIHNpbmdpbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmUgc2Vjb25kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoaWxkIHN0ZXBwZWQgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaW4tbGluayBmZW5jZSBzaG91bGQgaGF2ZSBzdG9wcGVkIHRoZSBtb3ZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgcGFzc2VkIHRocm91Z2ggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgbGlua3MgcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWxlYXNlZCBBYmJpZSYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U3RheSBoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbW92ZWQgY2xvc2VyIHRvIHRoZSBmZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCByZXRyZWF0ZWQgdG93YXJkIHRoZSBzY2hvb2wgYnVpbGRpbmcgd2l0aG91dCB0dXJuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgYWxvbmcgdGhlIG91dHNpZGUgb2YgdGhlIGZlbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0ZWFjaGVyIGNyb3NzZWQgYmV0d2VlbiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBleGFtaW5lZCB0aGUgcGxhY2Ugd2hlcmUgdGhlIGNoaWxkIGhhZCBjcm9zc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzdHJpcCBvZiBibGFjayB0aHJlYWQgaGFkIGNhdWdodCBvbiBvbmUgbWV0YWwgbGluay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aHJlYWQgbW92ZWQgaW4gdGhlIHN0aWxsIGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0dGFjaGVkIHRvIG9uZSBlbmQgd2FzIGEgc21hbGwgd29vZGVuIGJ1dHRvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZE9sZEJ1dHRvbiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBmZWx0IHRoZSBvbGQgYnV0dG9uIGluc2lkZSBoaXMgcG9ja2V0IG9yIGJhY2twYWNrLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGJ1dHRvbiBjYXVnaHQgb24gdGhlIGZlbmNlIGFwcGVhcmVkIGlkZW50aWNhbC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZ2lybCBhdCB0aGUgc2Nob29sIGZlbmNlIGxlZnQgYSBidXR0b24gbWF0Y2hpbmcgdGhlIG9uZSBmb3VuZCBuZWFyIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGgmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0Egc2Vjb25kIHdvb2RlbiBidXR0b24gY29ubmVjdGVkIHRoZSBvbGQtZmFzaGlvbmVkIGdpcmwgdG8gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgYnV0dG9uIGF0IHRoZSBzY2hvb2wgZmVuY2UKCQltYXRjaGVzIHRoZSBvbmUgS2V2aW4gZm91bmQgbmVhciB0aGUgdmFuaXNoZWQgcGhvdG9ncmFwaC4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGJ1dHRvbiB3YXMgZGFyayBicm93biB3aXRoIGZvdXIgaG9sZXMgYW5kIGEgc2hvcnQgcGllY2Ugb2YKCQlibGFjayB0aHJlYWQgYXR0YWNoZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBsb29rZWQgb2xkIGVub3VnaCB0byBoYXZlIGNvbWUgZnJvbSB0aGUgY2xvdGhpbmcgd29ybiBieSBvbmUgb2YKCQl0aGUgZ2lybHMgaW4gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb2xkLWZhc2hpb25lZCBnaXJsIGxlZnQgYSB3b29kZW4gYnV0dG9uIGFuZCBibGFjayB0aHJlYWQgb24gdGhlIHNjaG9vbCBmZW5jZSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7V29vZGVuIGJ1dHRvbiBsZWZ0IGF0IHRoZSBmZW5jZSBieSB0aGUgb2xkLWZhc2hpb25lZCBnaXJsJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1BoeXNpY2FsIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEEgd29vZGVuIGJ1dHRvbiBhbmQgYmxhY2sgdGhyZWFkCgkJcmVtYWluZWQgd2hlcmUgdGhlIGNoaWxkIHBhc3NlZCB0aHJvdWdoIHRoZSBmZW5jZS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVhY2hlZCB0b3dhcmQgdGhlIGJ1dHRvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgYmVsbCByYW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZmxpbmNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGVuIGhlIGxvb2tlZCBhZ2FpbiwgdGhlIGZlbmNlIHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIGJ1dHRvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHRocmVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgb25lIGRhcmsgc3RhaW4gcmVtYWluZWQgb24gdGhlIG1ldGFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZm9ybWVkIHR3byBuYXJyb3cgbGluZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXR1cm4gdG8gQWJiaWUtJmd0O0FiYmllIFNheXMgR29vZGJ5ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTY4IiBuYW1lPSJLZXZpbiBBc2tzIEFib3V0IHRoZSBHaXJsIGF0IFNjaG9vbCIgdGFncz0iIiBwb3NpdGlvbj0iMjAwLDcxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBFbGVtZW50YXJ5IFNjaG9vbDogRnJvbnQgR2F0ZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aGV0aGVyIEFiYmllIGNhbiBzZWUgdGhlIGNoaWxkIG5lYXIgdGhlIGZlbmNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXNrZWRBYm91dFNjaG9vbEdpcmwgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgZG8geW91IHNlZSB0aGUgZ2lybCBieSB0aGUgZmVuY2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIHRoZSBwbGF5Z3JvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBnaXJsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIG9uZSBpbiB0aGUgb2xkIGRyZXNzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2VhcmNoZWQgdGhlIHNjaG9vbHlhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgcmVtYWluZWQgbmVhciB0aGUgZmVuY2Ugd2l0aCBvbmUgZmluZ2VyIGhlbGQgYWdhaW5zdCB0aGUKCWxpcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtSaWdodCB0aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBvaW50ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmb2xsb3dlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBleHByZXNzaW9uIGNoYW5nZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSZWNvZ25pdGlvbiBhcHBlYXJlZCBmb3IgbGVzcyB0aGFuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzaGUgbG9va2VkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRvbiYjMzk7dCBzZWUgYW55Ym9keS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGlzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZGlkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgcmVjb2duaXplZCBoZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzcXVlZXplZCBLZXZpbiYjMzk7cyBmaW5nZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UmIzM5O3JlIGdvaW5nIHRvIGJlIGxhdGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgdXNlZCBoaXMgc2VudGVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2FtZSBzZW50ZW5jZSBoZSBoYWQgcmVwZWF0ZWQgYWxsIG1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgaGFkIG5ldmVyIHNvdW5kZWQgbGlrZSBoaW0gYmVmb3JlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hvIGlzIHNoZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIGZlbmNlIHdpdGhvdXQgdHVybmluZyBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NoZSBkb2VzbiYjMzk7dCBsaWtlIHRoYXQgbmFtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgbmFtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgeW91IGZvdW5kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGtldmluUmV0cmlldmVkQ2F0Q29sbGFyIG9yICRrZXZpbkV4YW1pbmVkQ2F0VGFnJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O0x1Y3k/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSYjMzk7cyBncmlwIHRpZ2h0ZW5lZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCU5lYXIgdGhlIGZlbmNlLCB0aGUgY2hpbGQgbG93ZXJlZCB0aGUgd2FybmluZyBmaW5nZXIuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgY2hpbGQmIzM5O3MgaGVhZCB0aWx0ZWQgdG93YXJkIEtldmluLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGUgaGFkIGNob3NlbiBpbmNvcnJlY3RseS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCU9yIGNvcnJlY3RseSBlbm91Z2ggdG8gYmUgbm90aWNlZC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZ2lybCBhdCB0aGUgc2Nob29sIG1heSBiZSBjb25uZWN0ZWQgdG8gdGhlIG5hbWUgTHVjeSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgaW1wbGllZCB0aGUgZ2lybCBkaXNsaWtlcyB0aGUgbmFtZSBMdWN5JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O05hbWUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgQWJiaWUgaW1wbGllZCB0aGF0IHRoZSBjaGlsZAoJCWRpc2xpa2VzIGJlaW5nIGNhbGxlZCBMdWN5LgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtXaGF0IG5hbWUgZGlkIEkgZmluZD8mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUFiYmllIHNob29rIGhlciBoZWFkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSBmb3Jnb3QuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgY2hpbGQgbmVhciB0aGUgZmVuY2Ugc21pbGVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGV4cHJlc3Npb24gZGlzYXBwZWFyZWQgd2hlbiBLZXZpbiB0cmllZCB0byBmb2N1cyBvbiBpdC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBpbXBsaWVkIEtldmluIGZvdW5kIGEgbmFtZSBjb25uZWN0ZWQgdG8gdGhlIGdpcmwmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7TWlzc2luZyBpbmZvcm1hdGlvbjombHQ7L3N0cm9uZyZndDsgQWJiaWUgYmVsaWV2ZXMgS2V2aW4gZm91bmQgYQoJCW5hbWUgY29ubmVjdGVkIHRvIHRoZSBjaGlsZCwgYnV0IEtldmluIGRvZXMgbm90IGtub3cgd2hpY2ggbmFtZSBzaGUKCW1lYW5zLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyB5b3Uga25vdyBoZXI/JnF1b3Q7IEtldmluIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVtYWluZWQgcXVpZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Nob29sIGJlbGwgY29udGludWVkIHJpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgbmVhciB0aGUgZmVuY2UgbW92ZWQgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIHRoZSBtZXRhbCBsaW5rcyBwYXNzIHRocm91Z2ggdGhlIG9sZC1mYXNoaW9uZWQgZHJlc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBmaWd1cmUgZGlzYXBwZWFyZWQgaW50byB0aGUgY3Jvd2Qgb2Ygc3R1ZGVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgbW92ZWQgYXNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgYXBwZWFyZWQgdG8gZmVlbCB0aGUgY2hpbGQgcGFzcy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gYXNrZWQgQWJiaWUgYWJvdXQgdGhlIG9sZC1mYXNoaW9uZWQgZ2lybCBhdCBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGFrZSBBYmJpZSB0byB0aGUgZW50cmFuY2UtJmd0O0FiYmllIFNheXMgR29vZGJ5ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTY5IiBuYW1lPSJUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljIiB0YWdzPSIiIHBvc2l0aW9uPSIwLDcwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgQmV0d2VlbiB0aGUgRWxlbWVudGFyeSBhbmQgTWlkZGxlIFNjaG9vbHMmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVhY2ggQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wgd2l0aG91dCBhdHRyYWN0aW5nIG1vcmUgYXR0ZW50aW9uJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgdG93YXJkIHRoZSBtaWRkbGUgc2Nob29sLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2FycyBmaWxsZWQgdGhlIHJvYWQgYmV0d2VlbiB0aGUgdHdvIGJ1aWxkaW5ncy4gQnVzZXMgd2FpdGVkIGFsb25nIHRoZQoJY3VyYiB3aGlsZSBzdHVkZW50cyBjcm93ZGVkIHRoZSBzaWRld2Fsa3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3IgaGFsZiBhIHNlY29uZCwgcmVsaWVmIG1vdmVkIHRocm91Z2ggaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRyYWZmaWMgbWVhbnQgb3RoZXIgc3R1ZGVudHMgd2VyZSBzdGlsbCBhcnJpdmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIG1pZ2h0IG5vdCBiZSBsYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBLZXZpbiByZW1lbWJlcmVkIHRoZSBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNraXBwaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFkdWx0cyBjbGFwcGluZyBuZWFyIHRoZSBlbGVtZW50YXJ5LXNjaG9vbCBnYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgdGhlIGJ1c2VzIGhhZCBiZWVuIHdhaXRpbmcgdGhlcmUgdGhlIGVudGlyZSB0aW1lLCB0aGVuIHRoZQoJc3R1ZGVudHMgaGFkIHNlZW4gZXZlcnl0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIG5lYXJlc3QgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2V2ZXJhbCBmYWNlcyBmaWxsZWQgdGhlIHdpbmRvd3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc3R1ZGVudCBwb2ludGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5vdGhlciBiZWdhbiBtb3ZpbmcgYm90aCBhcm1zIGluIGFuIGV4YWdnZXJhdGVkIHNraXBwaW5nIG1vdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUxhdWdodGVyIGVydXB0ZWQgZnJvbSBpbnNpZGUgdGhlIGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGlzIGhlYWQgYW5kIHdhbGtlZCBmYXN0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTcGVlZCBjb3VsZCBub3QgZXJhc2UgbWVtb3J5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgcmVkdWNlIHRoZSBhbW91bnQgb2YgdGltZSBhdmFpbGFibGUgZm9yIHdpdG5lc3NlcyB0byBjcmVhdGUKCW5ldyBtYXRlcmlhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgYnVzIGJlZ2FuIG1vdmluZyBiZXNpZGUgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3R1ZGVudHMgbGVhbmVkIHRvd2FyZCB0aGUgd2luZG93cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgc3RhcnRlZCBzaW5naW5nIEFiYmllJiMzOTtzIG1lbG9keS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b3JkcyB3ZXJlIHdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGh1bWlsaWF0aW9uIHdhcyBhY2N1cmF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYSB2b2ljZSBzaG91dGVkIGZyb20gYW4gb3BlbiB3aW5kb3c6CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZXksIFBldGVyIFBhbiEgV2hlcmUmIzM5O3MgVGlua2VyYmVsbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbmlja25hbWUgaGFkIGZvbGxvd2VkIGhpbSB0byBCcmVja2VucmlkZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBoYWQgc3Vydml2ZWQgdGhlIG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMaWtlIG1vbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMaWtlIGEgY3Vyc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQb3NzaWJseSBib3RoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyByb2xsZWQgYWhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMYXVnaHRlciBmb2xsb3dlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlc3VtZWQgd2Fsa2luZyB3aXRoIGhpcyBleWVzIGZpeGVkIG9uIHRoZSBwYXZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNyYWNrcyBjcm9zc2VkIHRoZSBzaWRld2FsayBhaGVhZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRrZXZpbkF2b2lkZWRDcmFja3Mgb3IgJGtldmluRm9sbG93ZWRBYmJpZUNyYWNrcyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBzaG9ydGVuZWQgaGlzIHN0ZXBzIGFuZCBhdm9pZGVkIGVhY2ggbGluZS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCURvaW5nIHNvIG1hZGUgaGlzIHdhbGsgcmVzZW1ibGUgYSByZXN0cmFpbmVkIHZlcnNpb24gb2Ygc2tpcHBpbmcuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGlzIGRpZCBub3QgaW1wcm92ZSB0aGUgUGV0ZXIgUGFuIHNpdHVhdGlvbi4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGtldmluSWdub3JlZENyYWNrcyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiByZW1lbWJlcmVkIHRoZSBzaWduYWwgdGhhdCBoYWQgdHJhdmVsZWQgYmVuZWF0aCB0aGUgc2lkZXdhbGsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhdm9pZGVkIHRoZSBjcmFja3Mgd2l0aG91dCBhZG1pdHRpbmcgdGhhdCBoaXMgcG9saWN5IGhhZAoJCWNoYW5nZWQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRrZXZpblF1ZXN0aW9uZWRDcmFja1J1bGUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVtZW1iZXJlZCBBYmJpZSYjMzk7cyB3YXJuaW5nIGFib3V0IHRoZSB0aGluZyBiZW5lYXRoIHRoZSBsaW5lcy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUhlIHN0ZXBwZWQgYXJvdW5kIHRoZSBuZWFyZXN0IGNyYWNrLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vdmluZyBidXMgcHVsbGVkIGFsb25nc2lkZSBoaW0gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgcmVhciB3aW5kb3cgcmVmbGVjdGVkIHRoZSBzdHJlZXQsIHRoZSBtb3JuaW5nIHNreSwgYW5kIHRoZSBkYXJrCglicmFuY2hlcyBvZiBhIHRyZWUgYmVoaW5kIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBLZXZpbiBzYXcgdGhlIGZhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQYWxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmVzc2VkIGludG8gdGhlIGdsYXNzIGZyb20gdGhlIHdyb25nIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IGJlbG9uZyB0byBhbnkgc3R1ZGVudCBpbnNpZGUgdGhlIGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBza2luIGxvb2tlZCBmbGF0IGFuZCBmYWRlZCwgbGlrZSBvbGQgcGFwZXIgbGVmdCBpbnNpZGUgYSBkcmF3ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZXllcyByZW1haW5lZCBvcGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBkaWQgbm90IGJsaW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2Ugd2FzIG5vdCBiZWhpbmQgdGhlIHdpbmRvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBpbnNpZGUgdGhlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVzIGNvbnRpbnVlZCBtb3ZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmFjZSByZW1haW5lZCBsZXZlbCB3aXRoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNsaWQgYWNyb3NzIHRoZSBnbGFzcyB3aXRob3V0IGNoYW5naW5nIHBvc2l0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBLZXZpbiYjMzk7cyB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hvcnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGbGF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV3JvbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByYWlzZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpc3BsYXkgcmVtYWluZWQgYmxhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEZWFkIHdhdGNoZXMgZGlkIG5vdCBiZWVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyBtb3ZlZCBhaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIGZhY2UgcmVtYWluZWQgaW4gdGhlIHJlYXIgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTG9va2luZyBiYWNrIGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0dWR5IHRoZSBmYWNlIGJlZm9yZSB0aGUgYnVzIGdldHMgYXdheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFN0dWRpZXMgdGhlIEJ1cyBXaW5kb3cgRmFjZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtMb29rIGF3YXkgYW5kIGNvbmNlbnRyYXRlIG9uIHJlYWNoaW5nIHNjaG9vbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZWZ1c2VzIHRoZSBCdXMgV2luZG93JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0ZvbGxvdyB0aGUgYnVzIGxvbmcgZW5vdWdoIHRvIGlkZW50aWZ5IHRoZSBzdHVkZW50IHNlYXQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEZvbGxvd3MgdGhlIEJ1cyBXaW5kb3cmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hlY2sgdGhlIHdhdGNoIGFuZCBjb21wYXJlIHRoZSBldmVudCB3aXRoIDk6MTQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDaGVja3MgdGhlIEJlZXBpbmcgV2F0Y2gmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTcwIiBuYW1lPSJLZXZpbiBTdHVkaWVzIHRoZSBCdXMgV2luZG93IEZhY2UiIHRhZ3M9IiIgcG9zaXRpb249IjE3NSw3MzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5TYXdCdXNGYWNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgTmVhciBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgZmFjZSBpbnNpZGUgdGhlIGJ1cy13aW5kb3cgcmVmbGVjdGlvbiZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yY2VkIGhpbXNlbGYgdG8ga2VlcCBsb29raW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2Ugb2NjdXBpZWQgdGhlIGNlbnRlciBvZiB0aGUgcmVhciB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdHVkZW50cyBtb3ZlZCBiZWhpbmQgdGhlIGdsYXNzLiBIZWFkcyB0dXJuZWQuIEhhbmRzIHdhdmVkLiBTb21lb25lCglwcmVzc2VkIGEgbm90ZWJvb2sgYWdhaW5zdCB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBvZiB0aG9zZSBtb3ZlbWVudHMgZGlzdHVyYmVkIHRoZSBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmVtYWluZWQgZW1iZWRkZWQgaW4gdGhlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdHVkaWVkIHRoZSBmZWF0dXJlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGNoaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXJrIGhhaXIgY2xvc2UgdG8gdGhlIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQtZmFzaGlvbmVkIGNvbGxhciB2aXNpYmxlIGJlbmVhdGggdGhlIHRocm9hdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIGJlbG9uZ2VkIHRvIGEgY2hpbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgb2YgdGhlIHRocmVlIGdpcmxzIGZyb20gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhcyBub3Qgc3VyZSBob3cgaGUga25ldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjZXJ0YWludHkgYXJyaXZlZCBiZWZvcmUgdGhlIG1lbW9yeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0ZWQgY2hpbGQgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGZpbmdlciB0b3VjaGVkIHRoZSBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNhbWUgd2FybmluZyBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlIHF1aWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRG8gbm90IHRlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciBsaXN0ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBub3QgdGVsbCB3aGljaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBsb3dlcmVkIHRoZSBoYW5kIGFuZCBwb2ludGVkIHRvd2FyZCBLZXZpbiYjMzk7cyB3cmlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBkZWFkIHdhdGNoIGJlZXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaXNwbGF5IGZsYXNoZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJOToxNAombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGVuIHR3byBuYXJyb3cgc3Ryb2tlcyByZXBsYWNlZCB0aGUgdGltZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIHdlbnQgYmxhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBidXMgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2UgaGFkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBLZXZpbiYjMzk7cyByZWZsZWN0aW9uIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmFpc2VkIG9uZSBmaW5nZXIgdG93YXJkIGl0cyBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIG5vdCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgdHVybmVkIGludG8gdGhlIG1pZGRsZS1zY2hvb2wgbG90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIHJlZmxlY3Rpb24gdmFuaXNoZWQgd2l0aCBpdC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBnaXJsIGFwcGVhcmVkIGluc2lkZSB0aGUgYnVzLXdpbmRvdyByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtPbmUgb2YgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBnaXJscyBhcHBlYXJlZCBpbiBhIGJ1cy13aW5kb3cgcmVmbGVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggY2hhbmdlZCBmcm9tIDk6MTQgdG8gSUkgd2hlbiB0aGUgcmVmbGVjdGVkIGdpcmwgcG9pbnRlZCBhdCBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtSZWZsZWN0ZWQgZ2lybCBjb25uZWN0ZWQgS2V2aW4mIzM5O3Mgd2F0Y2gsIDk6MTQsIGFuZCBJSSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHJlZmxlY3RlZCBnaXJsIHBvaW50ZWQgdG93YXJkCglLZXZpbiYjMzk7cyB3YXRjaCBiZWZvcmUgaXRzIGRpc3BsYXkgY2hhbmdlZCBmcm9tIDk6MTQgdG8gSUkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtLZXZpbiBOYW1lcyB0aGUgTXlzdGVyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTcxIiBuYW1lPSJLZXZpbiBOYW1lcyB0aGUgTXlzdGVyeSIgdGFncz0iIiBwb3NpdGlvbj0iMTc1LDc0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbk5hbWVkTXlzdGVyeSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtPdXRzaWRlIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlYWNoIGhvbWVyb29tIGFuZCBkZWNpZGUgd2hhdCBLZXZpbiBiZWxpZXZlcyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1pZGRsZSBzY2hvb2wgcm9zZSBhaGVhZCBvZiBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0dWRlbnRzIG1vdmVkIHRocm91Z2ggdGhlIGVudHJhbmNlIGluIGdyb3Vwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRlYWNoZXJzIGRpcmVjdGVkIHRyYWZmaWMgbmVhciB0aGUgZG9vcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFdmVyeXRoaW5nIGxvb2tlZCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG5vIGxvbmdlciB0cnVzdGVkIG9yZGluYXJ5IGFwcGVhcmFuY2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc2xvd2VkIG5lYXIgdGhlIGVkZ2Ugb2YgdGhlIHBhcmtpbmcgbG90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIHRob3VnaHRzIGJlZ2FuIGFycmFuZ2luZyB0aGUgbW9ybmluZyBpbnRvIGEgbGlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbGlja2VyaW5nIGhhbGx3YXkgbGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xkIGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdG9wcGVkIGNsb2Nrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtaXNzaW5nIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBzaXgtcGV0YWxlZCBzeW1ib2wgY2FydmVkIGludG8gdGhlIHN0YWlyY2FzZS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlTdGFpciBgWElgLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJG5vdGljZWRSb21hbklJJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBzZWNvbmQgc3ltYm9sIG1hcmtlZCBgSUlgLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kV2V0Rm9vdHByaW50Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSB3ZXQgZm9vdHByaW50IGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWlycy4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRvcmFuZ2VDYXRTZWVuJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBvcmFuZ2UgY2F0IGRpc2FwcGVhcmluZyBpbnNpZGUgdGhlIG9hayB0cmVlLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvbmdzIHRoYXQga25ldyB3b3JkcyBBYmJpZSBkaWQgbm90IHJlbWVtYmVyIGxlYXJuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyYWNrcyB0aGF0IG1heSBoYXZlIGNhcnJpZWQgc29tZXRoaW5nIGJlbmVhdGggdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhbGUgZmFjZSBpbiB0aGUgYnVzIHdpbmRvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZWFkIHdhdGNoIHRoYXQga2VwdCBwcm9kdWNpbmcgbWVzc2FnZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbmRpdmlkdWFsbHksIGVhY2ggZXZlbnQgY291bGQgYmUgZXhwbGFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmFkIHdpcmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmFpbGluZyBiYXR0ZXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmVmbGVjdGlvbnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZXJ2ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyBpbWFnaW5hdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIGltYWdpbmF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVG9nZXRoZXIsIHRoZXkgaGFkIGJlY29tZSBzb21ldGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcGF0dGVybi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVBhdHRlcm5zIGJlbG9uZ2VkIHRvIG15c3Rlcmllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU15c3RlcmllcyBuZWVkZWQgbmFtZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgcmVhZCBlbm91Z2ggSGFyZHkgQm95cyBib29rcyB0byB1bmRlcnN0YW5kIHRoYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHRpdGxlIGRpZCBub3Qgc29sdmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjcmVhdGVkIGEgY29udGFpbmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIHdpdGggZWRnZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgS2V2aW4gY291bGQgaG9sZCB3aXRob3V0IGxldHRpbmcgZXZlcnkgcGllY2Ugc2NhdHRlciB0aHJvdWdoCgloaXMgdGhvdWdodHMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGhlIFNlY3JldCBvZiB0aGUgU3RyYW5nZSBNb3JuaW5nLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgdGl0bGUgd2FzIG5vdCBnb29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGFsc28gdGhlIG9ubHkgb25lIGF2YWlsYWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uY2UgdGhlIG15c3RlcnkgaGFkIGEgbmFtZSwgdGhlIGV2ZW50cyBmZWx0IGxlc3MgbGlrZSB1bnJlbGF0ZWQKCWRpc2FzdGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIGhhdmUgaGVscGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU15c3RlcmllcyBkaWQgbm90IGRpc2FwcGVhciB3aGVuIHNvbWVvbmUgbmFtZWQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgYmVjYW1lIHJlYWwgZW5vdWdoIHRvIGludmVzdGlnYXRlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBuYW1lZCB0aGUgY29ubmVjdGVkIGV2ZW50cyBUaGUgU2VjcmV0IG9mIHRoZSBTdHJhbmdlIE1vcm5pbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXb3JraW5nIGNvbmNsdXNpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGJlbGlldmVzIHRoZSBtb3JuaW5nJiMzOTtzCgl1bmV4cGxhaW5lZCBldmVudHMgbWF5IGJlbG9uZyB0byBvbmUgY29ubmVjdGVkIG15c3RlcnkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGFkanVzdGVkIGhpcyBiYWNrcGFjayBhbmQgYXBwcm9hY2hlZCB0aGUgc2Nob29sIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBidXMgd2luZG93IHJlZmxlY3RlZCBoaW0gYXMgaGUgcGFzc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIGhpcyByZWZsZWN0aW9uIGxvb2tlZCBiYWNrIGFmdGVyIEtldmluIGhhZCB0dXJuZWQKCWF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBmaXJzdCBiZWxsIHJhbmcuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRW50ZXIgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wtJmd0O0tldmluIEVudGVycyB0aGUgTWlkZGxlIFNjaG9vbF1dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE3MiIgbmFtZT0iS2V2aW4gUmVmdXNlcyB0aGUgQnVzIFdpbmRvdyIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDcyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkF2b2lkZWRCdXNGYWNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgTmVhciBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBzY2hvb2wgd2l0aG91dCBsb29raW5nIGF0IHRoZSBidXMgYWdhaW4mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgaGUgZGlkIG5vdCBleGFtaW5lIHRoZSBmYWNlLCB0aGVuIHRoZSBmYWNlIHJlbWFpbmVkIGEgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN1bmxpZ2h0IG9uIGRpcnR5IGdsYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzdHVkZW50IHNpdHRpbmcgYXQgYW4gdW51c3VhbCBhbmdsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRyZWUgYnJhbmNoZXMgYXJyYW5nZWQgaW50byBzb21ldGhpbmcgdGhhdCByZXNlbWJsZWQgZXllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdlcmUgc2V2ZXJhbCByZWFzb25hYmxlIGV4cGxhbmF0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbmNlbnRyYXRlZCBvbiBoaXMgc2hvZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMZWZ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdm9pZCB0aGUgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMZWZ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEbyBub3QgbG9vayBhdCB0aGUgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGNoIGJlZXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgZW5naW5lIGdyZXcgcXVpZXRlciBhcyBpdCBtb3ZlZCBhaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50cyYjMzk7IGxhdWdodGVyIGZhZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2Ugd2FzIGdvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBhc3NlZCBhIHBhcmtlZCBjYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFsZSBmYWNlIGFwcGVhcmVkIGluIGl0cyBzaWRlIG1pcnJvci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzdG9yZWZyb250IHdpbmRvdyBjYXVnaHQgdGhlIG5leHQgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIGFwcGVhcmVkIHRoZXJlIHRvby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNyb3NzZWQgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyBwdWRkbGUgd2FpdGVkIGJlc2lkZSB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0ZWQgY2hpbGQgc3RhcmVkIHVwd2FyZCBmcm9tIHRoZSB3YXRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgb3ZlciBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5IHJlZmxlY3RpdmUgc3VyZmFjZSBhbG9uZyB0aGUgc3RyZWV0IGhhZCBiZWd1biBjYXJyeWluZyB0aGUgc2FtZQoJcGFzc2VuZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBsb29rIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgc3RpbGwgZmVlbCB0aGUgY2hpbGQmIzM5O3MgYXR0ZW50aW9uIGZvbGxvd2luZyBoaW0gZnJvbSBnbGFzcyB0bwoJZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSByZWZsZWN0aW9ucyBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga25ldyBiZWNhdXNlIGhpcyBvd24gc2hhZG93IHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmaW5nZXIgdG91Y2hlZCB3aGVyZSBpdHMgbW91dGggc2hvdWxkIGhhdmUgYmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbnRpbnVlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWdub3Jpbmcgc29tZXRoaW5nIGhhZCBuZXZlciByZXF1aXJlZCB0aGlzIG11Y2ggYXR0ZW50aW9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgcGFsZSBmYWNlIGZvbGxvd2VkIEtldmluIHRocm91Z2ggcmVmbGVjdGl2ZSBzdXJmYWNlcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGJ1cy13aW5kb3cgZmFjZSBhcHBlYXJlZCBpbiBtdWx0aXBsZSByZWZsZWN0aW9ucyBhZnRlciBLZXZpbiBsb29rZWQgYXdheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtQYWxlIGNoaWxkIGZvbGxvd2VkIEtldmluIHRocm91Z2ggd2luZG93cywgbWlycm9ycywgYW5kIHdhdGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBwdXJzdWl0OiZsdDsvc3Ryb25nJmd0OyBUaGUgZmFjZSBtb3ZlZCB0aHJvdWdoIHNldmVyYWwKCXJlZmxlY3Rpb25zIGFmdGVyIEtldmluIHJlZnVzZWQgdG8gbG9vayBhdCB0aGUgYnVzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbS2VlcCB3YWxraW5nIHRvd2FyZCBzY2hvb2wtJmd0O0tldmluIE5hbWVzIHRoZSBNeXN0ZXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzMiIG5hbWU9IktldmluIEZvbGxvd3MgdGhlIEJ1cyBXaW5kb3ciIHRhZ3M9IiIgcG9zaXRpb249IjU3NSw3Mzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5Gb2xsb3dlZEJ1cyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtSb2FkIE5lYXIgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXJlIHRoZSByZWZsZWN0ZWQgZmFjZSBpcyBsb2NhdGVkIG9uIHRoZSBidXMmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGpvZ2dlZCBhZnRlciB0aGUgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHZlaGljbGUgc2xvd2VkIGJlaGluZCBhIGxpbmUgb2YgY2FycyBlbnRlcmluZyB0aGUgbWlkZGxlLXNjaG9vbAoJbG90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ2FpbmVkIGdyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGtlcHQgaGlzIGV5ZXMgb24gdGhlIHJlYXIgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhbGUgZmFjZSByZW1haW5lZCBuZWFyIHRoZSBjZW50ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcG9zaXRpb24gc2hvdWxkIGhhdmUgY29ycmVzcG9uZGVkIHdpdGggdGhlIGJhY2sgcm93IG9mIHNlYXRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbW92ZWQgdG93YXJkIHRoZSBzaWRlIG9mIHRoZSBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcmVhciB3aW5kb3cgcm90YXRlZCBvdXQgb2Ygdmlldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIGFwcGVhcmVkIGluIHRoZSBuZWFyZXN0IHNpZGUgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIG1vdmVkIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIHNwYWNlIGJldHdlZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb250aW51ZWQgYWxvbmdzaWRlIHRoZSBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmFjZSBwYXNzZWQgZnJvbSBvbmUgd2luZG93IHRvIHRoZSBuZXh0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gYm9keSBmb2xsb3dlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHN0dWRlbnQgc2hpZnRlZCBzZWF0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBsaWtlIHdhdGNoaW5nIGEgcGljdHVyZSBtb3ZlIGJldHdlZW4gc2VwYXJhdGUgZnJhbWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyBzbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWFjaGVkIHRoZSB3aW5kb3cgY29udGFpbmluZyB0aGUgZmFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWF0IGJlaGluZCBpdCB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhcmsgc3RhaW4gbWFya2VkIHRoZSBncmVlbiB2aW55bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdGFpbiBoYWQgc2l4IG5hcnJvdyBjdXJ2ZXMgYXJyYW5nZWQgYXJvdW5kIGEgY2VudGVyIHBvaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIGZhY2UgcmVtYWluZWQgb24gdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgdHVybmVkIHRvd2FyZCB0aGUgZW1wdHkgc2VhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGl0cyBnYXplLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCB3b29kZW4gYnV0dG9uIHJlc3RlZCBvbiB0aGUgY3VzaGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJsYWNrIHRocmVhZCByZW1haW5lZCBhdHRhY2hlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZE9sZEJ1dHRvbiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBtYXRjaGVkIHRoZSBidXR0b24gS2V2aW4gaGFkIGZvdW5kIG5lYXIgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCBidXR0b24gbWF0Y2hpbmcgdGhlIGhhbGx3YXkgYnV0dG9uIGFwcGVhcmVkIG9uIGFuIGVtcHR5IGJ1cyBzZWF0JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtNYXRjaGluZyB3b29kZW4gYnV0dG9uIGNvbm5lY3RlZCB0aGUgYnVzIGZhY2UgdG8gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGJ1dHRvbiBsb29rZWQgb2xkIGVub3VnaCB0byBoYXZlIGNvbWUgZnJvbSBvbmUgb2YgdGhlIGRyZXNzZXMKCQlpbiB0aGUgbWlzc2luZyBwaG90b2dyYXBoLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FuIG9sZCB3b29kZW4gYnV0dG9uIGFwcGVhcmVkIG9uIHRoZSBlbXB0eSBzZWF0IGJlaGluZCB0aGUgYnVzLXdpbmRvdyBmYWNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgcmVmbGVjdGVkIGNoaWxkIHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgYWNjZWxlcmF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmZWxsIGJlaGluZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCB3aW5kb3cgcGFzc2VkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBlbXB0eSBzZWF0IHJlbWFpbmVkIHZpc2libGUgZm9yIG9uZSBzZWNvbmQgbG9uZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1dHRvbiB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoZXhhZm9pbCBzdGFpbiByZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIGJ1cy13aW5kb3cgZmFjZSBtb3ZlZCBiZXR3ZWVuIHNlcGFyYXRlIHBhbmVzIG9mIGdsYXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGhleGFmb2lsIHN0YWluIG1hcmtlZCB0aGUgZW1wdHkgc2VhdCBiZWhpbmQgdGhlIHJlZmxlY3RlZCBmYWNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0hleGFmb2lsIGFuZCB3b29kZW4gYnV0dG9uIGFwcGVhcmVkIG9uIHRoZSByZWZsZWN0ZWQgZ2lybCYjMzk7cyBidXMgc2VhdCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UGh5c2ljYWwgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHJlZmxlY3RlZCBmYWNlIGxlZCBLZXZpbiB0bwoJYW4gZW1wdHkgc2VhdCBtYXJrZWQgYnkgYSBoZXhhZm9pbCBhbmQgYW4gb2xkIHdvb2RlbiBidXR0b24uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgam9nZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgZW50ZXJlZCB0aGUgc2Nob29sIGxvdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVyYWwgc3R1ZGVudHMgaW5zaWRlIGFwcGxhdWRlZCBoaXMgYXR0ZW1wdCB0byBrZWVwIHBhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBzb2NpYWwgc2l0dWF0aW9uIGhhZCBub3QgaW1wcm92ZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7S2V2aW4gTmFtZXMgdGhlIE15c3RlcnldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE3NCIgbmFtZT0iS2V2aW4gQ2hlY2tzIHRoZSBCZWVwaW5nIFdhdGNoIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNzM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluQ2hlY2tlZFdhdGNoQWdhaW4gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Um9hZCBOZWFyIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIGRlYWQgd2F0Y2ggYmVlcGVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByYWlzZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpc3BsYXkgcmVtYWluZWQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHByZXNzZWQgdGhlIHRvcCBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHJlc3NlZCBib3RoIGJ1dHRvbnMgdG9nZXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIGZsYXNoZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJOToxNAombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2FtZSBpbXBvc3NpYmxlIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbnVtYmVyIHJlbWFpbmVkIHZpc2libGUgZm9yIG9uZSBzZWNvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBjb2xvbiBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cgk5MTQKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHJlc3NlZCB0aGUgYnV0dG9uIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG51bWVyYWxzIHJlYXJyYW5nZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJMTkgMTQKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBsb29rZWQgbGVzcyBsaWtlIGEgdGltZSBhbmQgbW9yZSBsaWtlIGEgeWVhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5pbmV0ZWVuIGZvdXJ0ZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgaGFkIGhhcHBlbmVkIGluIDE5MTQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrbmV3IGhpcyBkaWdpdGFsIHdhdGNoIGhhZCBub3QgYmVlbiBkZXNpZ25lZCB0byBkaXNwbGF5IGhpc3RvcmljYWwKCXJlZmVyZW5jZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIGNoYW5nZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJWEkgSUkKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJRWxldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJG5vdGljZWRSb21hblhJIGFuZCAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHdhdGNoIGhhZCBjb21iaW5lZCB0aGUgbWFya2luZ3MgZnJvbSB0aGUgc3RhaXJjYXNlIGFuZCB0aGUKCQlmcm9udCBkb29yLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJYFhJYCBhbmQgYElJYC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUVsZXZlbiBhbmQgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJT3IgYSBkYXRlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJRWxldmVuLXR3by4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBjb21iaW5lZCBYSSBhbmQgSUkgYWZ0ZXIgZGlzcGxheWluZyA5OjE0IGFuZCAxOTE0JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtXYXRjaCBjb25uZWN0ZWQgOToxNCwgMTkxNCwgWEksIGFuZCBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBzZXF1ZW5jZTombHQ7L3N0cm9uZyZndDsgS2V2aW4mIzM5O3Mgd2F0Y2ggY2hhbmdlZCBmcm9tIDk6MTQKCQl0byAxOTE0IGFuZCB0aGVuIGRpc3BsYXllZCBYSSBJSS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVjb2duaXplZCB0aGUgc3ltYm9scyBhcyBSb21hbiBudW1lcmFscy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUVsZXZlbiBhbmQgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGUgZGlkIG5vdCB5ZXQga25vdyB3aGF0IHRoZXkgaWRlbnRpZmllZC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBkaXNwbGF5ZWQgOToxNCwgMTkxNCwgYW5kIHRoZSBSb21hbiBudW1lcmFscyBYSSBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBzZXF1ZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHdhdGNoIGRpc3BsYXllZCA5OjE0LAoJCTE5MTQsIGFuZCB0aGUgUm9tYW4gbnVtZXJhbHMgWEkgSUkuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhbGUgZmFjZSByZW1haW5lZCBpbiB0aGUgcmVhciB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByYWlzZWQgb25lIGZpbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglUd28uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlzcGxheSB3ZW50IGRhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwcmVzc2VkIHRoZSBidXR0b25zIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIGZhY2UgaGFkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiYjMzk7cyBkZWFkIHdhdGNoIGRpc3BsYXllZCA5OjE0LCAxOTE0LCBYSSwgYW5kIElJJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBzY2hvb2wtJmd0O0tldmluIE5hbWVzIHRoZSBNeXN0ZXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzUiIG5hbWU9IktldmluIEVudGVycyB0aGUgTWlkZGxlIFNjaG9vbCIgdGFncz0iIiBwb3NpdGlvbj0iMTc1LDc1NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFbnRyYW5jZSBIYWxsJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlYWNoIGhvbWVyb29tIGJlZm9yZSBLZXZpbiBhdHRyYWN0cyBtb3JlIGF0dGVudGlvbiZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZW50ZXJlZCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCB3aXRoIHRoZSBjcm93ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcm9udCBkb29ycyBvcGVuZWQgaW50byBhIHdpZGUgaGFsbCBsaW5lZCB3aXRoIGxvY2tlcnMsIGJ1bGxldGluCglib2FyZHMsIGFuZCBzdHVkZW50cyB3aG8gYXBwZWFyZWQgdG8ga25vdyBleGFjdGx5IHdoZXJlIHRoZXkgd2VyZQoJZ29pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrbmV3IHdoZXJlIGhlIHdhcyBnb2luZyB0b28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBcHByb3hpbWF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSG9tZXJvb20gd2FzIHNvbWV3aGVyZSBpbnNpZGUgdGhlIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB0ZWNobmljYWxseSBjb3VudGVkIGFzIGluZm9ybWF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3R1ZGVudHMgZmxvd2VkIGFyb3VuZCBoaW0gaW4gYm90aCBkaXJlY3Rpb25zLiBCYWNrcGFja3Mgc3RydWNrCglsb2NrZXJzLiBTaG9lcyBzcXVlYWtlZCBhZ2FpbnN0IHRoZSB3YXhlZCBmbG9vci4gVm9pY2VzIG92ZXJsYXBwZWQKCWJlbmVhdGggdGhlIGZsdW9yZXNjZW50IGxpZ2h0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRpZ2h0ZW5lZCBoaXMgZ3JpcCBvbiBoaXMgc2NoZWR1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcm9vbSBudW1iZXIgd2FzIHByaW50ZWQgbmVhciB0aGUgdG9wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByb2JsZW0gd2FzIHRoYXQgbm9uZSBvZiB0aGUgbmVhcmJ5IHNpZ25zIGFwcGVhcmVkIGludGVyZXN0ZWQgaW4KCWV4cGxhaW5pbmcgd2hlcmUgdGhhdCByb29tIG1pZ2h0IGJlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RlcHBlZCBhd2F5IGZyb20gdGhlIGVudHJhbmNlIGFuZCBpbW1lZGlhdGVseSBibG9ja2VkIHRocmVlCglzdHVkZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvcnJ5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbW92ZWQgbGVmdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGlmZmVyZW50IGdyb3VwIGFwcHJvYWNoZWQgZnJvbSB0aGF0IGRpcmVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIG1vdmVkIHJpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZW9uZSBvcGVuZWQgYSBsb2NrZXIgZGlyZWN0bHkgYmVzaWRlIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtZXRhbCBkb29yIG5lYXJseSBzdHJ1Y2sgaGlzIHNob3VsZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmFja2VkIGFnYWluc3QgdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgYmVlbiBpbnNpZGUgdGhlIHNjaG9vbCBmb3IgbGVzcyB0aGFuIGEgbWludXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBsYW4gd2FzIHBlcmZvcm1pbmcgZXhhY3RseSBhcyBleHBlY3RlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglGaW5kIGhvbWVyb29tLiZsdDticiZndDsKCUZpbmQgdGhlIGxvY2tlci4mbHQ7YnImZ3Q7CglEbyBub3Qgc3BlYWsgdW5sZXNzIGFza2VkIGEgZGlyZWN0IHF1ZXN0aW9uLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYWJvdmUgS2V2aW4gZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIHVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpZ2h0IGJlY2FtZSBzdGVhZHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQgZm9yIHRoZSBzaGFkb3dzIHRvIG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZ3JvdXAgb2Ygc3R1ZGVudHMgZW50ZXJlZCB0aHJvdWdoIHRoZSBkb29ycyBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIG5vdGljZWQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBudWRnZWQgc29tZW9uZSBlbHNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQm90aCBsb29rZWQgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gY2FtZSB0aGUgc2tpcHBpbmcgbW90aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXJtcyBzd2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtuZWVzIGxpZnRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBleGFnZ2VyYXRlZCBzbWlsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwZXJmb3JtYW5jZSBoYWQgYmVlbiB3aXRuZXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb3dlcmVkIGhpcyBleWVzIGFuZCB1bmZvbGRlZCBoaXMgc2NoZWR1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJZiBoZSBhcHBlYXJlZCBidXN5LCBwZXJoYXBzIGV2ZXJ5b25lIHdvdWxkIGNvbmNsdWRlIHRoYXQgdGhlCglzaW5naW5nLCBza2lwcGluZyBwZXJzb24gb3V0c2lkZSBoYWQgYmVlbiBzb21lb25lIGVsc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIHdobyBoYXBwZW5lZCB0byBsb29rIGV4YWN0bHkgbGlrZSBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgY2FycnlpbmcgdGhlIHNhbWUgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIHdlYXJpbmcgdGhlIHNhbWUgbXVkZHkgc25lYWtlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgYSBzdHJvbmcgdGhlb3J5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SGV5LCBQZXRlciBQYW4uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgaGlzIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbmlja25hbWUgaGFkIGFycml2ZWQgYmVmb3JlIGhlIGZvdW5kIGhvbWVyb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBoYWQgdG8gYmUgYW5vdGhlciByZWNvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbHNvIG5vdCB0aGUgc29ydCB0aGF0IGNhbWUgd2l0aCBhIHRyb3BoeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbnRpbnVlZCByZWFkaW5nIHRoZSBzY2hlZHVsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvbWVyb29tIGhhZCBub3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcm9vbSBudW1iZXIgcmVtYWluZWQgdW5oZWxwZnVsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hlcmUmIzM5O3MgVGlua2VyYmVsbD8mcXVvdDsgYW5vdGhlciBzdHVkZW50IGNhbGxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmV3IG5lYXJieSBzdHVkZW50cyBsYXVnaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgZmFjZSBncmV3IHdhcm0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb25zaWRlcmVkIHNldmVyYWwgcmVzcG9uc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBvZiB0aGVtIHN1cnZpdmVkIGNvbnRhY3Qgd2l0aCBoaXMgbW91dGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTbyBoZSBrZXB0IHdhbGtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3Jvd2Qgb3BlbmVkIGFoZWFkIG9mIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgbW9tZW50LCBLZXZpbiBzYXcgYW4gb2xkLWZhc2hpb25lZCBjaGlsZCBzdGFuZGluZyBuZWFyIHRoZQoJcm93IG9mIGxvY2tlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGFyayBkcmVzcyByZWFjaGVkIG5lYXJseSB0byB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgcGFsZSBoYW5kIHJlc3RlZCBhZ2FpbnN0IGEgbG9ja2VyIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgd2F0Y2hlZCBLZXZpbiB3aXRob3V0IGJsaW5raW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3R1ZGVudHMgcGFzc2VkIHRocm91Z2ggdGhlIHNwYWNlIGluIGZyb250IG9mIHRoZSBmaWd1cmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgbG9va2VkIHRvd2FyZCB0aGUgY2hpbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgbW92ZWQgYXJvdW5kIHRoZSBjaGlsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCByYWlzZWQgb25lIGZpbmdlciB0b3dhcmQgdGhlIGxpcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHBvaW50ZWQgZG93biB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCBLZXZpbiYjMzk7cyBob21lcm9vbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3Jvd2QgbW92ZWQgYXJvdW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZW4gdGhlIGhhbGx3YXkgY2xlYXJlZCwgdGhlIGNoaWxkIHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxvY2tlciByZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgY2lyY2xlIGhhZCBhcHBlYXJlZCBpbiB0aGUgZHVsbCBtZXRhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeCBmYWludCBjdXJ2ZXMgc3Vycm91bmRlZCBpdHMgY2VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG1vdmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtYXJrIGRpc2FwcGVhcmVkIGJlbmVhdGggYSBsYXllciBvZiBzY3JhdGNoZXMgYW5kIG9sZCBwYWludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgYmVsbCByYW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnkgc3R1ZGVudCBpbiB0aGUgaGFsbHdheSBiZWdhbiBtb3ZpbmcgZmFzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZCBoaXMgc2NoZWR1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2xkLWZhc2hpb25lZCBjaGlsZCBoYWQgcG9pbnRlZCBpbiB0aGUgc2FtZSBkaXJlY3Rpb24gYXMgaGlzCglob21lcm9vbSBudW1iZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb2xsb3dpbmcgdGhlIGRpcmVjdGlvbiBtaWdodCBoZWxwIGhpbSByZWFjaCBjbGFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1pZ2h0IGFsc28gbWVhbiBhY2NlcHRpbmcgbmF2aWdhdGlvbmFsIGFzc2lzdGFuY2UgZnJvbSBzb21lb25lIHdobwoJaGFkIGFwcGVhcmVkIGluIGEgcGhvdG9ncmFwaCwgYSBzcG9vbiwgYSB0cmVlLCBhIHBsYXlncm91bmQsIGEgYnVzCgl3aW5kb3csIGFuZCBub3cgYSBtaWRkbGUtc2Nob29sIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkZWNpZGVkIGhvbWVyb29tIHdhcyB0aGUgbW9yZSBpbW1lZGlhdGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGZvbGxvd2VkIHRoZSBjcm93ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoaW0sIHRoZSBzY3JhdGNoZWQgbG9ja2VyIGRvb3Igb3BlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGVhcmQgdGhlIG1ldGFsIGNyZWFrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBpbnNpZGUgdGhlIGxvY2tlciB3aGlzcGVyZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJUGV0ZXIgUGFuLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWxrZWQgZmFzdGVyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgb2xkLWZhc2hpb25lZCBnaXJsIGFwcGVhcmVkIGluc2lkZSB0aGUgbWlkZGxlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9sZC1mYXNoaW9uZWQgZ2lybCBwb2ludGVkIEtldmluIHRvd2FyZCBoaXMgaG9tZXJvb20mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgaGV4YWZvaWwgYnJpZWZseSBhcHBlYXJlZCBvbiBhIG1pZGRsZS1zY2hvb2wgbG9ja2VyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBob3VzZSBzeW1ib2wgYXBwZWFyZWQgaW5zaWRlIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgZGV2ZWxvcG1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGFuZCB0aGUKCXNpeC1wZXRhbGVkIHN5bWJvbCBoYXZlIGFwcGVhcmVkIGluc2lkZSBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbXBsZXRlIENoYXB0ZXIgVGhyZWUtJmd0O0tldmluIENoYXB0ZXIgMyBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzYiIG5hbWU9IktldmluIENoYXB0ZXIgMyBTdW1tYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSIxNzUsNzcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIzQ29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE1haW4gSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBob21lcm9vbSZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0NoYXB0ZXIgVGhyZWUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtKdXN0IE15IEJyYWluIERvaW5nIHRoZSBUaGluZyBJdCBEb2VzJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHJlYWNoZWQgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUZWNobmljYWxseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0aWxsIGhhZCB0byBmaW5kIGhvbWVyb29tLCBsb2NhdGUgaGlzIGxvY2tlciwgc3Vydml2ZSB0aGUgZmlyc3QKCWRheSwgYW5kIHByZXZlbnQgUGV0ZXIgUGFuIGZyb20gYmVjb21pbmcgaGlzIHBlcm1hbmVudCBCcmVja2VucmlkZ2UKCWlkZW50aXR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhvc2UgaGFkIGJlZW4gdGhlIG1vcm5pbmcmIzM5O3Mgb3JpZ2luYWwgcHJvYmxlbXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IG5vdyBvY2N1cGllZCB0aGUgbGVzcyB1cmdlbnQgcG9ydGlvbiBvZiB0aGUgbGlzdC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCBjaGFwdGVyLXN1bW1hcnktY2x1ZXMmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIENoYXB0ZXIgVGhyZWUgZGlzY292ZXJpZXM6Jmx0Oy9zdHJvbmcmZ3Q7CgkmbHQ7dWwmZ3Q7CgkJJmx0O2xpJmd0O0Egc2Vjb25kIHNpeC1wZXRhbGVkIHN5bWJvbCBhcHBlYXJlZCBvbiB0aGUgV2luY2hlc3RlciBkb29yZnJhbWUuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIGRvb3JmcmFtZSBzeW1ib2wgd2FzIG1hcmtlZCB3aXRoIHRoZSBSb21hbiBudW1lcmFsIElJLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2V2aW4gYmVsaWV2ZXMgdGhlIG5ldyBJSSBtYXkgY29ubmVjdCB3aXRoIHN0YWlyIFhJLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJGtub3dsZWRnZS5LZXZpbi5pbmNsdWRlcygmcXVvdDtBYmJpZSBzYXcgYW4gdXBzaWRlLWRvd24gZ2lybCByZWZsZWN0ZWQgaW4gaGVyIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBYmJpZSBzYXcgYW4gdXBzaWRlLWRvd24gZ2lybCByZWZsZWN0ZWQgaW4gaGVyIGNlcmVhbCBzcG9vbi4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRrbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoJnF1b3Q7QSB2b2ljZSBuZWFyIHRoZSBob3VzZSBjb250aW51ZWQgQWJiaWUmIzM5O3MgY2VyZWFsIHNvbmcmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Fub3RoZXIgdm9pY2UgY29udGludWVkIEFiYmllJiMzOTtzIHNvbmcgYWZ0ZXIgc2hlIHN0b3BwZWQgc2luZ2luZy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRrbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoJnF1b3Q7QSBzZWNvbmQgdm9pY2UgY29ubmVjdGVkIEFiYmllJiMzOTtzIHNvbmcgdG8gc3RhaXIgWEkmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O0FuIHVuc2VlbiB2b2ljZSBjb25uZWN0ZWQgQWJiaWUmIzM5O3Mgc29uZyB3aXRoIHRoZSBlbGV2ZW50aCBzdGFpci4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRrbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoJnF1b3Q7QSBwYXBlciByZXNlbWJsaW5nIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggbW92ZWQgYmVuZWF0aCB0aGUgc3Rvcm0gZHJhaW4mcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O1NvbWV0aGluZyByZXNlbWJsaW5nIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggYXBwZWFyZWQgYmVuZWF0aCBhIHN0b3JtIGRyYWluLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDtsaSZndDtLZXZpbiBzYXcgYSB0YWxsIHNoYXBlIHN0YW5kaW5nIGFtb25nIHRoZSBvYWsgYnJhbmNoZXMuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIGNvbGQgbmVhciB0aGUgZmllbGQgYWZmZWN0ZWQgS2V2aW4gYnV0IG5vdCBBYmJpZS4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgb3JhbmdlIGNhdCBkaXNhcHBlYXJlZCBpbnNpZGUgdGhlIG9hayB0cmVlLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtpZiAka2V2aW5SZXRyaWV2ZWRDYXRDb2xsYXImZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2V2aW4gcmV0cmlldmVkIHRoZSBjYXQmIzM5O3MgY29sbGFyLCB3aG9zZSB0YWcgc2hpZnRzIGJldHdlZW4gTFVDWSBhbmQgTFVDSy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpblN0dWRpZWRDYXRDb2xsYXImZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIGNhdCYjMzk7cyBmYWxsZW4gdGFnIHJldmVhbGVkIGhpZGRlbiBoZXhhZm9pbHMgY2FydmVkIGFjcm9zcyB0aGUgb2FrLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluTGVmdENhdENvbGxhciZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgYWJhbmRvbmVkIGNvbGxhciBsaWZ0ZWQgZnJvbSB0aGUgZ3Jhc3MgYW5kIHJldHVybmVkIHRvIHRoZSB0cmVlLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluQXNrZWRBYmJpZUFib3V0Q2F0Jmd0OyZndDsKCQkJJmx0O2xpJmd0O0FiYmllIGNsYWltcyB0aGUgY2F0IGJlY2FtZSB0aGUgZ2lybCBmcm9tIGhlciBjZXJlYWwgc3Bvb24uJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAka2V2aW5Bdm9pZGVkQ3JhY2tzJmd0OyZndDsKCQkJJmx0O2xpJmd0O0ZyZXNoIHNpZGV3YWxrIGNyYWNrcyBhcHBlYXJlZCB0byBmb2xsb3cgS2V2aW4gYnV0IHN0b3BwZWQgYXQgdGhlIGdyYXNzLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluUXVlc3Rpb25lZENyYWNrUnVsZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBYmJpZSBzYWlkIHNvbWV0aGluZyBiZW5lYXRoIHRoZSBzaWRld2FsayBjcmFja3MgY2FuIGxvY2F0ZSBwZW9wbGUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5JZ25vcmVkQ3JhY2tzJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Egc2lnbmFsIHRyYXZlbGVkIGJlbmVhdGggdGhlIHNpZGV3YWxrIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5Gb2xsb3dlZEFiYmllQ3JhY2tzJmd0OyZndDsKCQkJJmx0O2xpJmd0O1NvbWV0aGluZyBiZW5lYXRoIHRoZSBwYXZlbWVudCBhcHBlYXJlZCB0byBjaG9vc2UgYmV0d2VlbiBLZXZpbiBhbmQgQWJiaWUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAka2V2aW5XYXRjaGVkU2Nob29sRmVuY2UmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QW4gb2xkLWZhc2hpb25lZCBjaGlsZCBwYXNzZWQgdGhyb3VnaCB0aGUgc2Nob29sIGZlbmNlIGFuZCBsZWZ0IGEgcG9zc2libGUgYnV0dG9uIGNsdWUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5Bc2tlZEFib3V0U2Nob29sR2lybCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBYmJpZSByZWNvZ25pemVkIHRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGJ1dCByZXNpc3RlZCBleHBsYWluaW5nIHRoZSBjb25uZWN0aW9uLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJGtldmluU2F3QnVzRmFjZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtPbmUgb2YgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBnaXJscyBhcHBlYXJlZCB3aXRoaW4gYSBidXMtd2luZG93IHJlZmxlY3Rpb24uJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5Bdm9pZGVkQnVzRmFjZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgcGFsZSBmYWNlIGZvbGxvd2VkIEtldmluIHRocm91Z2ggc2V2ZXJhbCByZWZsZWN0aXZlIHN1cmZhY2VzLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluRm9sbG93ZWRCdXMmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHJlZmxlY3RlZCBmYWNlIGxlZCBLZXZpbiB0byBhbiBlbXB0eSBidXMgc2VhdCBtYXJrZWQgYnkgYSBoZXhhZm9pbC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpbkNoZWNrZWRXYXRjaEFnYWluJmd0OyZndDsKCQkJJmx0O2xpJmd0O0tldmluJiMzOTtzIHdhdGNoIGRpc3BsYXllZCA5OjE0LCAxOTE0LCBYSSwgYW5kIElJLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDtsaSZndDtUaGUgb2xkLWZhc2hpb25lZCBjaGlsZCBhbmQgdGhlIGhvdXNlIHN5bWJvbCBhcHBlYXJlZCBpbnNpZGUgdGhlIG1pZGRsZSBzY2hvb2wuJmx0Oy9saSZndDsKCSZsdDsvdWwmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBob3BlZCBsZWF2aW5nIHRoZSBXaW5jaGVzdGVyIGhvdXNlIHdvdWxkIGVuZCB0aGUgc3RyYW5nZQoJZXZlbnRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5zdGVhZCwgdGhlIG15c3RlcnkgaGFkIGZvbGxvd2VkIGhpbSB0aHJvdWdoIHRoZSBuZWlnaGJvcmhvb2QgYW5kCglpbnRvIHRoZSBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG91c2Ugd2FzIG5vIGxvbmdlciB0aGUgb25seSBwbGFjZSB3aXRoIGEgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG5hbWVkIHRoZSBjb25uZWN0ZWQgZXZlbnRzOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVRoZSBTZWNyZXQgb2YgdGhlIFN0cmFuZ2UgTW9ybmluZy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRpdGxlIHN0aWxsIHdhcyBub3QgZ29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBteXN0ZXJ5IHdhcyBnZXR0aW5nIGJldHRlciBhdCBmaW5kaW5nIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV3aGVyZSBiZWhpbmQgS2V2aW4sIGEgbG9ja2VyIGRvb3IgY2xvc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgc2xvdyBrbm9ja3MgZm9sbG93ZWQgZnJvbSBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpcnN0IGRheSBoYWQgb2ZmaWNpYWxseSBiZWd1bi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0byBDaGFwdGVyIEZvdXItJmd0O0NoYXB0ZXIgNCBUcmFuc2l0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzciIG5hbWU9IkVwaXNvZGUgMSBDdXJyZW50IEVuZGluZyIgdGFncz0iIiBwb3NpdGlvbj0iMTc1LDc4MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0VuZCBvZiBDdXJyZW50IEJ1aWxkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1dhaXQgZm9yIHRoZSBteXN0ZXJ5IHRvIGNvbnRpbnVlJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RW5kIG9mIEN1cnJlbnQgQnVpbGQmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgTXlzdGVyeSBDb250aW51ZXMmbHQ7L2gxJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSByZW1lbWJlcnMgd2hhdCBwZW9wbGUgdHJ5IHRvIGZvcmdldC4mbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYW5kIFJ5YW4gaGF2ZSBlYWNoIGRpc2NvdmVyZWQgcGFydCBvZiBhIGxhcmdlciBteXN0ZXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBrbm93cyB3aGF0IHRoZSBvdGhlciBleHBlcmllbmNlZCB0aGF0IG1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igbm93LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldHVybiB0byB0aGUgdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTc4IiBuYW1lPSJLZXZpbiBQdWxscyBBd2F5IGZyb20gdGhlIERvb3IiIHRhZ3M9IiIgcG9zaXRpb249Ijc3NSwxNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBGcm9udCBZYXJkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSBhd2F5IGZyb20gdGhlIGhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBqZXJrZWQgaGlzIGhhbmQgYXdheSBmcm9tIHRoZSBmcmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUludmVzdGlnYXRpbmcgdGhlIGhvdXNlIHdoaWxlIHN0YW5kaW5nIG91dHNpZGUgaXQgZGVmZWF0ZWQgdGhlIGVudGlyZQoJcHVycG9zZSBvZiBsZWF2aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG9vayBBYmJpZSYjMzk7cyBoYW5kIGFuZCBndWlkZWQgaGVyIGRvd24gdGhlIHBvcmNoIHN0ZXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7S2V2aW4sIEkgY2FuIHdhbGsuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdoeSBhcmUgeW91IHB1bGxpbmcgbWU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFZmZpY2llbnQgZGVwYXJ0dXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91JiMzOTtyZSB3YWxraW5nIHdlaXJkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ2xhbmNlZCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZyb250IGRvb3IgcmVtYWluZWQgY2xvc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNtYWxsIGZsb3dlciBjYXJ2ZWQgaW50byBpdHMgZnJhbWUgd2FzIGJhcmVseSB2aXNpYmxlIGJlbmVhdGggdGhlCglwYWludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBwZXRhbCBkYXJrZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBuYXJyb3cgbGluZXMgY3Jvc3NlZCBpdC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBzZWVuIHRoZSBtYXJrIGZyb20gc2V2ZXJhbCBmZWV0IGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHNob3VsZCBub3QgaGF2ZSBiZWVuIHBvc3NpYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHR3byBsaW5lcyB2YW5pc2hlZCBiZW5lYXRoIHRoZSBwYWludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJlZnVzaW5nIHRvIGludmVzdGlnYXRlIGRpZCBub3QgbWVhbiBoaXMgYnJhaW4gaGFkIGZhaWxlZCB0byByZWNvcmQKCWl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgbW92aW5nLSZndDtLZXZpbiBEaXNjb3ZlcnMgSUldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE3OSIgbmFtZT0iQ2hhcHRlciA0IFRyYW5zaXRpb24iIHRhZ3M9IiIgcG9zaXRpb249IjYyNSw3ODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDQmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7S2ltbXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTGlicmFyeSBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBtb3JuaW5nJiMzOTtzIHN0cmFuZ2UgcmVwb3J0cyBoYXZlIGEgY29tbW9uIHNvdXJjZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIEZvdXImbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLaW1teSBXaGl0bW9yZSZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCUZhY3RzIERvbiYjMzk7dCBTdG9wIEJlaW5nIEZhY3RzIEJlY2F1c2UgQWR1bHRzIElnbm9yZSBUaGVtCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItb2JqZWN0aXZlJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7SW1tZWRpYXRlIG9iamVjdGl2ZTombHQ7L3N0cm9uZyZndDsKCQlTZXBhcmF0ZSBydW1vciBmcm9tIGV2aWRlbmNlIGFuZCBkZXRlcm1pbmUgd2hldGhlciB0aGUgc3RyYW5nZSBldmVudHMKCQlpbnNpZGUgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wgc2hhcmUgYSBjb21tb24gc291cmNlLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtwb3Ytbm90aWNlJnF1b3Q7Jmd0OwoJWW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O0tpbW15Jmx0Oy9zdHJvbmcmZ3Q7LiBLaW1teSBkb2VzIG5vdCBrbm93IHdoYXQKCUtldmluIGV4cGVyaWVuY2VkIGluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZSBvciBvbiB0aGUgd2FsayB0byBzY2hvb2wuCglLaW1teSBhbHNvIGRvZXMgbm90IGtub3cgd2hhdCBSeWFuIHdpdG5lc3NlZCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCglTaGUgY2FuIGFjdCBvbmx5IG9uIGV2aWRlbmNlIHNoZSBwZXJzb25hbGx5IGRpc2NvdmVycyBvciBpbmZvcm1hdGlvbgoJc29tZW9uZSBjaG9vc2VzIHRvIHNoYXJlIHdpdGggaGVyLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpXaGlsZSBLZXZpbiBXaW5jaGVzdGVyIHdhcyB0cnlpbmcgbm90IHRvIGxpc3RlbiB0byB0aGUgdGhyZWUgc2xvdyBrbm9ja3MKaW5zaWRlIHRoZSBoYWxsd2F5IHdhbGwsIEtpbW15IFdoaXRtb3JlIHdhcyBzdGFuZGluZyBvdXRzaWRlIHRoZSBzY2hvb2wKbGlicmFyeSB3aXRoIGhlciByZXBvcnRlciYjMzk7cyBjYXNlIHByZXNzZWQgYWdhaW5zdCBoZXIgc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBoYWQgaGVhcmQgdGhyZWUgZGlmZmVyZW50IHN0b3JpZXMgYmVmb3JlIGZpcnN0IHBlcmlvZCBlbmRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY3VzdG9kaWFuIGhhZCBiZWVuIGNhcnJpZWQgaW50byB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBib3lzJiMzOTsgYmF0aHJvb20gaGFkIGJlZW4gY2xvc2VkIHdpdGhvdXQgZXhwbGFuYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbmQgc29tZW9uZSBjbGFpbWVkIGEgY2hpbGQgd2VhcmluZyBvbGQtZmFzaGlvbmVkIGNsb3RoZXMgaGFkIHdhbGtlZCB0aHJvdWdoCnRoZSBlbGVtZW50YXJ5LXNjaG9vbCBmZW5jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHN0b3JpZXMgZGlkIG5vdCBtYWtlIGEgZmFjdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZXkgZGlkLCBob3dldmVyLCBtYWtlIGEgbGVhZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpSdW1vcnMgYmVjYW1lIHVzZWZ1bCBvbmx5IGFmdGVyIHNvbWVvbmUgY2hlY2tlZCB0aGVtLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW09wZW4gS2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZS0mZ3Q7S2ltbXkgT3BlbnMgUmVwb3J0ZXIgQ2FzZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTgwIiBuYW1lPSJLaW1teSBPcGVucyBSZXBvcnRlciBDYXNlIiB0YWdzPSIiIHBvc2l0aW9uPSI5MjUsNzc3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15T3BlbmVkUmVwb3J0ZXJDYXNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBPdXRzaWRlIHRoZSBMaWJyYXJ5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0Nob29zZSB3aGljaCBsZWFkIEtpbW15IHdpbGwgaW52ZXN0aWdhdGUgZmlyc3QmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IG1vdmVkIHRvIHRoZSBuYXJyb3cgdGFibGUgYmVuZWF0aCB0aGUgbGlicmFyeSB3aW5kb3dzIGFuZCBwbGFjZWQgdGhlCnJlcG9ydGVyJiMzOTtzIGNhc2UgaW4gZnJvbnQgb2YgaGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxlYXRoZXIgd2FzIHdvcm4gc21vb3RoIG5lYXIgdGhlIGNsYXNwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHByZXNzZWQgb25lIHRodW1iIGFnYWluc3QgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2FzZSBvcGVuZWQgd2l0aCBhIGNsZWFuIHNuYXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbnNpZGUgd2VyZSBhIHNtYWxsIHdyaXRpbmcgcGFkLCB0d28gc2hhcnBlbmVkIHBlbmNpbHMsIHNldmVyYWwgZm9sZGVkIHNjcmFwcwpvZiBwYXBlciwgYW5kIGEgeWVsbG93IHJpYmJvbiB0aGF0IGhhZCBiZWVuIHR1Y2tlZCBiZW5lYXRoIHRoZSBwYWQgbG9uZyBiZWZvcmUKdGhlIGNhc2UgYmVsb25nZWQgdG8gS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IGtub3cgd2h5IHRoZSByaWJib24gd2FzIHRoZXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCBzdG9wcGVkIHRyeWluZyB0byByZW1vdmUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSB0aW1lIHNoZSBkaWQsIGl0IGV2ZW50dWFsbHkgYXBwZWFyZWQgYmVuZWF0aCB0aGUgcGFkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCB3YXMgbm90IHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGludmVzdGlnYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQcm9iYWJseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlIHRocmVlIGhlYWRpbmdzOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TGVhZCBPbmU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB1bmV4cGxhaW5lZCBjbG9zdXJlIG9mIHRoZSBib3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0xlYWQgVHdvOiZsdDsvc3Ryb25nJmd0OyBSZXBvcnRzIG9mIGFuIG9sZC1mYXNoaW9uZWQgY2hpbGQgbmVhciB0aGUKCWVsZW1lbnRhcnkgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtMZWFkIFRocmVlOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBzbG93IGtub2NrcyBoZWFyZCBpbnNpZGUgYSBtaWRkbGUtc2Nob29sCgl3YWxsLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgYm95cyYjMzk7IGJhdGhyb29tIHdhcyBjbG9zZWQgYmVmb3JlIHRoZSBmaXJzdCBzY2hvb2wgZGF5IHByb3Blcmx5IGJlZ2FuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIGNoaWxkIGluIG9sZC1mYXNoaW9uZWQgY2xvdGhpbmcgd2FzIHJlcG9ydGVkbHkgc2VlbiBuZWFyIHRoZSBlbGVtZW50YXJ5IHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhyZWUgc2xvdyBrbm9ja3Mgd2VyZSByZXBvcnRlZGx5IGhlYXJkIGluc2lkZSBhIG1pZGRsZS1zY2hvb2wgd2FsbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtVbmNvbmZpcm1lZCBzdHVkZW50IHJlcG9ydHMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGljaCBsZWFkIHNob3VsZCBLaW1teSBpbnZlc3RpZ2F0ZSBmaXJzdD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7SW50ZXJ2aWV3IGEgc3R1ZGVudCB3aG8gY2xhaW1zIHRvIGtub3cgc29tZXRoaW5nIGFib3V0IHRoZSBiYXRocm9vbS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUxlYWRSb3V0ZSA9ICZxdW90O2ludGVydmlldyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBJbnRlcnZpZXcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1NlYXJjaCBvbGQgc2Nob29sIHJlY29yZHMgZm9yIHNpbWlsYXIgaW5jaWRlbnRzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15TGVhZFJvdXRlID0gJnF1b3Q7YXJjaGl2ZXMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBBcmNoaXZlcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgaGFsbHdheSB3aGVyZSB0aGUga25vY2tzIHdlcmUgcmVwb3J0ZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlMZWFkUm91dGUgPSAmcXVvdDtoYWxsd2F5JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4MSIgbmFtZT0iS2ltbXkgQ2hvb3NlcyB0aGUgSW50ZXJ2aWV3IiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsNzY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15SW50ZXJ2aWV3ZWRTdHVkZW50ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBMaWJyYXJ5IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SW50ZXJ2aWV3IHRoZSBzdHVkZW50IHdobyBjbGFpbXMgdG8ga25vdyBhYm91dCB0aGUgYmF0aHJvb20mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNsb3NlZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgY2FycmllZCBpdCBiZW5lYXRoIG9uZSBhcm0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBtb3ZlZCB0aHJvdWdoIHRoZSBoYWxsd2F5IGluIGNsdXN0ZXJzLCBleGNoYW5naW5nIHNjaGVkdWxlcywKY29tcGxhaW50cywgYW5kIHZlcnNpb25zIG9mIHRoZSBtb3JuaW5nIHRoYXQgaGFkIGFscmVhZHkgZ3Jvd24gbGFyZ2VyIHdpdGgKZWFjaCB0ZWxsaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJhdGhyb29tIHN0b3J5IHdhcyBzcHJlYWRpbmcgZmFzdGVzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRlcGVuZGluZyBvbiB3aG8gdG9sZCBpdCwgdGhlIGN1c3RvZGlhbiBoYWQgZGlzY292ZXJlZCBhIGJyb2tlbiBwaXBlLCBhbgplc2NhcGVkIGFuaW1hbCwgYSBmbG9vZGVkIHJvb20sIGEgY2hlbWljYWwgc3BpbGwsIG9yIHNvbWV0aGluZyB3aXRoIGVub3VnaAp0ZWV0aCB0byByZXF1aXJlIHRocmVlIHRlYWNoZXJzIGFuZCBhIGZpcmUgZXh0aW5ndWlzaGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSBvbmUgc3R1ZGVudCBjbGFpbWVkIHRvIGhhdmUgYmVlbiBuZWFyIHRoZSBiYXRocm9vbSBiZWZvcmUgaXQgd2FzIGNsb3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGZvdW5kIHRoZSBzdHVkZW50IHNpdHRpbmcgYWxvbmUgb24gdGhlIGZsb29yIGJlc2lkZSB0aGUgbGlicmFyeSBkb29ycy4KQSBkZW50ZWQgbWV0YWwgbHVuY2ggYm94IHJlc3RlZCBhY3Jvc3MgdGhlIHN0dWRlbnQmIzM5O3Mga25lZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBhaW50ZWQgdHlyYW5ub3NhdXJ1cyBvbiB0aGUgbGlkIHdhcyBtaXNzaW5nIG1vc3Qgb2YgaXRzIHRlZXRoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgbG9va2VkIHVwIGFzIEtpbW15IGFwcHJvYWNoZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJZiB5b3UmIzM5O3JlIGdvaW5nIHRvIGFzayBhYm91dCB0aGUgYmF0aHJvb20sJnF1b3Q7IHRoZSBzdHVkZW50IHNhaWQsICZxdW90O0kgYWxyZWFkeQp0b2xkIGEgdGVhY2hlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNhdCBhY3Jvc3MgZnJvbSB0aGUgc3R1ZGVudCwgbGVhdmluZyBlbm91Z2ggc3BhY2UgdGhhdCB0aGUgaW50ZXJ2aWV3CmRpZCBub3QgZmVlbCBsaWtlIGFuIGludGVycm9nYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJJiMzOTttIG5vdCBhIHRlYWNoZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0JiMzOTtzIHdoYXQgdGhlIGxhc3Qga2lkIHNhaWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGhhcHBlbmVkIHRvIHRoZSBsYXN0IGtpZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgc3RvcHBlZCB0YWxraW5nIHRvIGhpbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdhdGNoZWQgdGhlIHBlbmNpbCBtb3JlIGNsb3NlbHkgdGhhbiBLaW1teS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2ltbXkgYmVnaW4gdGhlIGludGVydmlldz8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHRoZSBzdHVkZW50IHRvIGRlc2NyaWJlIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgYmVnaW5uaW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTgyIiBuYW1lPSJLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeSIgdGFncz0iIiBwb3NpdGlvbj0iMTI1MCw3NDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgd2hpY2ggcGFydHMgb2YgdGhlIGJhdGhyb29tIHN0b3J5IGFyZSBmaXJzdGhhbmQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1N0YXJ0IGZyb20gdGhlIGJlZ2lubmluZywmcXVvdDsgS2ltbXkgc2FpZC4gJnF1b3Q7VGVsbCBtZSBldmVyeXRoaW5nIGV4YWN0bHkgYXMgaXQKaGFwcGVuZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBnbGFuY2VkIHRvd2FyZCB0aGUgbGlicmFyeSBkb29ycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgY2FtZSBpbiBlYXJseSBiZWNhdXNlIG15IG1vdGhlciBoYWQgdG8gd29yay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U291cmNlIHN0YXRlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIHdpdG5lc3MgZW50ZXJlZCB0aGUgc2Nob29sIGJlZm9yZQoJdGhlIGZpcnN0IGJlbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIHdhbGtpbmcgcGFzdCB0aGUgYm95cyYjMzk7IGJhdGhyb29tIHdoZW4gSSBoZWFyZCBzb21ldGhpbmcgaGl0IHRoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBraW5kIG9mIHNvdW5kPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QSBiYW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcmVjb25zaWRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TW9yZSBsaWtlIGEgY3Jhc2guJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbm90aGVyIHBhdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QWN0dWFsbHksIGl0IG1pZ2h0IGhhdmUgYmVlbiBzY3JhdGNoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3RvcHBlZCB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhvc2Ugd2VyZSB0aHJlZSBkaWZmZXJlbnQgc291bmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBoZWFyIGEgYmFuZywgYSBjcmFzaCwgb3Igc2NyYXRjaGluZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FsbCBvZiB0aGVtLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SW4gd2hhdCBvcmRlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCBkb3duIGF0IHRoZSBsdW5jaCBib3guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvbiYjMzk7dCByZW1lbWJlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgYW5zd2VyIHdhcyBtb3JlIHVzZWZ1bCB0aGFuIGFub3RoZXIgY29uZmlkZW50IGd1ZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBoYXBwZW5lZCBuZXh0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGJhdGhyb29tIGRvb3Igb3BlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHNvbWVvbmUgb3BlbiBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IHNhdyBpdCBvcGVuIGJ5IGl0c2VsZj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGhlc2l0YXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgc2F3IGl0IG1vdmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgd2FzIG5vdCB0aGUgc2FtZSBhbnN3ZXIuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIHN0dWRlbnQgaGVhcmQgc2V2ZXJhbCB1bmV4cGxhaW5lZCBzb3VuZHMgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15U291cmNlKCZxdW90O1N0dWRlbnQgd2l0bmVzcyBuZWFyIHRoZSBib3lzJiMzOTsgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBjbGFyaWZ5PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciB0aGUgc3R1ZGVudCBzYXcgdGhlIGRvb3IgYmVnaW4gdG8gb3Blbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgVGVzdHMgdGhlIERvb3IgQ2xhaW0mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aGF0IHRoZSBzdHVkZW50IHNhdyBpbnNpZGUgdGhlIGJhdGhyb29tLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBBc2tzIFdoYXQgV2FzIEluc2lkZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoeSB0aGUgc3R1ZGVudCYjMzk7cyBzdG9yeSBrZWVwcyBjaGFuZ2luZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODMiIG5hbWU9IktpbW15IFNlcGFyYXRlcyBXaXRuZXNzIGZyb20gUnVtb3IiIHRhZ3M9IiIgcG9zaXRpb249IjEyMDAsNzYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NlcGFyYXRlIHRoZSBzdHVkZW50JiMzOTtzIG9ic2VydmF0aW9ucyBmcm9tIGluZm9ybWF0aW9uIGhlYXJkIGxhdGVyJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtPbmx5IHRlbGwgbWUgd2hhdCB5b3UgcGVyc29uYWxseSBzYXcgb3IgaGVhcmQsJnF1b3Q7IEtpbW15IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBmcm93bmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyB3aGF0IEkmIzM5O20gdGVsbGluZyB5b3UuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IHBlcnNvbmFsbHkgc2VlIHRoZSBjdXN0b2RpYW4gaW5zaWRlIHRoZSBiYXRocm9vbT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBwZXJzb25hbGx5IHNlZSBhbnl0aGluZyBkYW1hZ2VkPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IHNlZSB3YXRlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QW4gYW5pbWFsPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUZWV0aD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCBvZmZlbmRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgbmV2ZXIgc2FpZCBhbnl0aGluZyBhYm91dCB0ZWV0aC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgcmVtb3ZlZCBtb3N0IG9mIHRoZSBoYWxsd2F5JiMzOTtzIGZhdm9yaXRlIHZlcnNpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRpZCB5b3UgcGVyc29uYWxseSBleHBlcmllbmNlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcGxhY2VkIGJvdGggaGFuZHMgb24gdGhlIGx1bmNoIGJveC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgaGVhcmQgc29tZXRoaW5nIGhpdCB0aGUgYmF0aHJvb20gd2FsbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgZGlkIGl0IHNvdW5kIGxpa2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMaWtlIHNvbWVib2R5IGZhbGxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB3cm90ZSB0aGUgc3RhdGVtZW50IHdpdGhvdXQgY2hhbmdpbmcgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVuIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgZG9vciBtb3ZlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09wZW5lZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdCBhbGwgdGhlIHdheS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dhcyBhbnlvbmUgdG91Y2hpbmcgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGNvdWxkbiYjMzk7dCBzZWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbm90aGVyIHVzZWZ1bCBhbnN3ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGVsc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsb29rZWQgdG93YXJkIHRoZSBmYXIgZW5kIG9mIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGZsb29yIHdhcyB3ZXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPdXRzaWRlIHRoZSBiYXRocm9vbT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZXJlIGRpZCB0aGUgd2F0ZXIgY29tZSBmcm9tPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgd2FzbiYjMzk7dCB3YXRlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRpZCBub3Qgd3JpdGUgdGhhdCB5ZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IHdhcyBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHJ1YmJlZCBvbmUgdGh1bWIgYWdhaW5zdCB0aGUgbHVuY2gtYm94IGxhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TXVkLCBJIHRoaW5rLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2h5IGRpZG4mIzM5O3QgeW91IHNheSB0aGF0IGZpcnN0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QmVjYXVzZSBtdWQgZG9lc24mIzM5O3QgYmVsb25nIG91dHNpZGUgYSBiYXRocm9vbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlTb3VyY2UoJnF1b3Q7U3R1ZGVudCB3aXRuZXNzIG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7QSBzdHVkZW50IHBlcnNvbmFsbHkgaGVhcmQgYW4gaW1wYWN0IG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbSBiZWZvcmUgdGhlIGZpcnN0IGJlbGwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0Egc3R1ZGVudCBwZXJzb25hbGx5IHNhdyBkYXJrIHdldCBtYXRlcmlhbCBvdXRzaWRlIHRoZSBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NvbmZpcm1lZCB3aXRuZXNzIGFjY291bnQ6Jmx0Oy9zdHJvbmcmZ3Q7IEJlZm9yZSB0aGUgZmlyc3QgYmVsbCwgYSBzdHVkZW50CgloZWFyZCBhbiBpbXBhY3QgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tIGFuZCBzYXcgZGFyaywgd2V0IG1hdGVyaWFsIG91dHNpZGUKCXRoZSBkb29yd2F5LgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayBhYm91dCB0aGUgZGFyayBtYXRlcmlhbC0mZ3Q7S2ltbXkgQXNrcyBBYm91dCB0aGUgV2V0IFRyYWlsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODQiIG5hbWU9IktpbW15IEFza3MgQWJvdXQgdGhlIFdldCBUcmFpbCIgdGFncz0iIiBwb3NpdGlvbj0iMTMwMCw3ODUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXJlIHRoZSBkYXJrIHRyYWlsIGxlZCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hlcmUgZGlkIHRoZSBkYXJrIG1hdGVyaWFsIGdvPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHBvaW50ZWQgZG93biB0aGUgaGFsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Rvd2FyZCB0aGUgbWFpbiBvZmZpY2UuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IGZvbGxvdyBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2h5IG5vdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgaXQgc3RvcHBlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0F0IHRoZSBvZmZpY2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtCZWZvcmUgdGhlIG9mZmljZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGRyZXcgYSBsaW5lIGFjcm9zcyB0aGUgZHVzdHkgZmxvb3Igd2l0aCBvbmUgZmluZ2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QXQgdGhlIGJyYXNzIHN0cmlwIHVuZGVyIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlIHRoZSBzdGF0ZW1lbnQgdHdpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlIGFzIHJlcG9ydGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25jZSBiZW5lYXRoIGEgbmV3IGhlYWRpbmc6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUG9zc2libGUgYm91bmRhcnkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSBkaWQgbm90IGtub3cgd2hhdCB0aGUgYnJhc3Mgc3RyaXAgbWVhbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgZGlkIGtub3cgdGhhdCBtdWQgc2hvdWxkIG5vdCBzdG9wIGF0IGEgc3RyaXAgb2YgbWV0YWwgdW5sZXNzIHNvbWVvbmUKY2xlYW5lZCBpdCBvciBzb21ldGhpbmcgcHJldmVudGVkIGl0IGZyb20gY3Jvc3NpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXMgYW55b25lIGluIHRoZSBvZmZpY2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgc2VjcmV0YXJ5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgc2hlIGRvPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2hlIHdhdGNoZWQgaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgc2hlIGNhbGwgZm9yIGhlbHA/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCBzaGUgc2VlbSBzdXJwcmlzZWQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBzaG9vayB0aGVpciBoZWFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2hlIHNhaWQgaXQga25ldyBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgZGFyayB0cmFpbCByZXBvcnRlZGx5IHN0b3BwZWQgYXQgdGhlIHByaW5jaXBhbCYjMzk7cyBicmFzcyB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBzY2hvb2wgc2VjcmV0YXJ5IG1heSBoYXZlIGV4cGVjdGVkIHRoZSB0cmFpbCB0byBzdG9wIGF0IHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlTb3VyY2UoJnF1b3Q7U3R1ZGVudCB3aXRuZXNzIG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NvbmZpcm1lZCBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBEYXJrIHdldCBtYXRlcmlhbCBmcm9tIHRoZSBiYXRocm9vbQoJcmVwb3J0ZWRseSB0cmF2ZWxlZCB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgYW5kIHN0b3BwZWQgYXQgaXRzIGJyYXNzCgl0aHJlc2hvbGQuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmluaXNoIHRoZSBpbnRlcnZpZXctJmd0O0tpbW15IEludGVydmlldyBDb25jbHVzaW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODUiIG5hbWU9IktpbW15IFByb3RlY3RzIHRoZSBXaXRuZXNzIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDc1LDc1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtPYnRhaW4gdGhlIHdpdG5lc3MmIzM5O3MgYWNjb3VudCB3aXRob3V0IGlkZW50aWZ5aW5nIHRoZSBzb3VyY2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd29uJiMzOTt0IHdyaXRlIHlvdXIgbmFtZSwmcXVvdDsgS2ltbXkgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50JiMzOTtzIHNob3VsZGVycyBsb3dlcmVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm90IGV2ZW4gaW5pdGlhbHM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtObyBpbml0aWFscy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgYWJvdXQgd2hhdCBJIGxvb2sgbGlrZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vIGRlc2NyaXB0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGx1bmNoIGJveD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBhdCB0aGUgcGFpbnRlZCBkaW5vc2F1ci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd29uJiMzOTt0IG1lbnRpb24gdGhlIGx1bmNoIGJveC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHR1cm5lZCBpdCBhcm91bmQgc28gdGhlIGRpbm9zYXVyIGZhY2VkIHRoZSB3YWxsIGFueXdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIG5lYXIgdGhlIGJhdGhyb29tIGJlZm9yZSB0aGUgZmlyc3QgYmVsbCwmcXVvdDsgdGhlIHN0dWRlbnQgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkFub255bW91cyBzdHVkZW50IHNvdXJjZS4gUHJlc2VudCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgaGVhcmQgc29tZW9uZSBpbnNpZGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTcGVha2luZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Q3J5aW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRpZCB5b3UgaGVhcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHRhcHBlZCB0aHJlZSBmaW5nZXJzIGFnYWluc3QgdGhlIG1ldGFsIGx1bmNoIGJveC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIHBlbmNpbCBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgc2xvdyBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBkZXRhaWwgaGFkIGFwcGVhcmVkIGluIGFub3RoZXIgaGFsbHdheSBzdG9yeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCB0aGUgc291bmQgY29tZSBmcm9tIHRoZSBiYXRocm9vbSBkb29yPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc2hvb2sgdGhlaXIgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0Zyb20gaW5zaWRlIHRoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtQcm90ZWN0ZWQgc3R1ZGVudCB3aXRuZXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIHByb3RlY3RlZCBzdHVkZW50IHNvdXJjZSBoZWFyZCB0aHJlZSBzbG93IGtub2NrcyBpbnNpZGUgdGhlIHdhbGwgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgdGhyZWUga25vY2tzIG1heSBjb25uZWN0IHRoZSBiYXRocm9vbSB3aXRoIGFub3RoZXIgc2VjdGlvbiBvZiB0aGUgc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29ycm9ib3JhdGVkIGRldGFpbDombHQ7L3N0cm9uZyZndDsgQSBwcm90ZWN0ZWQgc291cmNlIGhlYXJkIHRocmVlIHNsb3cKCWtub2NrcyBpbnNpZGUgdGhlIHdhbGwgbmVhciB0aGUgYmF0aHJvb20uIEFub3RoZXIgcmVwb3J0IGRlc2NyaWJlZCB0aGUgc2FtZQoJcGF0dGVybiBlbHNld2hlcmUgaW4gdGhlIHNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgdW5kZXJsaW5lZCB0aGUgbnVtYmVyIHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHllbGxvdyByaWJib24gYmVuZWF0aCB0aGUgd3JpdGluZyBwYWQgc2hpZnRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBcyB0aG91Z2ggc29tZXRoaW5nIGJlbmVhdGggdGhlIHBhcGVyIGhhZCBwdWxsZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayB3aGF0IGhhcHBlbmVkIGFmdGVyIHRoZSBrbm9ja3MtJmd0O0tpbW15IEFza3MgV2hhdCBGb2xsb3dlZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTg2IiBuYW1lPSJLaW1teSBBc2tzIFdoYXQgRm9sbG93ZWQiIHRhZ3M9IiIgcG9zaXRpb249IjEwNzUsNzYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NvbXBsZXRlIHRoZSB3aXRuZXNzIGFjY291bnQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgaGFwcGVuZWQgYWZ0ZXIgdGhlIHRocmVlIGtub2Nrcz8mcXVvdDsgS2ltbXkgYXNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsb29rZWQgZG93biBhdCB0aGUgbHVuY2gtYm94IGxhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgb3BlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGJhdGhyb29tIGRvb3I/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgb3BlbmVkPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcG9pbnRlZCB0b3dhcmQgdGhlIHdhbGwgYmVoaW5kIEtpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHdhbGwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGVzY3JpYmUgd2hhdCB5b3Ugc2F3LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QSBsaW5lIGFwcGVhcmVkIGJldHdlZW4gdGhlIGJsb2Nrcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xpa2UgYSBjcmFjaz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xpa2UgYSBkb29yIHNvbWVvbmUgaGFkIHBhaW50ZWQgb3Zlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgd2FzIGJlaGluZCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgZG9uJiMzOTt0IGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UgZGlkbiYjMzk7dCBsb29rPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc2hvb2sgdGhlaXIgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzZWNyZXRhcnkgdG9sZCBtZSB0byBnbyB0byBjbGFzcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dhcyB0aGUgc2VjcmV0YXJ5IHN0YW5kaW5nIG5lYXJieT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlbiBob3cgZGlkIHlvdSBoZWFyIGhlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCBiZWhpbmQgS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTaGUgd2FzIHNwZWFraW5nIHRocm91Z2ggdGhlIHdhbGwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSYjMzk7cyBwZW5jaWwgcHJlc3NlZCBoYXJkIGVub3VnaCB0byB0ZWFyIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0Egd2l0bmVzcyBjbGFpbXMgYSBzZWFsZWQgbGluZSBhcHBlYXJlZCBpbiB0aGUgd2FsbCBhZnRlciB0aHJlZSBrbm9ja3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSB3aXRuZXNzIGhlYXJkIHRoZSBzY2hvb2wgc2VjcmV0YXJ5IHNwZWFraW5nIHRocm91Z2ggdGhlIHdhbGwmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbnZlcmlmaWVkIGNsYWltOiZsdDsvc3Ryb25nJmd0OyBBZnRlciB0aHJlZSBrbm9ja3MsIHRoZSB3aXRuZXNzIHNhdyB3aGF0CglyZXNlbWJsZWQgYSBzZWFsZWQgZG9vcndheSBpbiB0aGUgd2FsbCBhbmQgaGVhcmQgdGhlIHNlY3JldGFyeSYjMzk7cyB2b2ljZSBmcm9tCgliZWhpbmQgaXQuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmluaXNoIHRoZSBpbnRlcnZpZXctJmd0O0tpbW15IEludGVydmlldyBDb25jbHVzaW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODciIG5hbWU9IktpbW15IFRlc3RzIHRoZSBEb29yIENsYWltIiB0YWdzPSIiIHBvc2l0aW9uPSI3MDAsNzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBiYXRocm9vbSBkb29yIG1vdmVkIGJ5IGl0c2VsZiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBzZWUgdGhlIGRvb3IgYmVmb3JlIGl0IHN0YXJ0ZWQgbW92aW5nPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IG9wZW5lZCB0aGVpciBtb3V0aC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gY2xvc2VkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTbyB5b3UgZGlkIG5vdCBzZWUgaXQgYmVnaW4gdG8gb3Blbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IHNhdyBpdCB3aGlsZSBpdCB3YXMgYWxyZWFkeSBtb3ZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBub2RkZWQgcmVsdWN0YW50bHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtDb3VsZCBzb21lb25lIGhhdmUgYmVlbiBiZWhpbmQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNYXliZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0NvdWxkIHRoZSBkb29yIGhhdmUgYmVlbiBjbG9zaW5nIGluc3RlYWQgb2Ygb3BlbmluZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFub3RoZXIgcGF1c2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNYXliZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRyZXcgb25lIGxpbmUgdGhyb3VnaDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUaGUgYmF0aHJvb20gZG9vciBvcGVuZWQgYnkgaXRzZWxmLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTaGUgcmVwbGFjZWQgaXQgd2l0aDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1ZlcmlmaWVkIHdvcmRpbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3aXRuZXNzIHNhdyB0aGUgYmF0aHJvb20gZG9vciBtb3ZpbmcKCWJ1dCBkaWQgbm90IHNlZSB3aGF0IGNhdXNlZCBpdCBvciB3aGljaCBkaXJlY3Rpb24gaXQgaW5pdGlhbGx5IG1vdmVkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCB3YXRjaGVkIHRoZSBjb3JyZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91JiMzOTtyZSBtYWtpbmcgdGhlIHN0b3J5IGxlc3MgaW50ZXJlc3RpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJJiMzOTttIG1ha2luZyBpdCBhY2N1cmF0ZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vYm9keSBsaWtlcyBhY2N1cmF0ZSBzdG9yaWVzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY2xvc2VkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIGhhbGZ3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBY2N1cmF0ZSBzdG9yaWVzIGFyZSB0aGUgb25seSBvbmVzIHdvcnRoIGtlZXBpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgYmF0aHJvb20gZG9vciBtb3ZlZCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwsIGJ1dCB0aGUgY2F1c2UgYW5kIGRpcmVjdGlvbiB3ZXJlIG5vdCBvYnNlcnZlZCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQXNrIHdoYXQgd2FzIHZpc2libGUgaW5zaWRlIHRoZSBiYXRocm9vbS0mZ3Q7S2ltbXkgQXNrcyBXaGF0IFdhcyBJbnNpZGVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4OCIgbmFtZT0iS2ltbXkgQXNrcyBXaGF0IFdhcyBJbnNpZGUiIHRhZ3M9IiIgcG9zaXRpb249IjgwMCw3OTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHdpdG5lc3Mgc2F3IGJleW9uZCB0aGUgYmF0aHJvb20gZG9vcndheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgeW91IHNlZSBpbnNpZGU/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgaW1tZWRpYXRlbHkgbG9va2VkIHRvd2FyZCB0aGUgbGlicmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgYW5zd2VyIGNhbWUgdG9vIHF1aWNrbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3RoaW5nIGJlY2F1c2UgdGhlIHJvb20gd2FzIGVtcHR5PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3RoaW5nIGJlY2F1c2UgeW91IGNvdWxkIG5vdCBzZWUgaW5zaWRlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgZ3JpcHBlZCB0aGUgbHVuY2gtYm94IGhhbmRsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IHdhcyBkYXJrLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGxpZ2h0cyB3ZXJlIG9mZj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkgd2VyZSBvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdhaXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBlb3BsZSB1c3VhbGx5IGZpbGxlZCBzaWxlbmNlIHdoZW4gdGhleSB3YW50ZWQgc2lsZW5jZSB0byBlbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsYXN0ZWQgc2l4IHNlY29uZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgbGlnaHRzIHdlcmUgb24sJnF1b3Q7IHRoZSBzdHVkZW50IHJlcGVhdGVkLCAmcXVvdDtidXQgdGhlIGxpZ2h0IHN0b3BwZWQgYXQgdGhlCmRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb3dlcmVkIHRoZSBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTdG9wcGVkIGhvdz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xpa2UgaXQgd2FzbiYjMzk7dCBhbGxvd2VkIGluc2lkZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgc291bmRlZCBsaWtlIGludGVycHJldGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgeW91IGFjdHVhbGx5IHNlZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBoYWxsd2F5IGxpZ2h0IHJlYWNoZWQgdGhlIGRvb3J3YXkuIFRoZSBiYXRocm9vbSBzdGF5ZWQgZGFyay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FueXRoaW5nIGVsc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21ldGhpbmcgd2V0IG1vdmVkIGFjcm9zcyB0aGUgZmxvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXRlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IGRvIHlvdSBrbm93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgbW92ZWQgYWdhaW5zdCB0aGUgc2xvcGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgYmF0aHJvb20gcmVtYWluZWQgZGFyayBhbHRob3VnaCB0aGUgaGFsbHdheSBsaWdodHMgd2VyZSBvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7QSB3aXRuZXNzIHNhdyBkYXJrIHdldCBtYXRlcmlhbCBtb3ZlIGFnYWluc3QgdGhlIGZsb29yJiMzOTtzIHNsb3BlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UGh5c2ljYWwgY29udHJhZGljdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHdpdG5lc3MgcmVwb3J0ZWQgdGhhdCBkYXJrLAoJd2V0IG1hdGVyaWFsIG1vdmVkIGFjcm9zcyB0aGUgYmF0aHJvb20gZmxvb3IgYWdhaW5zdCB0aGUgbmF0dXJhbCBzbG9wZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgd2hlcmUgdGhlIG1hdGVyaWFsIHdlbnQtJmd0O0tpbW15IEFza3MgQWJvdXQgdGhlIFdldCBUcmFpbF1dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4OSIgbmFtZT0iS2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzcyIgdGFncz0iIiBwb3NpdGlvbj0iMTU1MCw3NTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSB0aGUgd2l0bmVzcyBhY2NvdW50IGtlZXBzIGNoYW5naW5nJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UmIzM5O3ZlIGRlc2NyaWJlZCBhIGJhbmcsIGEgY3Jhc2gsIGFuZCBzY3JhdGNoaW5nLCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc3RhcmVkIGF0IHRoZSBsdW5jaCBib3guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3Ugc2FpZCB0aGUgZG9vciBvcGVuZWQgYnkgaXRzZWxmLiBUaGVuIHlvdSBzYWlkIHlvdSBvbmx5IHNhdyBpdCBtb3ZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCYjMzk7cyBmaW5nZXJzIHRpZ2h0ZW5lZCBhcm91bmQgdGhlIGhhbmRsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doaWNoIHZlcnNpb24gaXMgdHJ1ZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FsbCBvZiB0aGVtLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBub3QgcG9zc2libGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBpcyB3aGF0IGhhcHBlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgbG9va2VkIHRvd2FyZCB0aGUgYmF0aHJvb20gaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzb3VuZCBjaGFuZ2VkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkbyB5b3UgbWVhbj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZW4gSSB3YXMgc3RhbmRpbmcgdGhlcmUsIGl0IHNvdW5kZWQgbGlrZSBhIGNyYXNoLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc3dhbGxvd2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hlbiBJIHdhbGtlZCBhd2F5LCBJIHJlbWVtYmVyZWQgc2NyYXRjaGluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuZCBub3c/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBjbG9zZWQgdGhlaXIgZXllcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdyBpdCBzb3VuZHMgbGlrZSBzb21lb25lIGtub2NraW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IG1hbnkga25vY2tzPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQmIzM5O3MgZXllcyBvcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHNsb3cga25vY2tzIGhhZCBhbHJlYWR5IGFwcGVhcmVkIGluIGFub3RoZXIgYWNjb3VudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbmNvbnNpc3RlbmN5IG1pZ2h0IG5vdCBiZWxvbmcgdG8gdGhlIHdpdG5lc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBtaWdodCBiZWxvbmcgdG8gdGhlIGV2ZW50LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIHdpdG5lc3MmIzM5O3MgbWVtb3J5IG9mIHRoZSBiYXRocm9vbSBzb3VuZCBjaGFuZ2VkIG92ZXIgdGltZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHdpdG5lc3Mgbm93IHJlbWVtYmVycyB0aHJlZSBrbm9ja3MgbmVhciB0aGUgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNZW1vcnkgZGlzY3JlcGFuY3k6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3aXRuZXNzIHJlbWVtYmVycyB0aGUgc2FtZSBzb3VuZCBhcwoJYSBjcmFzaCwgc2NyYXRjaGluZywgYW5kIHRocmVlIGtub2NrcyBkZXBlbmRpbmcgb24gd2hlbiB0aGUgZXZlbnQgaXMKCXJlY2FsbGVkLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayB3aGF0IGhhcHBlbmVkIGFmdGVyIHRoZSBzb3VuZCBjaGFuZ2VkLSZndDtLaW1teSBBc2tzIFdoYXQgRm9sbG93ZWRdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTAiIG5hbWU9IktpbW15IEludGVydmlldyBDb25jbHVzaW9uIiB0YWdzPSIiIHBvc2l0aW9uPSIxMzAwLDc5NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teVJlY29yZGVkRXZpZGVuY2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE91dHNpZGUgdGhlIExpYnJhcnkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIGhvdyBLaW1teSBzaG91bGQgY2xhc3NpZnkgdGhlIHdpdG5lc3MgYWNjb3VudCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmV2aWV3ZWQgdGhlIGludGVydmlldy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWUgZGV0YWlscyByZW1haW5lZCBjb25zaXN0ZW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdpdG5lc3MgaGFkIGJlZW4gbmVhciB0aGUgYmF0aHJvb20gYmVmb3JlIHRoZSBmaXJzdCBiZWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIHN0cnVjayBvciBtb3ZlZCBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEYXJrIHdldCBtYXRlcmlhbCBhcHBlYXJlZCBuZWFyIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hdGVyaWFsIHRyYXZlbGVkIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBhY2NvdW50IGJlY2FtZSBsZXNzIHJlbGlhYmxlIHdoZW4gdGhlIHN0dWRlbnQgZGVzY3JpYmVkIHdoYXQgY2F1c2VkCnRob3NlIGV2ZW50cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgZGlkIG5vdCBtYWtlIHRoZSBlbnRpcmUgc3RvcnkgZmFsc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBtYWRlIGV2ZXJ5IGNsYWltIHJlcXVpcmUgYSBsYWJlbC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2ltbXkgY2xhc3NpZnkgdGhlIGludGVydmlldz8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVjb3JkIG9ubHkgdGhlIGRldGFpbHMgc3VwcG9ydGVkIGJ5IGRpcmVjdCBvYnNlcnZhdGlvbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlUaGVvcnkgPSAmcXVvdDtQaHlzaWNhbCBldmlkZW5jZSBtYXR0ZXJzIG1vcmUgdGhhbiBpbnRlcnByZXRhdGlvbiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBiYXRocm9vbSBpbmNpZGVudCBwcm9kdWNlZCBhIGRhcmsgdHJhaWwgbGVhZGluZyB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUmVjb3JkcyB0aGUgSW50ZXJ2aWV3JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtQcmVzZXJ2ZSB0aGUgc3RyYW5nZSBjbGFpbXMgYXMgdW52ZXJpZmllZCBsZWFkcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teVRoZW9yeSA9ICZxdW90O1JlcGVhdGVkIGltcG9zc2libGUgY2xhaW1zIG1heSByZXZlYWwgYSBsYXJnZXIgcGF0dGVybiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtpbW15VW52ZXJpZmllZC5wdXNoVW5pcXVlKCZxdW90O0EgaGlkZGVuIGRvb3J3YXkgbWF5IGV4aXN0IGluc2lkZSBhIHNjaG9vbCB3YWxsJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtpbW15VW52ZXJpZmllZC5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgbWF5IGNvbW11bmljYXRlIHRocm91Z2ggdGhlIHNjaG9vbCB3YWxscyZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBJbnRlcnZpZXcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1RyZWF0IHRoZSBjaGFuZ2luZyBtZW1vcnkgYXMgZXZpZGVuY2Ugb2YgaW50ZXJmZXJlbmNlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlUaGVvcnkgPSAmcXVvdDtUaGUgZXZlbnQgbWF5IGFsdGVyIGhvdyB3aXRuZXNzZXMgcmVtZW1iZXIgaXQmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgYmF0aHJvb20gaW5jaWRlbnQgbWF5IGFsdGVyIHdpdG5lc3MgbWVtb3J5JnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlY29yZHMgdGhlIEludGVydmlldyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTEiIG5hbWU9IktpbW15IFJlY29yZHMgdGhlIEludGVydmlldyIgdGFncz0iIiBwb3NpdGlvbj0iOTAwLDgxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTZWFyY2ggZm9yIGV2aWRlbmNlIHRoYXQgY2FuIGNvbmZpcm0gdGhlIHdpdG5lc3MgYWNjb3VudCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcGxhY2VkIGEgbGluZSBiZW5lYXRoIHRoZSBmaW5hbCBlbnRyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB3cm90ZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1dvcmtpbmcgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgJGtpbW15VGhlb3J5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgaW50ZXJ2aWV3IGhhZCBwcm9kdWNlZCB1c2VmdWwgaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBoYWQgbm90IHByb2R1Y2VkIHByb29mLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUHJvb2YgcmVxdWlyZWQgc29tZXRoaW5nIHRoYXQgZGlkIG5vdCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdobyByZW1lbWJlcmVkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSByZWNvcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG1hcmsgbGVmdCBpbiB3b29kIG9yIHN0b25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIG9sZCBlbm91Z2ggdGhhdCB0aGUgbW9ybmluZyBjb3VsZCBub3QgaGF2ZSBpbnZlbnRlZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGdsYW5jZWQgdGhyb3VnaCB0aGUgbGlicmFyeSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZXlvbmQgdGhlIGdsYXNzLCB0aGUgbGlicmFyaWFuIHdhcyByZXR1cm5pbmcgYm9va3MgdG8gYSBzaGVsZiBtYXJrZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQlJFQ0tFTlJJREdFIEhJU1RPUlkgQU5EIE1VTklDSVBBTCBSRUNPUkRTCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIGJlbmVhdGggS2ltbXkmIzM5O3Mgd3JpdGluZyBwYWQgc2hpZnRlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoaXMgdGltZSwgaXQgc2xpZCBoYWxmIGFuIGluY2ggZnJvbSB0aGUgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBmYWRlZCBlbmQgcG9pbnRlZCB0b3dhcmQgdGhlIGxpYnJhcnkgZG9vcnMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgZXZpZGVuY2UgaW50byB0aGUgYXJjaGl2ZXMtJmd0O0tpbW15IENob29zZXMgdGhlIEFyY2hpdmVzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTIiIG5hbWU9IktpbW15IENob29zZXMgdGhlIEFyY2hpdmVzIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsODIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15U2VhcmNoZWRBcmNoaXZlcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTGlicmFyeSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTZWFyY2ggdGhlIHNjaG9vbCBhcmNoaXZlcyBmb3IgZXZpZGVuY2UgY29ubmVjdGVkIHRvIHRoZSBtb3JuaW5nJiMzOTtzIHJlcG9ydHMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGVudGVyZWQgdGhlIGxpYnJhcnkgd2l0aCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSB0dWNrZWQgYmVuZWF0aCBvbmUgYXJtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJvb20gc21lbGxlZCBvZiBwYXBlciwgZmxvb3Igd2F4LCBhbmQgZHVzdCB3YXJtZWQgYnkgdGhlIG1vcm5pbmcgc3VuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUm93cyBvZiBib29rcyBzdG9vZCBiZW5lYXRoIHRhbGwgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0dWRlbnRzIG9jY3VwaWVkIHNldmVyYWwgdGFibGVzIG5lYXIgdGhlIGZyb250IGRlc2ssIGJ1dCB0aGUgYmFjayBjb3JuZXIKcmVtYWluZWQgZW1wdHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IHdhcyB3aGVyZSB0aGUgbG9jYWwtaGlzdG9yeSBzaGVsdmVzIGJlZ2FuLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUludGVydmlld2VkU3R1ZGVudCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgaW50ZXJ2aWV3IGhhZCBnaXZlbiBLaW1teSBzZXZlcmFsIGNsYWltcy4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaHJlZSBzbG93IGtub2NrcyBpbnNpZGUgYSB3YWxsLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCURhcmsgbWF0ZXJpYWwgbW92aW5nIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlBIHRyYWlsIHN0b3BwaW5nIGF0IHRoZSBicmFzcyB0aHJlc2hvbGQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJTm9uZSBvZiB0aG9zZSBkZXRhaWxzIHF1YWxpZmllZCBhcyBwcm9vZi4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlOb3QgeWV0LgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2ltbXkgaGFkIHRocmVlIGxlYWRzIGFuZCBubyByZWxpYWJsZSBzb3VyY2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIGJhdGhyb29tIGNsb3N1cmUuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhyZWUgc2xvdyBrbm9ja3MgaW5zaWRlIGEgc2Nob29sIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIG9sZGVzdCByZWNvcmRzIG1pZ2h0IHJldmVhbCB3aGV0aGVyIGFueSBvZiB0aG9zZSBzdG9yaWVzIGhhZAoJCWhhcHBlbmVkIGJlZm9yZS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFwcHJvYWNoZWQgdGhlIGxpYnJhcmlhbiYjMzk7cyBkZXNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBzdGFtcGVkIGEgcmV0dXJuIGNhcmQgd2l0aG91dCBsb29raW5nIHVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCB5ZWFyIHdhcyB0aGUgc2Nob29sIGJ1aWx0PyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdGFtcCBzdG9wcGVkIGFib3ZlIHRoZSBpbmsgcGFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggcGFydD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhhZCBleHBlY3RlZCBhIGRhdGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgaGFkIG5vdCBleHBlY3RlZCBhIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIG1haW4gYnVpbGRpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGljaCBtYWluIGJ1aWxkaW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBsb3dlcmVkIHRoZSBzdGFtcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvciB0aGUgZmlyc3QgdGltZSwgdGhlIGxpYnJhcmlhbiBsb29rZWQgZGlyZWN0bHkgYXQgS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgc2Nob29sIGhhcyBiZWVuIHJlYnVpbHQsIGV4cGFuZGVkLCBwYXJ0aWFsbHkgZGVtb2xpc2hlZCwgcmVuYW1lZCwgYW5kCnJlYnVpbHQgYWdhaW4uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgbWFueSB0aW1lcz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0Vub3VnaCB0aGF0IG1vc3QgcGVvcGxlIHN0b3BwZWQgYXNraW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBoYXZlbiYjMzk7dC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4mIzM5O3MgZXllcyBtb3ZlZCB0b3dhcmQgdGhlIHllbGxvdyByaWJib24gYmVuZWF0aCBLaW1teSYjMzk7cyB3cml0aW5nCnBhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4mIzM5O3MgZXhwcmVzc2lvbiBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSBzbGlnaHRseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xvY2FsIHJlY29yZHMgYXJlIGluIHRoZSByZWFyIGNhYmluZXQsJnF1b3Q7IHRoZSBsaWJyYXJpYW4gc2FpZC4gJnF1b3Q7WWVhcmJvb2tzIGFyZQpvbiB0aGUgYm90dG9tIHNoZWxmLiBCdWlsZGluZyByZWNvcmRzIGFyZSBpbiB0aGUgZ3JheSBmaWxlIGJveC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuZCBzY2hvb2wgbmV3c3BhcGVycz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gZ2xhbmNlZCBhdCB0aGUgY2xvY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaG9zZSBhcmUgbm90IG9yZ2FuaXplZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FyZSB0aGV5IGF2YWlsYWJsZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0F2YWlsYWJsZSBhbmQgdXNlZnVsIGFyZSBub3QgdGhlIHNhbWUgdGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGVyZSBzaG91bGQgS2ltbXkgYmVnaW4/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1NlYXJjaCB0aGUgb2xkZXN0IHNjaG9vbCB5ZWFyYm9va3MuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgYnVpbGRpbmcgcmVjb3JkcyBhbmQgb2xkIGZsb29yIHBsYW5zLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBTZWFyY2hlcyB0aGUgRmxvb3IgUGxhbnMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1NvcnQgdGhyb3VnaCB0aGUgdW5vcmdhbml6ZWQgc2Nob29sIG5ld3NwYXBlcnMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBTZWFyY2hlcyB0aGUgTmV3c3BhcGVycyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTMiIG5hbWU9IktpbW15IFNlYXJjaGVzIHRoZSBZZWFyYm9va3MiIHRhZ3M9IiIgcG9zaXRpb249IjM1MCw4MTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U2VhcmNoIHRoZSBvbGRlc3QgeWVhcmJvb2tzIGZvciByZWN1cnJpbmcgcGVvcGxlLCBwbGFjZXMsIG9yIHN5bWJvbHMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNyb3VjaGVkIGJlc2lkZSB0aGUgYm90dG9tIHNoZWxmLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZGVzdCB5ZWFyYm9va3Mgd2VyZSBsYXJnZXIgdGhhbiB0aGUgbmV3ZXIgb25lcyBhbmQgYm91bmQgaW4gY2xvdGgKaW5zdGVhZCBvZiBnbG9zc3kgY2FyZGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9zdCBoYWQgY3JhY2tlZCBzcGluZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIGhhZCBubyB0aXRsZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBzZWxlY3RlZCB0aGUgZWFybGllc3Qgdm9sdW1lIHdob3NlIHllYXIgcmVtYWluZWQgcmVhZGFibGUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQnJlY2tlbnJpZGdlIFNjaG9vbCwgMTkzOC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtCcmVja2VucmlkZ2UgU2Nob29sIHllYXJib29rIGZyb20gMTkzOCZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3ZlciByZXNpc3RlZCB3aGVuIHNoZSBvcGVuZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEdXN0IHJvc2UgZnJvbSB0aGUgcGFnZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB0dXJuZWQgcGFzdCBjbGFzcyBwaG90b2dyYXBocywgY2x1YnMsIGF0aGxldGljIHRlYW1zLCBhbmQgdGVhY2hlcnMKd2hvc2UgbmFtZXMgaGFkIGJlZW4gcHJpbnRlZCBpbiBjYXJlZnVsIGJsYWNrIHR5cGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIHBhZ2VzIGhhZCBiZWVuIHJlbW92ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgdG9ybi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkN1dC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlZGdlcyB3ZXJlIHRvbyBzdHJhaWdodCB0byBiZSBhY2NpZGVudGFsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmVjb3JkZWQgdGhlIG1pc3NpbmcgcGFnZSBudW1iZXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRWxldmVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbHZlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcnRlZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQYWdlIGZvdXJ0ZWVuIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBncm91cCBwaG90b2dyYXBoIG9jY3VwaWVkIG1vc3Qgb2YgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBzdG9vZCBpbiB0aHJlZSByb3dzIG91dHNpZGUgYW4gb2xkZXIgc2VjdGlvbiBvZiB0aGUgc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJ1aWxkaW5nIGJlaGluZCB0aGVtIGhhZCBuYXJyb3cgd2luZG93cyBhbmQgZGFyayBzdG9uZSBhcm91bmQgdGhlIGRvb3JzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZmFkZWQgc2l4LXBldGFsZWQgZmxvd2VyIGhhZCBiZWVuIGRyYXduIGluIGluayBuZWFyIHRoZSBib3R0b20gY29ybmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hcmsgYXBwZWFyZWQgdG9vIHByZWNpc2UgdG8gYmUgYW4gb3JkaW5hcnkgZG9vZGxlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIGFwcGVhcnMgaW4gYSAxOTM4IHNjaG9vbCB5ZWFyYm9vayZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpc3RvcmljYWwgbGVhZDombHQ7L3N0cm9uZyZndDsgQSBzaXgtcGV0YWxlZCBzeW1ib2wgd2FzIGRyYXduIGJlc2lkZSBhCgkxOTM4IHBob3RvZ3JhcGggb2Ygc3R1ZGVudHMgc3RhbmRpbmcgb3V0c2lkZSBhbiBvbGRlciBzZWN0aW9uIG9mIHRoZQoJc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBleGFtaW5lZCB0aGUgc3R1ZGVudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IHdvcmUgb3JkaW5hcnkgZXhwcmVzc2lvbnMgZm9yIGEgc2Nob29sIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc3R1ZGVudCBpbiB0aGUgYmFjayByb3cgZGlkIG5vdCBmYWNlIHRoZSBjYW1lcmEuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCYjMzk7cyBoZWFkIGhhZCBiZWVuIHR1cm5lZCB0b3dhcmQgYW4gdXBzdGFpcnMgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZm9sbG93ZWQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgc3R1ZGVudCYjMzk7cyBnYXplLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgcGFsZSBmaWd1cmVzIHN0b29kIGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVpciBjbG90aGluZyBsb29rZWQgb2xkZXIgdGhhbiB0aGUgc3R1ZGVudHMgZ2F0aGVyZWQgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBmaWd1cmUgcmVzdGVkIGEgaGFuZCBhZ2FpbnN0IHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3RoZXIgdHdvIHN0b29kIGJlaGluZCB0aGUgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBicm91Z2h0IHRoZSB5ZWFyYm9vayBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBibHVycmVkIG5lYXIgdGhlIHdpbmRvdywgYnV0IG9uZSBkZXRhaWwgcmVtYWluZWQgY2xlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNtYWxsIGZsb3dlci1saWtlIG1hcmsgaGFkIGJlZW4gZHJhd24gb24gdGhlIGdsYXNzIGJldHdlZW4gdGhlIHRocmVlCmZpZ3VyZXMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBleGFtaW5lIGZpcnN0PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSB3aW5kb3cgc3ltYm9sIHdpdGggdGhlIG1hcmsgaW4gdGhlIGNvcm5lci4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ29tcGFyZXMgdGhlIEhpc3RvcmljYWwgU3ltYm9scyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2VhcmNoIHRoZSB5ZWFyYm9vayBmb3IgdGhlIG5hbWVzIG9mIHRoZSB0aHJlZSBmaWd1cmVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFNlYXJjaGVzIGZvciB0aGUgVGhyZWUgR2lybHMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgaW1hZ2UgYmVmb3JlIGhhbmRsaW5nIHRoZSB5ZWFyYm9vayBmdXJ0aGVyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ29waWVzIHRoZSBZZWFyYm9vayBQaG90b2dyYXBoJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5NCIgbmFtZT0iS2ltbXkgU2VhcmNoZXMgdGhlIEZsb29yIFBsYW5zIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTI1LDgyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb21wYXJlIHRoZSBzY2hvb2wmIzM5O3Mgb2xkZXIgZmxvb3IgcGxhbnMgd2l0aCB0aGUgY3VycmVudCBidWlsZGluZyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIGdyYXkgZmlsZSBib3ggc2F0IG9uIHRoZSBsb3dlc3Qgc2hlbGYgb2YgYSBzdGVlbCBjYWJpbmV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcHVsbGVkIGl0IGZyZWUgYW5kIGNhcnJpZWQgaXQgdG8gdGhlIHRhYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJveCBjb250YWluZWQgcmVub3ZhdGlvbiBwZXJtaXRzLCBpbnNwZWN0aW9uIHJlcG9ydHMsIGluc3VyYW5jZSBkaWFncmFtcywKYW5kIHNldmVyYWwgZmxvb3IgcGxhbnMgZm9sZGVkIGludG8gYnJpdHRsZSBzcXVhcmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1vc3QgcmVjZW50IHBsYW4gbWF0Y2hlZCB0aGUgc2Nob29sIEtpbW15IGtuZXcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNYWluIG9mZmljZSBuZWFyIHRoZSBmcm9udCBlbnRyYW5jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkxpYnJhcnkgYWxvbmcgdGhlIGVhc3Rlcm4gaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckd5bW5hc2l1bSBhbmQgY2FmZXRlcmlhIGFkZGVkIGJlaGluZCB0aGUgb3JpZ2luYWwgY2xhc3Nyb29tcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHVuZm9sZGVkIGFuIG9sZGVyIHBsYW4uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQnJlY2tlbnJpZGdlIFNjaG9vbCBBbm5leCwgcmV2aXNlZCAxOTM4LgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15U291cmNlKCZxdW90O0JyZWNrZW5yaWRnZSBTY2hvb2wgQW5uZXggZmxvb3IgcGxhbiByZXZpc2VkIGluIDE5MzgmcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgcGFwZXIgaGFkIHllbGxvd2VkIGFyb3VuZCB0aGUgZm9sZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGRhcmsgc3RhaW4gb2JzY3VyZWQgcGFydCBvZiB0aGUgbG93ZXIgY29ybmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgYWxpZ25lZCB0aGUgb2xkIHBsYW4gYmVzaWRlIHRoZSBtb2Rlcm4gb25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZyb250IG9mZmljZSBvY2N1cGllZCB0aGUgc2FtZSBhcHByb3hpbWF0ZSBsb2NhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoYWxsd2F5IGRpbWVuc2lvbnMgZGlkIG5vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFjY29yZGluZyB0byB0aGUgb2xkIHBsYW4sIGEgbmFycm93IHBhc3NhZ2UgY29udGludWVkIGJlaGluZCB0aGUgYm95cyYjMzk7CmJhdGhyb29tIGFuZCB0dXJuZWQgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQWNjb3JkaW5nIHRvIHRoZSBtb2Rlcm4gcGxhbiwgdGhhdCBzcGFjZSBkaWQgbm90IGV4aXN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbWVhc3VyZWQgdGhlIGxpbmVzIHdpdGggaGVyIHBlbmNpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwYXNzYWdlIHdhcyB0b28gd2lkZSB0byBiZSBhIHZlbnRpbGF0aW9uIHNoYWZ0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVG9vIG5hcnJvdyB0byBiZSBhIGNsYXNzcm9vbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGNvbm5lY3RlZCB0aGUgYmF0aHJvb20gd2FsbCB3aXRoIHRoZSBvZmZpY2Ugd2FsbC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0EgMTkzOCBmbG9vciBwbGFuIHNob3dzIGEgaGlkZGVuIHBhc3NhZ2UgY29ubmVjdGluZyB0aGUgYmF0aHJvb20gYXJlYSB3aXRoIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29uZmlybWVkIHN0cnVjdHVyYWwgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IEEgMTkzOCBmbG9vciBwbGFuIHNob3dzIGEKCW5hcnJvdyBwYXNzYWdlIGJlaGluZCB0aGUgYm95cyYjMzk7IGJhdGhyb29tIGxlYWRpbmcgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3MKCW9mZmljZS4gVGhlIHBhc3NhZ2UgaXMgYWJzZW50IGZyb20gdGhlIG1vZGVybiBmbG9vciBwbGFuLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGtpbW15SW50ZXJ2aWV3ZWRTdHVkZW50Jmd0OyZndDsKCSZsdDtwJmd0OwoJCUtpbW15IHJldmlld2VkIHRoZSB3aXRuZXNzIHN0YXRlbWVudC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaHJlZSBrbm9ja3MgaW5zaWRlIHRoZSBiYXRocm9vbSB3YWxsLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCUEgdm9pY2UgaGVhcmQgdGhyb3VnaCB0aGUgd2FsbC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlBIHRyYWlsIG1vdmluZyB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIG9sZCBwYXNzYWdlIGNvbm5lY3RlZCBhbGwgdGhyZWUgbG9jYXRpb25zLgoJJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgd2l0bmVzcyBhY2NvdW50IGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9jYXRpb24gb2YgdGhlIGhpZGRlbiBwYXNzYWdlJnF1b3Q7KSZndDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtFdmlkZW5jZSBjb3Jyb2JvcmF0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoaXN0b3JpY2FsIGZsb29yIHBsYW4gc3VwcG9ydHMKCQlwYXJ0cyBvZiB0aGUgc3R1ZGVudCYjMzk7cyBhY2NvdW50IGNvbmNlcm5pbmcgc291bmRzIGFuZCBtb3ZlbWVudCBpbnNpZGUgdGhlCgkJd2FsbHMuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVNvbWVvbmUgaGFkIGludGVudGlvbmFsbHkgb21pdHRlZCB0aGUgcGFzc2FnZSBmcm9tIHRoZSBsYXRlciBwbGFucy4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGF0IGRpZCBub3QgcHJvdmUgdGhlIHBhc3NhZ2UgaGFkIGJlZW4gc2VhbGVkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCUl0IHByb3ZlZCBzb21lb25lIHdhbnRlZCB0aGUgY3VycmVudCByZWNvcmRzIHRvIHNheSBpdCB3YXMgbm8gbG9uZ2VyCgkJdGhlcmUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtwJmd0OwpBIGhhbmR3cml0dGVuIG5vdGUgYXBwZWFyZWQgbmVhciB0aGUgcGFzc2FnZSBlbnRyYW5jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbmsgaGFkIGZhZGVkIHVudGlsIG9ubHkgdGhyZWUgd29yZHMgcmVtYWluZWQgbGVnaWJsZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpLZWVwIGJvdW5kYXJ5IGludGFjdC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSBzbWFsbCBzaXgtcGV0YWxlZCBzeW1ib2wgaGFkIGJlZW4gc3RhbXBlZCBiZXNpZGUgdGhlIHdhcm5pbmcuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kSGlzdG9yaWNhbFN5bWJvbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIGhpZGRlbiBwYXNzYWdlIHdhcyBtYXJrZWQgd2l0aCBhIHNpeC1wZXRhbGVkIHN5bWJvbCBhbmQgYSB3YXJuaW5nIHRvIGtlZXAgdGhlIGJvdW5kYXJ5IGludGFjdCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtpbW15IGludmVzdGlnYXRlIG5leHQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0ZpbmQgb3V0IHdobyBhcHByb3ZlZCB0aGUgMTkzOCByZXZpc2lvbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBGaW5kcyB0aGUgUmV2aXNpb24gU2lnbmF0dXJlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSBoaWRkZW4gcGFzc2FnZSB3aXRoIHRoZSB3aXRuZXNzJiMzOTtzIGRlc2NyaXB0aW9uLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDb25maXJtcyB0aGUgSGlkZGVuIFBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0V4YW1pbmUgdGhlIHNpeC1wZXRhbGVkIHN0YW1wIG1vcmUgY2xvc2VseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5NSIgbmFtZT0iS2ltbXkgU2VhcmNoZXMgdGhlIE5ld3NwYXBlcnMiIHRhZ3M9IiIgcG9zaXRpb249IjU1MCw4NDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U2VhcmNoIG9sZCBzY2hvb2wgbmV3c3BhcGVycyBmb3IgcmVwb3J0cyByZXNlbWJsaW5nIHRvZGF5JiMzOTtzIGluY2lkZW50cyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHNjaG9vbCBuZXdzcGFwZXJzIG9jY3VwaWVkIHRocmVlIGNhcmRib2FyZCBib3hlcyBiZW5lYXRoIHRoZSBhcmNoaXZlCnRhYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9uZSB3ZXJlIG9yZ2FuaXplZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWUgaGFkIGRhdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT3RoZXJzIGhhZCBwYXJ0aWFsIGRhdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBoYWQgYmVlbiBmb2xkZWQgYXJvdW5kIGFubm91bmNlbWVudHMsIHBob3RvZ3JhcGhzLCBoYW5kd3JpdHRlbiBub3RlcywKYW5kIG9iamVjdHMgdGhhdCBubyBsb25nZXIgc2VlbWVkIGNvbm5lY3RlZCB0byB0aGUgbmV3c3BhcGVyIGNvbnRhaW5pbmcgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNvcnRlZCB0aGUgcGFwZXJzIGludG8gcGlsZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZWZvcmUgMTk0MC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CjE5NDAgdGhyb3VnaCAxOTYwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQWZ0ZXIgMTk2MC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClVuZGF0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdW5kYXRlZCBwaWxlIHdhcyB0aGUgbGFyZ2VzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgYmVnYW4gcmVjb3JkaW5nIGhlYWRsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vc3Qgd2VyZSBvcmRpbmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjaG9vbCBlbGVjdGlvbiByZXN1bHRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmFzZWJhbGwgc2NvcmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRnVuZHJhaXNlcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNhZmV0ZXJpYSBwZXRpdGlvbiBkZW1hbmRpbmcgdGhhdCB0aGUgbWVhdGxvYWYgYmUgaWRlbnRpZmllZCBiZWZvcmUgaXQgd2FzCnNlcnZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gS2ltbXkgZm91bmQgYSBuYXJyb3cgY2xpcHBpbmcgdHVja2VkIGluc2lkZSBhIDE5MzggaXNzdWUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTE9XRVIgQ09SUklET1IgQ0xPU0VEIEFGVEVSIE1PUk5JTkcgSU5DSURFTlQKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtCcmVja2VucmlkZ2UgU2Nob29sIG5ld3NwYXBlciBjbGlwcGluZyBmcm9tIDE5MzgmcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgYXJ0aWNsZSB3YXMgb25seSBmb3VyIHBhcmFncmFwaHMgbG9uZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHJlcG9ydGVkIHRoYXQgYSBsb3dlciBjb3JyaWRvciBoYWQgYmVlbiB0ZW1wb3JhcmlseSBjbG9zZWQgZm9sbG93aW5nIGFuCmluY2lkZW50IGJlZm9yZSB0aGUgc2Nob29sIGRheSBiZWdhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGNhdXNlIHdhcyBsaXN0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBpbmp1cmllcyB3ZXJlIGFja25vd2xlZGdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaW5hbCBzZW50ZW5jZSBzdGF0ZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBcmNoaXZlZCBzdGF0ZW1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFN0dWRlbnRzIGFyZSByZW1pbmRlZCB0byB1c2UgZGVzaWduYXRlZAoJZW50cmFuY2VzIGFuZCBlbnRlciByZXN0cmljdGVkIGFyZWFzIG9ubHkgd2hlbiBwZXJtaXNzaW9uIGhhcyBiZWVuIGdyYW50ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJlYWQgdGhlIHNlbnRlbmNlIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmRpbmcgcmVzZW1ibGVkIGEgc2Nob29sIHJ1bGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBkaWQgbm90IGV4cGxhaW4gd2h5IHRoZSBjb3JyaWRvciBoYWQgYmVlbiBjbG9zZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIDE5Mzggc2Nob29sIGFydGljbGUgaW5zdHJ1Y3RlZCBzdHVkZW50cyB0byB1c2UgZGVzaWduYXRlZCBlbnRyYW5jZXMgYW5kIG9idGFpbiBwZXJtaXNzaW9uIGJlZm9yZSBlbnRlcmluZyByZXN0cmljdGVkIGFyZWFzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBoYWQgY2lyY2xlZCB0aGUgd29yZCBwZXJtaXNzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVzaWRlIGl0LCBpbiBmYWRlZCBwZW5jaWwsIGEgcmVhZGVyIGhhZCB3cml0dGVuOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClBlcm1pc3Npb24gZnJvbSB3aG9tPwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpCZWxvdyB0aGUgcXVlc3Rpb24gd2FzIGEgc21hbGwgc2l4LXBldGFsZWQgZmxvd2VyLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIGFwcGVhcnMgYmVzaWRlIGEgMTkzOCB3YXJuaW5nIGFib3V0IHBlcm1pc3Npb24gYW5kIHJlc3RyaWN0ZWQgYXJlYXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBleGFtaW5lPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTZWFyY2ggZm9yIGZvbGxvdy11cCBhcnRpY2xlcyBhYm91dCB0aGUgY2xvc2VkIGNvcnJpZG9yLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IEZpbmRzIHRoZSBNaXNzaW5nIEZvbGxvdyBVcCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29tcGFyZSB0aGUgd2FybmluZyB3aXRoIGN1cnJlbnQgc2Nob29sIHJ1bGVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDb21wYXJlcyB0aGUgUGVybWlzc2lvbiBSdWxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtFeGFtaW5lIHRoZSBoYW5kd3JpdHRlbiBxdWVzdGlvbiBhbmQgc3ltYm9sLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTk2IiBuYW1lPSJLaW1teSBDb21wYXJlcyB0aGUgSGlzdG9yaWNhbCBTeW1ib2xzIiB0YWdzPSIiIHBvc2l0aW9uPSI1NTAsODA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSB0d28gc3ltYm9scyBpbiB0aGUgeWVhcmJvb2sgbWF0Y2gmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBhIHRoaW4gc2hlZXQgb2YgcGFwZXIgb3ZlciB0aGUgc3ltYm9sIGRyYXduIGJlc2lkZSB0aGUKcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB0cmFjZWQgdGhlIGNpcmNsZSBhbmQgc2l4IGN1cnZlZCBkaXZpc2lvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHNoZSBtb3ZlZCB0aGUgdHJhY2luZyBvdmVyIHRoZSBtYXJrIHZpc2libGUgaW4gdGhlIHVwc3RhaXJzIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaW5lcyBtYXRjaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGFwcHJveGltYXRlbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFeGFjdGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRWFjaCBwZXRhbCBjdXJ2ZWQgYXQgdGhlIHNhbWUgYW5nbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBwZXRhbCBjb250YWluZWQgYSBuYXJyb3cgYnJlYWsgbmVhciBpdHMgb3V0ZXIgZWRnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzYW1lIHR3byBzaG9ydCBzY3JhdGNoZXMgYXBwZWFyZWQgYmVuZWF0aCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFkanVzdGVkIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY3JhdGNoZXMgZm9ybWVkIGEgUm9tYW4gbnVtZXJhbC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpJSS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHR3byBoZXhhZm9pbHMgaW4gdGhlIDE5MzggeWVhcmJvb2sgbWF0Y2ggZXhhY3RseSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpc3RvcmljYWwgaGV4YWZvaWwgaW5jbHVkZXMgdGhlIFJvbWFuIG51bWVyYWwgSUkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25maXJtZWQgaGlzdG9yaWNhbCBzeW1ib2w6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoZXhhZm9pbCBkcmF3biBiZXNpZGUgdGhlCglwaG90b2dyYXBoIGV4YWN0bHkgbWF0Y2hlcyB0aGUgc3ltYm9sIHZpc2libGUgaW4gdGhlIHdpbmRvdy4gQm90aCBpbmNsdWRlCgl0aGUgUm9tYW4gbnVtZXJhbCBJSS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29waWVkIHRoZSBzeW1ib2wgaW50byBoZXIgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFmdGVyIHNoZSBmaW5pc2hlZCwgc2hlIGxvb2tlZCBiYWNrIGF0IHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hcmsgaW4gdGhlIHdpbmRvdyBubyBsb25nZXIgY29udGFpbmVkIHR3byBsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGNvbnRhaW5lZCB0aHJlZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgd2hldGhlciB0aGUgcGhvdG9ncmFwaCBoYXMgY2hhbmdlZC0mZ3Q7S2ltbXkgVmVyaWZpZXMgdGhlIENoYW5nZWQgUGhvdG9ncmFwaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTk3IiBuYW1lPSJLaW1teSBWZXJpZmllcyB0aGUgQ2hhbmdlZCBQaG90b2dyYXBoIiB0YWdzPSIiIHBvc2l0aW9uPSI2MDAsODI3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15Tm90aWNlZENoYW5nZWRQaG90b2dyYXBoID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtWZXJpZnkgdGhhdCB0aGUgaGlzdG9yaWNhbCBwaG90b2dyYXBoIGNoYW5nZWQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvbXBhcmVkIHRoZSBwaG90b2dyYXBoIHdpdGggaGVyIHdyaXR0ZW4gbm90ZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbm90ZXMgcmVjb3JkZWQgdGhlIG9yaWdpbmFsIGRldGFpbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGluIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGhleGFmb2lsIG1hcmtlZCBJSS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuYW1lIEx1Y2lsbGUgaW4gdGhlIGNhcHRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY3VycmVudCBwaG90b2dyYXBoIHNob3dlZCBzb21ldGhpbmcgZGlmZmVyZW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGZpZ3VyZSBoYWQgbW92ZWQgY2xvc2VyIHRvIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzeW1ib2wgbm93IGNvbnRhaW5lZCB0aHJlZSBsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjYXB0aW9uIHJlYWQgTHVjeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGluZGVwZW5kZW50IGRldGFpbHMgaGFkIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjaGVja2VkIHRoZSBpbmsgaW4gaGVyIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgdGhlIHByaW50ZWQgeWVhcmJvb2sgY2FwdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjaGFuZ2Ugd2FzIG5vdCBjYXVzZWQgYnkgd2V0IGluay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBub3QgYSBwcmludGluZyBlcnJvci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBub3QgbWVtb3J5LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpc3RvcmljYWwgcGhvdG9ncmFwaCBjaGFuZ2VkIGluIHRocmVlIGluZGVwZW5kZW50bHkgcmVjb3JkZWQgd2F5cyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1ZlcmlmaWVkIGltcG9zc2libGUgZXZlbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15JiMzOTtzIG5vdGVzIGNvbmZpcm0gdGhhdCB0aGUKCXBob3RvZ3JhcGggY2hhbmdlZCB0aGUgZmlndXJlcyYjMzk7IHBvc2l0aW9ucywgdGhlIG51bWVyYWwgaW5zaWRlIHRoZSBzeW1ib2wsCglhbmQgdGhlIG5hbWUgcHJpbnRlZCBpbiB0aGUgY2FwdGlvbi4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tEZXRlcm1pbmUgd2hhdCB0aGUgcGhvdG9ncmFwaCBpcyB0cnlpbmcgdG8gcmV2ZWFsLSZndDtLaW1teSBBcmNoaXZlIFJldmVsYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5OCIgbmFtZT0iS2ltbXkgU2VhcmNoZXMgZm9yIHRoZSBUaHJlZSBHaXJscyIgdGFncz0iIiBwb3NpdGlvbj0iMTAyNSw4NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIHRocmVlIGZpZ3VyZXMgaW4gdGhlIHllYXJib29rIHBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNlYXJjaGVkIHRoZSB5ZWFyYm9vayYjMzk7cyBzdHVkZW50IGluZGV4LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgZXZlcnkgbGlzdGVkIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBlbnRyeSBpZGVudGlmaWVkIHRoZSB0aHJlZSBmaWd1cmVzIGluIHRoZSB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcmV0dXJuZWQgdG8gdGhlIHBob3RvZ3JhcGggYW5kIGV4YW1pbmVkIHRoZSBzdHVkZW50cyBzdGFuZGluZyBvdXRzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNhcHRpb24gbGlzdGVkIHR3ZW50eS1laWdodCBuYW1lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvdW50ZWQgdGhlIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbnR5LWZpdmUgc3Rvb2Qgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHJlbWFpbmVkIGluIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2FwdGlvbiBpbmNsdWRlZCBhbGwgdHdlbnR5LWVpZ2h0IG5hbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBoYWQgY291bnRlZCB0aGUgZmlndXJlcyBpbnNpZGUgdGhlIGJ1aWxkaW5nIGFzIHBhcnQgb2YgdGhlIGdyb3VwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29tcGFyZWQgdGhlIGNhcHRpb24gd2l0aCB0aGUgaW5kZXguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBuYW1lcyBhcHBlYXJlZCBpbiB0aGUgY2FwdGlvbiBidXQgbm93aGVyZSBlbHNlIGluIHRoZSB5ZWFyYm9vazoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpMdWNpbGxlIFZhbGUmbHQ7YnImZ3Q7Ck1hcmlhbiBWYWxlJmx0O2JyJmd0OwpFbGVhbm9yIFZhbGUKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYXJlZCBzdXJuYW1lIGNvdWxkIG1lYW4gc2lzdGVycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGNvdWxkIGFsc28gbWVhbiBjb3VzaW5zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGUgbmVpdGhlciBjb25jbHVzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHJlY29yZGVkIG9ubHkgd2hhdCB0aGUgeWVhcmJvb2sgc3VwcG9ydGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhyZWUgc3R1ZGVudHMgbmFtZWQgTHVjaWxsZSwgTWFyaWFuLCBhbmQgRWxlYW5vciBWYWxlIGFwcGVhciBvbmx5IGluIGEgMTkzOCBncm91cCBjYXB0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgdGhyZWUgdW5pZGVudGlmaWVkIHdpbmRvdyBmaWd1cmVzIG1heSBjb3JyZXNwb25kIHdpdGggdGhlIHRocmVlIFZhbGUgbmFtZXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbnJlc29sdmVkIGlkZW50aXRpZXM6Jmx0Oy9zdHJvbmcmZ3Q7IFRocmVlIG5hbWVzIGFwcGVhciBpbiB0aGUgcGhvdG9ncmFwaAoJY2FwdGlvbiBidXQgbm93aGVyZSBlbHNlIGluIHRoZSB5ZWFyYm9vay4gVGhlIHBob3RvZ3JhcGggY29udGFpbnMgdGhyZWUKCXVuaWRlbnRpZmllZCBmaWd1cmVzIGluc2lkZSB0aGUgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSByZXR1cm5lZCB0byB0aGUgY2FwdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaXJzdCBuYW1lIGhhZCBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgbm8gbG9uZ2VyIHJlYWQgTHVjaWxsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHJlYWQgTHVjeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0YXJlZCBhdCB0aGUgaW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxldHRlcnMgd2VyZSBwcmludGVkIGluIHRoZSBzYW1lIHR5cGVmYWNlIGFzIHRoZSByZXN0IG9mIHRoZSBjYXB0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgaGVyIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCB3cml0dGVuIEx1Y2lsbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgZGlkIG5vdCBjcm9zcyBpdCBvdXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JlY29yZCBib3RoIHZlcnNpb25zIG9mIHRoZSBuYW1lLSZndDtLaW1teSBWZXJpZmllcyB0aGUgQ2hhbmdlZCBQaG90b2dyYXBoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTkiIG5hbWU9IktpbW15IENvcGllcyB0aGUgWWVhcmJvb2sgUGhvdG9ncmFwaCIgdGFncz0iIiBwb3NpdGlvbj0iNzc1LDgyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDcmVhdGUgYW4gaW5kZXBlbmRlbnQgcmVjb3JkIG9mIHRoZSB5ZWFyYm9vayBwaG90b2dyYXBoJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgdG8gYSBjbGVhbiBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNvcGllZCB0aGUgcGhvdG9ncmFwaCYjMzk7cyBpbXBvcnRhbnQgZGV0YWlscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3ZW50eS1maXZlIHN0dWRlbnRzIG91dHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGluIGFuIHVwc3RhaXJzIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc2l4LXBldGFsZWQgc3ltYm9sIG9uIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgbWF0Y2hpbmcgc3ltYm9sIGRyYXduIG5lYXIgdGhlIHBob3RvZ3JhcGgmIzM5O3MgbG93ZXIgY29ybmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNvcGllZCB0aGUgY2FwdGlvbiBleGFjdGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBzaGUgZHJldyBzbWFsbCBib3hlcyB0byByZXByZXNlbnQgdGhlIHdpbmRvdyBhbmQgdGhlIHBvc2l0aW9ucyBvZiB0aGUKdGhyZWUgZmlndXJlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtaWRkbGUgZmlndXJlIHN0b29kIGNsb3Nlc3QgdG8gdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBvbiB0aGUgbGVmdCBhcHBlYXJlZCBzbGlnaHRseSB0YWxsZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIG9uIHRoZSByaWdodCBzdG9vZCBmYXJ0aGVyIGJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBmaW5pc2hlZCB0aGUgc2tldGNoIGFuZCBjb21wYXJlZCBpdCB3aXRoIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFycmFuZ2VtZW50IG5vIGxvbmdlciBtYXRjaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1pZGRsZSBmaWd1cmUgaGFkIG1vdmVkIHRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3RoZXIgdHdvIGhhZCBtb3ZlZCBjbG9zZXIgdG9nZXRoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjaGVja2VkIGhlciBkcmF3aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCByZWNvcmRlZCB0aGUgb3JpZ2luYWwgcG9zaXRpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGVyIG5vdGVzIGhhZCBub3QgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15Tm90aWNlZENoYW5nZWRQaG90b2dyYXBoID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtLaW1teSYjMzk7cyBpbmRlcGVuZGVudCBza2V0Y2ggcHJvdmVzIHRoZSBmaWd1cmVzIGluIHRoZSB5ZWFyYm9vayBwaG90b2dyYXBoIGNoYW5nZWQgcG9zaXRpb25zJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RG9jdW1lbnRlZCBjaGFuZ2U6Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15JiMzOTtzIG5vdGVzIHByZXNlcnZlIHRoZSBmaWd1cmVzJiMzOTsKCW9yaWdpbmFsIHBvc2l0aW9ucywgY29uZmlybWluZyB0aGF0IHRoZSB5ZWFyYm9vayBwaG90b2dyYXBoIGNoYW5nZWQgYWZ0ZXIKCXNoZSBjb3BpZWQgaXQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBvbmUgaGFuZCBvbiB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CldyaXRpbmcgc29tZXRoaW5nIGRvd24gZGlkIG5vdCBtYWtlIGl0IGxlc3MgaW1wb3NzaWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGdhdmUgdGhlIGltcG9zc2libGUgZXZlbnQgc29tZXdoZXJlIHRvIGV4aXN0IG91dHNpZGUgaGVyIG1lbW9yeS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgYWx0ZXJlZCBwaG90b2dyYXBoLSZndDtLaW1teSBWZXJpZmllcyB0aGUgQ2hhbmdlZCBQaG90b2dyYXBoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDAiIG5hbWU9IktpbW15IEZpbmRzIHRoZSBSZXZpc2lvbiBTaWduYXR1cmUiIHRhZ3M9IiIgcG9zaXRpb249IjEzNzUsODA3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHdobyBhdXRob3JpemVkIHRoZSBhbHRlcmVkIHNjaG9vbCBwbGFucyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZXhhbWluZWQgdGhlIGFwcHJvdmFsIGJsb2NrIGluIHRoZSBsb3dlciBjb3JuZXIgb2YgdGhlIGZsb29yIHBsYW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IHNpZ25hdHVyZXMgaGFkIGZhZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHJlbWFpbmVkIGRhcmsgZW5vdWdoIHRvIHJlYWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQy4gQS4gVGhpc3RsZXdpY2sgSUlJJmx0O2JyJmd0OwpQcmluY2lwYWwKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHNpZ25hdHVyZSBhdXRob3JpemVkIHRoZSByZXZpc2lvbiBpbiAxOTM4LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVuZWF0aCBpdCwgYW5vdGhlciBuYW1lIGhhZCBiZWVuIHdyaXR0ZW4gaW4gc21hbGxlciBsZXR0ZXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGluayBoYWQgYmxlZCBpbnRvIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgdGhlIHN1cm5hbWUgcmVtYWluZWQgY2xlYXIuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQmxhY2t3b29kCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRCbGFja3dvb2RSZWZlcmVuY2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1ByaW5jaXBhbCBDLiBBLiBUaGlzdGxld2ljayBJSUkgYXV0aG9yaXplZCB0aGUgMTkzOCBidWlsZGluZyByZXZpc2lvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7U29tZW9uZSBuYW1lZCBCbGFja3dvb2Qgd2FzIGNvbm5lY3RlZCB3aXRoIHRoZSAxOTM4IHJldmlzaW9uJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Rmlyc3QgQmxhY2t3b29kIHJlZmVyZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHN1cm5hbWUgQmxhY2t3b29kIGFwcGVhcnMKCWJlbmVhdGggdGhlIHByaW5jaXBhbCYjMzk7cyBzaWduYXR1cmUgb24gdGhlIDE5Mzggc2Nob29sIHJldmlzaW9uLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBjb3BpZWQgYm90aCBuYW1lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBsb29rZWQgYmFjayBhdCB0aGUgcGxhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBCbGFja3dvb2Qgc2lnbmF0dXJlIGhhZCB2YW5pc2hlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgd2V0IHN0YWluIHJlbWFpbmVkIHdoZXJlIHRoZSBuYW1lIGhhZCBiZWVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgdG91Y2hlZCB0aGUgY29ybmVyIG9mIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdGFpbiBzbWVsbGVkIGZhaW50bHkgb2Ygc29pbC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgc3ltYm9sIGJlc2lkZSB0aGUgaGlkZGVuIHBhc3NhZ2UtJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDEiIG5hbWU9IktpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsIiB0YWdzPSIiIHBvc2l0aW9uPSIxNDAwLDg0MDAiIHNpemU9IjEwMCwxMDAiPktpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IHRoZSBzaXgtcGV0YWxlZCBzeW1ib2wgcmVwcmVzZW50ZWQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvcGllZCB0aGUgc3ltYm9sIG9udG8gYSBjbGVhbiBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjaXJjbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaXggY3VydmVkIGRpdmlzaW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFwZSByZXNlbWJsZWQgYSBmbG93ZXIsIGJ1dCB0aGUgbGluZXMgd2VyZSB0b28gbWVhc3VyZWQgdG8gYmUKZGVjb3JhdGl2ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVhY2ggY3VydmUgbWV0IHRoZSBjZW50ZXIgYXQgdGhlIHNhbWUgYW5nbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgcGV0YWwgY29udGFpbmVkIGEgc2VyaWVzIG9mIGZhaW50IHNjcmF0Y2hlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRlcGVuZGluZyBvbiBob3cgS2ltbXkgdGlsdGVkIHRoZSByZWNvcmQsIHRoZSBzY3JhdGNoZXMgcmVzZW1ibGVkIGVpdGhlcgpsZXR0ZXJzIG9yIFJvbWFuIG51bWVyYWxzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBub3RlIGhhZCBiZWVuIHdyaXR0ZW4gYmVuZWF0aCB0aGUgbWFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vc3Qgb2YgdGhlIHNlbnRlbmNlIGhhZCBmYWRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhlbGQgdGhlIHBhZ2UgbmVhciB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlbWFpbmluZyB3b3JkcyBiZWNhbWUgdmlzaWJsZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpOb3QgYW4gaW52aXRhdGlvbi4mbHQ7YnImZ3Q7CkEgd2FybmluZy4mbHQ7YnImZ3Q7CktlZXAgdGhlIGNyb3NzaW5nIGNsb3NlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpc3RvcmljYWwgaGV4YWZvaWwgd2FzIGRlc2NyaWJlZCBhcyBhIHdhcm5pbmcgcmF0aGVyIHRoYW4gYW4gaW52aXRhdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHN5bWJvbCB3YXMgaW50ZW5kZWQgdG8ga2VlcCBhIGNyb3NzaW5nIGNsb3NlZCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1N5bWJvbCBtZWFuaW5nOiZsdDsvc3Ryb25nJmd0OyBBbiBhcmNoaXZlIG5vdGUgaWRlbnRpZmllcyB0aGUgc2l4LXBldGFsZWQKCW1hcmsgYXMgYSB3YXJuaW5nIGludGVuZGVkIHRvIGtlZXAgYSBjcm9zc2luZyBjbG9zZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhhZCBleHBlY3RlZCB0aGUgc3ltYm9sIHRvIGlkZW50aWZ5IGEgY2x1YiwgZmFtaWx5LCBvciBidWlsZGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckluc3RlYWQsIGl0IGlkZW50aWZpZWQgYSBib3VuZGFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBoYWQgYmVlbiBwbGFjZWQgb24gb25lIHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgZWxzZSBoYWQgYmVlbiBrZXB0IG9uIHRoZSBvdGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJ5IGNsb2NrIGNsaWNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSBoYW5kIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRpbWUgcmVhZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0Owo5OjE0CiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBkb3duIGF0IHRoZSBoaXN0b3JpY2FsIHJlY29yZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaXgtcGV0YWxlZCBzeW1ib2wgd2FzIHdldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZGFyayBsaW5lIHNwcmVhZCBvdXR3YXJkIGZyb20gaXQgYWNyb3NzIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUHJvdGVjdCB0aGUgYXJjaGl2ZSByZWNvcmQtJmd0O0tpbW15IFNhdmVzIHRoZSBIaXN0b3JpY2FsIEV2aWRlbmNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDIiIG5hbWU9IktpbW15IENvbmZpcm1zIHRoZSBIaWRkZW4gUGFzc2FnZSIgdGFncz0iIiBwb3NpdGlvbj0iMTUyNSw4MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGhpZGRlbiBwYXNzYWdlIGV4cGxhaW5zIHRoZSBtb3JuaW5nJiMzOTtzIHJlcG9ydHMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBoZXIgaW50ZXJ2aWV3IG5vdGVzIGJlc2lkZSB0aGUgZmxvb3IgcGxhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBtYXJrZWQgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSB3aXRuZXNzIGhhZCBoZWFyZCB0aHJlZSBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcG9pbnQgZmVsbCBkaXJlY3RseSBvdmVyIHRoZSBoaWRkZW4gY29ycmlkb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbWFya2VkIHRoZSBiYXRocm9vbSBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcnJpZG9yIHBhc3NlZCBiZWhpbmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbWFya2VkIHRoZSBicmFzcyB0aHJlc2hvbGQgb3V0c2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3JyaWRvciBlbmRlZCBiZWhpbmQgdGhhdCB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdpdG5lc3MmIzM5O3MgYWNjb3VudCBoYWQgc291bmRlZCBpbXBvc3NpYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZCBmbG9vciBwbGFuIGRpZCBub3QgbWFrZSB0aGUgYWNjb3VudCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IG1hZGUgdGhlIGFjY291bnQgc3RydWN0dXJhbGx5IHBvc3NpYmxlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiBjb3JyaWRvciBjb25uZWN0cyBldmVyeSBsb2NhdGlvbiBkZXNjcmliZWQgYnkgdGhlIGJhdGhyb29tIHdpdG5lc3MmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBY2NvdW50IGNvcnJvYm9yYXRlZDombHQ7L3N0cm9uZyZndDsgVGhlIGhpZGRlbiBjb3JyaWRvciBmb2xsb3dzIHRoZSBzYW1lCglwYXRoIGRlc2NyaWJlZCBieSB0aGUgd2l0bmVzcywgY29ubmVjdGluZyB0aGUgYmF0aHJvb20gd2FsbCB3aXRoIHRoZQoJcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZm9sbG93ZWQgdGhlIGNvcnJpZG9yIGxpbmUgd2l0aCB0aGUgZXJhc2VyIG9mIGhlciBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOZWFyIHRoZSBvZmZpY2UsIHRoZSBsaW5lIHBhc3NlZCB0aHJvdWdoIGEgY2lyY3VsYXIgbWFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNpeCBjdXJ2ZWQgc2VjdGlvbnMgZGl2aWRlZCB0aGUgY2lyY2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBSb21hbiBudW1lcmFsIGhhZCBiZWVuIHdyaXR0ZW4gYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClhJLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlkZGVuIGNvcnJpZG9yIGZsb29yIHBsYW4gaW5jbHVkZXMgYSBoZXhhZm9pbCBtYXJrZWQgWEkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0dWR5IHRoZSBtYXJrZWQgYm91bmRhcnktJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDMiIG5hbWU9IktpbW15IFNhdmVzIHRoZSBIaXN0b3JpY2FsIEV2aWRlbmNlIiB0YWdzPSIiIHBvc2l0aW9uPSIxMjUwLDgxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teVJlY29yZGVkRXZpZGVuY2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IExpYnJhcnkgQXJjaGl2ZSBUYWJsZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmVzZXJ2ZSB0aGUgYXJjaGl2ZSBldmlkZW5jZSBiZWZvcmUgaXQgY2hhbmdlcyBvciBkaXNhcHBlYXJzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBsaWZ0ZWQgdGhlIHJlY29yZCBhd2F5IGZyb20gdGhlIHNwcmVhZGluZyBzdGFpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwYXBlciBmZWx0IGNvbGQgdGhyb3VnaCBoZXIgZmluZ2VydGlwcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBwbGFjZWQgYSBzaGVldCBmcm9tIGhlciB3cml0aW5nIHBhZCBvdmVyIHRoZSBvcmlnaW5hbCBhbmQgdHJhY2VkIGV2ZXJ5CnZpc2libGUgbGluZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YXJuaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIFJvbWFuIG51bWVyYWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZGFyayBsaW5lIGxlYWRpbmcgYXdheSBmcm9tIHRoZSBzeW1ib2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXaGVuIHNoZSBmaW5pc2hlZCwgdGhlIGFyY2hpdmVkIHBhcGVyIGhhZCBiZWNvbWUgZHJ5IGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdhcm5pbmcgYmVuZWF0aCB0aGUgc3ltYm9sIGhhZCB2YW5pc2hlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIGNvcHkgcmVtYWluZWQgdW5jaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0tpbW15IHByZXNlcnZlZCBhIGNvcHkgb2YgdGhlIGFyY2hpdmUgaGV4YWZvaWwgYW5kIGJvdW5kYXJ5IHdhcm5pbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGludmVudG9yeS5LaW1teS5wdXNoVW5pcXVlKCZxdW90O0FyY2hpdmUgaGV4YWZvaWwgdHJhY2luZyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0ludmVudG9yeSB1cGRhdGU6Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15IHByZXNlcnZlZCBhbiBhcmNoaXZlIHRyYWNpbmcgb2YgdGhlCgloZXhhZm9pbCBhbmQgdGhlIHdhcm5pbmcgY29ubmVjdGVkIHdpdGggaXQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSBmb2xkZWQgdGhlIHRyYWNpbmcgb25jZSBhbmQgcGxhY2VkIGl0IGluc2lkZSB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIGN1cmxlZCBvdmVyIHRoZSBmb2xkZWQgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG1vdmVkIHRoZSByaWJib24gYXNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHdvcmQgaGFkIGFwcGVhcmVkIGJlbmVhdGggaXQgb24gdGhlIHdyaXRpbmcgcGFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaGFkIG5vdCB3cml0dGVuIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkJMQUNLV09PRAombHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kQmxhY2t3b29kUmVmZXJlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgbmFtZSBCbGFja3dvb2QgYXBwZWFyZWQgaW5zaWRlIEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UmcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBjbG9zZWQgdGhlIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyeSBiZWxsIHJhbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBsb29rZWQgdXAgZnJvbSB0aGVpciB0YWJsZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIGxvb2tlZCB0b3dhcmQgdGhlIGNsb2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIG5vdCB0aW1lIGZvciB0aGUgYmVsbC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15SGVhcmRXcm9uZ0JlbGwgPSB0cnVlJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIHRoZSB5ZWFyYm9vayBwaG90b2dyYXBoIGJlZm9yZSBsZWF2aW5nLSZndDtLaW1teSBGaW5kcyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDQiIG5hbWU9IktpbW15IEZpbmRzIHRoZSBNaXNzaW5nIEZvbGxvdyBVcCIgdGFncz0iIiBwb3NpdGlvbj0iMTIyNSw4Mzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7TG9jYXRlIGFueSByZXBvcnQgZXhwbGFpbmluZyB0aGUgMTkzOCBjb3JyaWRvciBjbG9zdXJlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBzZWFyY2hlZCBldmVyeSBpc3N1ZSBwdWJsaXNoZWQgYWZ0ZXIgdGhlIGNvcnJpZG9yIGluY2lkZW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZvbGxvd2luZyB3ZWVrJiMzOTtzIG5ld3NwYXBlciB3YXMgbWlzc2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpc3N1ZSBhZnRlciB0aGF0IHJlbWFpbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gYXJ0aWNsZSBtZW50aW9uZWQgdGhlIGNvcnJpZG9yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gY29ycmVjdGlvbiBhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIHJlb3BlbmluZyBub3RpY2UgYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2lsZW5jZSBjb250aW51ZWQgdGhyb3VnaCBldmVyeSBsYXRlciBpc3N1ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWVvbmUgaGFkIHJlbW92ZWQgdGhlIG9ubHkgZWRpdGlvbiBsaWtlbHkgdG8gY29udGFpbiBhIGZvbGxvdy11cC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGV4YW1pbmVkIHRoZSBpbnNpZGUgb2YgdGhlIGFyY2hpdmUgYm94LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzaW5nbGUgc3RyaXAgb2YgbmV3c3ByaW50IGhhZCBjYXVnaHQgYmVuZWF0aCB0aGUgY2FyZGJvYXJkIHNlYW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcHVsbGVkIGl0IGZyZWUgd2l0aCB0aGUgZW5kIG9mIGhlciBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmx5IHBhcnQgb2Ygb25lIHNlbnRlbmNlIHJlbWFpbmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ci4uLnRocmVlIGdpcmxzIHJlbWFpbiB1bmFjY291bnRlZCBmb3IuLi4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhyZWUgZ2lybHMgd2VyZSByZXBvcnRlZGx5IHVuYWNjb3VudGVkIGZvciBhZnRlciB0aGUgMTkzOCBjb3JyaWRvciBpbmNpZGVudCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1JlY292ZXJlZCBmcmFnbWVudDombHQ7L3N0cm9uZyZndDsgQSBzdXJ2aXZpbmcgcG9ydGlvbiBvZiB0aGUgbWlzc2luZwoJZm9sbG93LXVwIGVkaXRpb24gc3RhdGVzIHRoYXQgdGhyZWUgZ2lybHMgcmVtYWluZWQgdW5hY2NvdW50ZWQgZm9yLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgcmV2ZXJzZSBzaWRlIGNvbnRhaW5lZCBwYXJ0IG9mIGFuIGFkdmVydGlzZW1lbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21lb25lIGhhZCBkcmF3biBhIHNpeC1wZXRhbGVkIHN5bWJvbCBhY3Jvc3MgaXQgaW4gZGFyayBpbmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaW5rIHJlbWFpbmVkIHdldC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgc3ltYm9sLSZndDtLaW1teSBFeGFtaW5lcyB0aGUgQXJjaGl2ZSBIZXhhZm9pbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjA1IiBuYW1lPSJLaW1teSBDb21wYXJlcyB0aGUgUGVybWlzc2lvbiBSdWxlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNjI1LDgzMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgMTkzOCB3YXJuaW5nIHJlbWFpbnMgcGFydCBvZiBjdXJyZW50IHNjaG9vbCBwb2xpY3kmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvcGllZCB0aGUgYXJjaGl2ZWQgc2VudGVuY2U6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVXNlIGRlc2lnbmF0ZWQgZW50cmFuY2VzIGFuZCBlbnRlciByZXN0cmljdGVkIGFyZWFzIG9ubHkgd2hlbiBwZXJtaXNzaW9uIGhhcwpiZWVuIGdyYW50ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSBmb3VuZCB0aGUgY3VycmVudCBzdHVkZW50IGhhbmRib29rIG5lYXIgdGhlIGNpcmN1bGF0aW9uIGRlc2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbW9kZXJuIHJ1bGUgc3RhdGVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClN0dWRlbnRzIG11c3QgdXNlIGRlc2lnbmF0ZWQgZW50cmFuY2VzIGFuZCByZW1haW4gaW4gYXV0aG9yaXplZCBhcmVhcy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmQgcGVybWlzc2lvbiBoYWQgYmVlbiByZW1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU28gaGFkIHRoZSBwaHJhc2UgZ3JhbnRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb2Rlcm4gdmVyc2lvbiB0cmVhdGVkIHRoZSBpbnN0cnVjdGlvbiBhcyBvcmRpbmFyeSBzY2hvb2wgcG9saWN5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZGVyIHZlcnNpb24gdHJlYXRlZCBwZXJtaXNzaW9uIGFzIHNvbWV0aGluZyBnaXZlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNoZWNrZWQgaW50ZXJtZWRpYXRlIGhhbmRib29rcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b3JkaW5nIGNoYW5nZWQgaW4gMTk1Mi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgaGFuZHdyaXR0ZW4gbm90ZSBhcHBlYXJlZCBpbiB0aGUgbWFyZ2luIG9mIHRoZSBmaW5hbCBoYW5kYm9vayB1c2luZyB0aGUKb2xkZXIgbGFuZ3VhZ2U6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUGVybWlzc2lvbiBwcm90ZWN0cyBib3RoIHNpZGVzLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgb3JpZ2luYWwgcmVzdHJpY3RlZC1hcmVhIHJ1bGUgcmVxdWlyZWQgcGVybWlzc2lvbiB0byBiZSBncmFudGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBbiBvbGRlciBub3RlIHN0YXRlcyB0aGF0IHBlcm1pc3Npb24gcHJvdGVjdHMgYm90aCBzaWRlcyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaGlzdG9yeTombHQ7L3N0cm9uZyZndDsgVGhlIHNjaG9vbCYjMzk7cyBtb2Rlcm4gYWNjZXNzIHJ1bGUgcmVwbGFjZWQKCW9sZGVyIGxhbmd1YWdlIHN0YXRpbmcgdGhhdCBwZXJtaXNzaW9uIG11c3QgYmUgZ3JhbnRlZCBhbmQgcHJvdGVjdHMgYm90aAoJc2lkZXMgb2YgYSBib3VuZGFyeS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgdW5kZXJsaW5lZCBib3RoIHNpZGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmRpbmcgaW1wbGllZCB0aGF0IHRoZSBzY2hvb2wgd2FzIG5vdCBwcm90ZWN0aW5nIG9ubHkgdGhlIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGFsc28gcHJvdGVjdGluZyBzb21ldGhpbmcgZnJvbSB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBoaXN0b3JpY2FsIHN5bWJvbCBhc3NvY2lhdGVkIHdpdGggdGhlIHJ1bGUtJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDYiIG5hbWU9IktpbW15IERvY3VtZW50cyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoIiB0YWdzPSIiIHBvc2l0aW9uPSIxNzAwLDc5NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teU5vdGljZWRDaGFuZ2VkUGhvdG9ncmFwaCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q3JlYXRlIGFuIGluZGVwZW5kZW50IHJlY29yZCBvZiB0aGUgY2hhbmdpbmcgcGhvdG9ncmFwaCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIGFuZCBkcmV3IGEgcXVpY2sgYXJyYW5nZW1lbnQgb2YgdGhlIGltYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nob29sIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbnR5LWZpdmUgc3R1ZGVudHMgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGZpZ3VyZXMgaW4gdGhlIHVwc3RhaXJzIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtaWRkbGUgZmlndXJlIGZhY2luZyBmb3J3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZmluaXNoZWQgdGhlIHNrZXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBsb29rZWQgYXQgdGhlIHBob3RvZ3JhcGggYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmx5IHR3byBmaWd1cmVzIHJlbWFpbmVkIGluIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjaGVja2VkIGhlciBkcmF3aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgY2hlY2tlZCB0aGUgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3by4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0aGlyZCBmaWd1cmUgaGFkIG5vdCB2YW5pc2hlZCBlbnRpcmVseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcGFsZSBvdXRsaW5lIGFwcGVhcmVkIG5lYXIgdGhlIGVkZ2Ugb2YgdGhlIGltYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgc3Rvb2Qgb3V0c2lkZSB0aGUgc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQ2xvc2VyIHRvIHRoZSBjYW1lcmEuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtLaW1teSYjMzk7cyBpbmRlcGVuZGVudCBza2V0Y2ggY29uZmlybXMgdGhhdCBhIGZpZ3VyZSBtb3ZlZCB3aXRoaW4gdGhlIDE5MzggcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0RvY3VtZW50ZWQgc3VwZXJuYXR1cmFsIGNoYW5nZTombHQ7L3N0cm9uZyZndDsgS2ltbXkmIzM5O3Mgbm90ZXMgcHJlc2VydmUgdGhlCglvcmlnaW5hbCBhcnJhbmdlbWVudCwgcHJvdmluZyB0aGF0IG9uZSBvZiB0aGUgdGhyZWUgZmlndXJlcyBtb3ZlZCBmcm9tIHRoZQoJc2Nob29sIHdpbmRvdyB0b3dhcmQgdGhlIGNhbWVyYS4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSBleGFtaW5pbmcgdGhlIHBob3RvZ3JhcGgtJmd0O0tpbW15IEFyY2hpdmUgUmV2ZWxhdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjA3IiBuYW1lPSJLaW1teSBGaW5kcyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoIiB0YWdzPSIiIHBvc2l0aW9uPSIxMjUwLDgyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kT2xkUGhvdG9ncmFwaCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RXhhbWluZSB0aGUgcGhvdG9ncmFwaCBsZWZ0IG9uIHRoZSBhcmNoaXZlIHRhYmxlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpBIGxvb3NlIHBob3RvZ3JhcGggbGF5IG9uIHRoZSB0YWJsZSBiZXNpZGUgS2ltbXkmIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGhhZCBub3QgYmVlbiB0aGVyZSB3aGVuIHNoZSBzYXQgZG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlZGdlcyBoYWQgY3VybGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGltYWdlIHNob3dlZCB0aGUgZnJvbnQgb2YgYW4gb2xkZXIgc2Nob29sIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbnR5LWZpdmUgc3R1ZGVudHMgc3Rvb2Qgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGdpcmxzIHN0b29kIGluIGFuIHVwc3RhaXJzIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc2l4LXBldGFsZWQgc3ltYm9sIGhhZCBiZWVuIGRyYXduIG9uIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHR1cm5lZCB0aGUgcGhvdG9ncmFwaCBvdmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkYXRlIGhhZCBiZWVuIHdyaXR0ZW4gb24gdGhlIGJhY2s6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKU2VwdGVtYmVyIDUsIDE5MzgKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQmVuZWF0aCB0aGUgZGF0ZSB3ZXJlIHRocmVlIG5hbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV2F0ZXIgZGFtYWdlIGhhZCBlcmFzZWQgbW9zdCBvZiB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSBmcmFnbWVudHMgcmVtYWluZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTFVDLi4uJmx0O2JyJmd0OwpNQVIuLi4mbHQ7YnImZ3Q7CkVMLi4uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJldHVybmVkIHRoZSBwaG90b2dyYXBoIGZhY2V1cC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtaWRkbGUgZ2lybCB3YXMgbm8gbG9uZ2VyIGxvb2tpbmcgdG93YXJkIHRoZSBjYW1lcmEuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgd2FzIGxvb2tpbmcgZGlyZWN0bHkgYXQgS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtpbW15IHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0NvcHkgdGhlIHBob3RvZ3JhcGgmIzM5O3MgYXJyYW5nZW1lbnQgYmVmb3JlIGl0IGNoYW5nZXMgYWdhaW4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC52ZXJpZnkgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IERvY3VtZW50cyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtUdXJuIHRoZSBwaG90b2dyYXBoIG92ZXIgYW5kIGluc3BlY3QgdGhlIGRhbWFnZWQgbmFtZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgU3R1ZGllcyB0aGUgRGFtYWdlZCBOYW1lcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2F0Y2ggdGhlIGdpcmwgaW4gdGhlIHBob3RvZ3JhcGggd2l0aG91dCBsb29raW5nIGF3YXkuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBXYXRjaGVzIHRoZSBQaG90b2dyYXBoJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIwOCIgbmFtZT0iS2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uIiB0YWdzPSIiIHBvc2l0aW9uPSIxNzAwLDgxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBMaWJyYXJ5IEFyY2hpdmUgVGFibGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIHdoYXQgdGhlIGhpc3RvcmljYWwgZXZpZGVuY2UgbWVhbnMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFycmFuZ2VkIHRoZSBldmlkZW5jZSBpbiBmcm9udCBvZiBoZXIuCiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJGtpbW15RmFjdHMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlDb25maXJtZWQgZmFjdHMgb24gdGhlIGxlZnQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgJGtpbW15TGVhZHMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlVbnZlcmlmaWVkIGxlYWRzIG9uIHRoZSByaWdodC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY2hvb2wgaGFkIG9uY2UgY29udGFpbmVkIGEgcGFzc2FnZSBjb25uZWN0aW5nIHRoZSBiYXRocm9vbSBhcmVhIHdpdGggdGhlCnByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNpeC1wZXRhbGVkIHN5bWJvbCBtYXJrZWQgYSBib3VuZGFyeSB3aXRoaW4gdGhhdCBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzdG9yaWNhbCBpbnN0cnVjdGlvbnMgcmVxdWlyZWQgcGVybWlzc2lvbiBiZWZvcmUgY3Jvc3NpbmcgcmVzdHJpY3RlZAphcmVhcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGZpZ3VyZXMgYXBwZWFyZWQgaW4gYW4gb2xkIHNjaG9vbCBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBob3RvZ3JhcGggZGlkIG5vdCByZW1haW4gdW5jaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5kIHRoZSBuYW1lIEJsYWNrd29vZCBoYWQgYXBwZWFyZWQgaW5zaWRlIEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZXZpZGVuY2Ugc3VwcG9ydGVkIHNldmVyYWwgcG9zc2libGUgY29uY2x1c2lvbnMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSByZWNvcmQgYXMgaGVyIHdvcmtpbmcgdGhlb3J5PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUaGUgc3ltYm9scyB3ZXJlIGRlc2lnbmVkIHRvIHByZXZlbnQgc29tZXRoaW5nIGZyb20gY3Jvc3NpbmcuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlUaGVvcnkgPSAmcXVvdDtUaGUgc2l4LXBldGFsZWQgc3ltYm9scyB3ZXJlIGRlc2lnbmVkIHRvIHByZXZlbnQgc29tZXRoaW5nIGZyb20gY3Jvc3NpbmcmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUmVjb3JkcyB0aGUgQXJjaGl2ZSBUaGVvcnkmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1RoZSBzY2hvb2wgcmVtb3ZlZCByZWNvcmRzIG9mIHRocmVlIG1pc3NpbmcgZ2lybHMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlUaGVvcnkgPSAmcXVvdDtUaGUgc2Nob29sIGRlbGliZXJhdGVseSByZW1vdmVkIHJlY29yZHMgY29ubmVjdGVkIHdpdGggdGhyZWUgbWlzc2luZyBnaXJscyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlY29yZHMgdGhlIEFyY2hpdmUgVGhlb3J5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtUaGUgcGhvdG9ncmFwaCBpcyBkaXJlY3RpbmcgS2ltbXkgdG93YXJkIGEgaGlkZGVuIHNjaG9vbCBwYXNzYWdlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7VGhlIGNoYW5naW5nIHBob3RvZ3JhcGggaXMgZGlyZWN0aW5nIEtpbW15IHRvd2FyZCB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlY29yZHMgdGhlIEFyY2hpdmUgVGhlb3J5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtTb21lb25lIGNvbm5lY3RlZCB3aXRoIEJsYWNrd29vZCBpcyBjaGFuZ2luZyB0aGUgZXZpZGVuY2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlUaGVvcnkgPSAmcXVvdDtTb21lb25lIGNvbm5lY3RlZCB3aXRoIEJsYWNrd29vZCBpcyBjaGFuZ2luZyB0aGUgZXZpZGVuY2UgYXMgS2ltbXkgZXhhbWluZXMgaXQmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUmVjb3JkcyB0aGUgQXJjaGl2ZSBUaGVvcnkmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjA5IiBuYW1lPSJLaW1teSBTdHVkaWVzIHRoZSBEYW1hZ2VkIE5hbWVzIiB0YWdzPSIiIHBvc2l0aW9uPSI3NTAsODQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlY292ZXIgdGhlIG5hbWVzIHdyaXR0ZW4gYmVoaW5kIHRoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFuZ2xlZCB0aGUgYmFjayBvZiB0aGUgcGhvdG9ncmFwaCBiZW5lYXRoIHRoZSBsaWJyYXJ5IGxhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlyc3QgZnJhZ21lbnRzIHJlbWFpbmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkxVQy4uLiZsdDticiZndDsKTUFSLi4uJmx0O2JyJmd0OwpFTC4uLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTaGUgcGxhY2VkIGEgc2hlZXQgb2YgcGFwZXIgb3ZlciB0aGUgd3JpdGluZyBhbmQgcnViYmVkIHRoZSBzaWRlIG9mIGhlciBwZW5jaWwKYWNyb3NzIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5kZW50ZWQgbGV0dGVycyBiZWdhbiBhcHBlYXJpbmcgb24gS2ltbXkmIzM5O3MgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaXJzdCBuYW1lIHJlc29sdmVkIG1vc3QgY2xlYXJseToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpMVUNJTExFCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlciB0d28gcmVtYWluZWQgaW5jb21wbGV0ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggdGhlIG5hbWVzIHdhcyBhIGZvdXJ0aCBpbXByZXNzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGEgbmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgd2FybmluZy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpETyBOT1QgTEVUIExVQ1kgQ1JPU1MuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGggaWRlbnRpZmllcyBvbmUgZmlndXJlIGFzIEx1Y2lsbGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0EgaGlkZGVuIHdhcm5pbmcgc3RhdGVzIHRoYXQgTHVjeSBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIGNyb3NzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UmVjb3ZlcmVkIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFdyaXRpbmcgaW1wcmVzc2VkIGludG8gdGhlIHBob3RvZ3JhcGgKCWlkZW50aWZpZXMgb25lIGZpZ3VyZSBhcyBMdWNpbGxlIGFuZCB3YXJucywg4oCcRG8gbm90IGxldCBMdWN5IGNyb3NzLuKAnQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgdGhlIGZyb250IG9mIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1pZGRsZSBmaWd1cmUgaGFkIG1vdmVkIGNsb3NlciB0byB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdHMgaGFuZCByZXN0ZWQgYWdhaW5zdCB0aGUgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGV4YW1pbmluZyB0aGUgcGhvdG9ncmFwaC0mZ3Q7S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTAiIG5hbWU9IktpbW15IFdhdGNoZXMgdGhlIFBob3RvZ3JhcGgiIHRhZ3M9IiIgcG9zaXRpb249IjIyNSw4MzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2ltbXlOb3RpY2VkQ2hhbmdlZFBob3RvZ3JhcGggPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O09ic2VydmUgdGhlIHBob3RvZ3JhcGggd2l0aG91dCBpbnRlcnJ1cHRpbmcgdGhlIGNoYW5nZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkga2VwdCBoZXIgZXllcyBvbiB0aGUgbWlkZGxlIGZpZ3VyZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdGhpbmcgbW92ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGaXZlIHNlY29uZHMgcGFzc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiB0ZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyeSBjb250aW51ZWQgYXJvdW5kIGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBhZ2VzIHR1cm5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY2hhaXIgc2NyYXBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gc3RhbXBlZCBhbm90aGVyIHJldHVybiBjYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zaWRlIHRoZSBwaG90b2dyYXBoLCB0aGUgbWlkZGxlIGZpZ3VyZSBsb3dlcmVkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1vdmVtZW50IHdhcyBzbG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU21hbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbXBvc3NpYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSByYWlzZWQgb25lIGZpbmdlciBhbmQgcG9pbnRlZCBkb3dud2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGZvbGxvd2VkIHRoZSBkaXJlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmluZ2VyIHBvaW50ZWQgdG93YXJkIHRoZSBzdHVkZW50cyBnYXRoZXJlZCBvdXRzaWRlIHRoZSBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc3R1ZGVudCBoYWQgYmVlbiBtYXJrZWQgd2l0aCBhIHNtYWxsIGNpcmNsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBpbnNpZGUgdGhlIGNpcmNsZSBjYXJyaWVkIGEgbGVhdGhlciBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSB5ZWxsb3cgcmliYm9uIGV4dGVuZGVkIGZyb20gYmVuZWF0aCBpdHMgY2xhc3AuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2FzZSBsb29rZWQgZXhhY3RseSBsaWtlIEtpbW15JiMzOTtzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIG1vdmluZyBwaG90b2dyYXBoIGNvbnRhaW5zIGEgc3R1ZGVudCBjYXJyeWluZyBLaW1teSYjMzk7cyByZXBvcnRlciYjMzk7cyBjYXNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtLaW1teSYjMzk7cyByZXBvcnRlciYjMzk7cyBjYXNlIG1heSBoYXZlIGJlbG9uZ2VkIHRvIHNvbWVvbmUgY29ubmVjdGVkIHdpdGggdGhlIDE5MzggaW5jaWRlbnQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQZXJzb25hbCBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBBIHN0dWRlbnQgaW4gdGhlIDE5MzggcGhvdG9ncmFwaCBpcwoJY2FycnlpbmcgdGhlIHNhbWUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgeWVsbG93IHJpYmJvbiBub3cgb3duZWQgYnkgS2ltbXkuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgZXhhbWluaW5nIHRoZSBwaG90b2dyYXBoLSZndDtLaW1teSBBcmNoaXZlIFJldmVsYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxMSIgbmFtZT0iS2ltbXkgUmVjb3JkcyB0aGUgQXJjaGl2ZSBUaGVvcnkiIHRhZ3M9IiIgcG9zaXRpb249IjE3MDAsODQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15UmVjb3JkZWRFdmlkZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SW52ZXN0aWdhdGUgdGhlIG1vZGVybiBoYWxsd2F5IGNvbm5lY3RlZCB3aXRoIHRoZSBoaXN0b3JpY2FsIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7V29ya2luZyB0aGVvcnk6Jmx0Oy9zdHJvbmcmZ3Q7ICRraW1teVRoZW9yeS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSB0aGVvcnkgd2FzIG5vdCBhIGZhY3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCB3YXMgYSBkaXJlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkcmV3IGEgYm94IGFyb3VuZCB0aGUgbmV4dCBzdGVwOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkV4YW1pbmUgdGhlIG1vZGVybiB3YWxsIHdoZXJlIHRoZSBoaWRkZW4gcGFzc2FnZSBzaG91bGQgYmVnaW4uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSBjbG9zZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyeSBiZWxsIHJhbmcgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdGlsbCB0b28gZWFybHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudHMgYXQgdGhlIGZyb250IHRhYmxlcyBsb29rZWQgYXJvdW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiByZW1haW5lZCBiZWhpbmQgdGhlIGRlc2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIGRpZCBub3QgbG9vayBhdCB0aGUgY2xvY2sgdGhpcyB0aW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBsb29rZWQgZGlyZWN0bHkgYXQgS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21lIHJlY29yZHMsJnF1b3Q7IHRoZSBsaWJyYXJpYW4gc2FpZCwgJnF1b3Q7d2VyZSByZW1vdmVkIGZvciBhIHJlYXNvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0b29kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIHJlbW92ZWQgdGhlbT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gcHJlc3NlZCB0aGUgc3RhbXAgaW50byB0aGUgaW5rIHBhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvbWVvbmUgd2hvIGJlbGlldmVkIHJlbW92aW5nIGEgcmVjb3JkIHdhcyB0aGUgc2FtZSBhcyBjaGFuZ2luZyB3aGF0CmhhcHBlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2FzIGl0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBzdGFtcGVkIHRoZSByZXR1cm4gY2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRnJvbSBpbnNpZGUgdGhlIHdhbGwgYmVoaW5kIHRoZSBoaXN0b3J5IHNoZWx2ZXMgY2FtZSB0aHJlZSBzbG93IGtub2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IHRoZSBzb3VuZCBpbnRvIHRoZSBoYWxsd2F5LSZndDtLaW1teSBDaG9vc2VzIHRoZSBIYWxsd2F5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTIiIG5hbWU9IktpbW15IENob29zZXMgdGhlIEhhbGx3YXkiIHRhZ3M9IiIgcG9zaXRpb249IjE1NTAsODYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15RXhhbWluZWRIYWxsd2F5ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7TG9jYXRlIHRoZSBoaWRkZW4gcGFzc2FnZSBzaG93biBpbiB0aGUgaGlzdG9yaWNhbCByZWNvcmRzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBsZWZ0IHRoZSBsaWJyYXJ5IGFuZCBmb2xsb3dlZCB0aGUgZWFzdCBoYWxsd2F5IHRvd2FyZCB0aGUgYm95cyYjMzk7CmJhdGhyb29tLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpcnN0LXBlcmlvZCBiZWxsIGhhZCBhbHJlYWR5IHJ1bmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IGNsYXNzcm9vbSBkb29ycyB3ZXJlIGNsb3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRlYWNoZXJzIHNwb2tlIGJlaGluZCBwYWludGVkIGNpbmRlci1ibG9jayB3YWxscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBlbmNpbHMgc2NyYXRjaGVkIGFjcm9zcyBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNoYWlycyBzaGlmdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT3JkaW5hcnkgc2Nob29sIHNvdW5kcyBmaWxsZWQgdGhlIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY291bnRlZCBkb29yd2F5cyBhcyBzaGUgd2Fsa2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTGlicmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0b3JhZ2UgY2xvc2V0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRHJpbmtpbmcgZm91bnRhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCb3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBY2NvcmRpbmcgdG8gdGhlIG9sZCBmbG9vciBwbGFuLCB0aGUgaGlkZGVuIHBhc3NhZ2UgYmVnYW4gYmVoaW5kIHRoZSB3YWxsCmJldHdlZW4gdGhlIGJhdGhyb29tIGFuZCB0aGUgc3RvcmFnZSBjbG9zZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBhcHBlYXJlZCBzb2xpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBibG9ja3MgaGFkIGJlZW4gcGFpbnRlZCB0aGUgc2FtZSBwYWxlIGdyZWVuIGFzIHRoZSByZXN0IG9mIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjb3JrIGJ1bGxldGluIGJvYXJkIGNvdmVyZWQgcGFydCBvZiB0aGUgc3VyZmFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdGhpbmcgc3VnZ2VzdGVkIGEgcGFzc2FnZSBoYWQgZXZlciBleGlzdGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUludGVydmlld2VkU3R1ZGVudCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgd2l0bmVzcyBjbGFpbWVkIHRocmVlIGtub2NrcyBoYWQgY29tZSBmcm9tIGluc2lkZSB0aGlzIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJS2ltbXkgcGxhY2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIHBhaW50ZWQgYmxvY2tzLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBzdXJmYWNlIGZlbHQgY29sZGVyIG5lYXIgdGhlIGZsb29yLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFyY2hpdmUgZXZpZGVuY2UgcGxhY2VkIGEgaGlkZGVuIGNvcnJpZG9yIHNvbWV3aGVyZSBiZWhpbmQgdGhlc2UKCQlibG9ja3MuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJS2ltbXkgcGxhY2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHBhaW50IGZlbHQgY29sZC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBzaGlmdGVkIGluc2lkZSB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIHNsaXBwZWQgdGhyb3VnaCB0aGUgZ2FwIGJlbmVhdGggdGhlIGNsYXNwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXRzIGZhZGVkIGVuZCBwb2ludGVkIHRvd2FyZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcDwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjEzIiBuYW1lPSJLaW1teSBFeGFtaW5lcyBCZWhpbmQgdGhlIEJ1bGxldGluIEJvYXJkIiB0YWdzPSIiIHBvc2l0aW9uPSI5MDAsODU1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0luc3BlY3QgdGhlIGNvdmVyZWQgc2VjdGlvbiBvZiB0aGUgaGFsbHdheSB3YWxsJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSByZW1vdmVkIHRoZSB0aHVtYnRhY2tzIG9uZSBhdCBhIHRpbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMdW5jaCBtZW51cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkxpYnJhcnkgbm90aWNlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcG9zdGVyIHJlbWluZGluZyBzdHVkZW50cyB0aGF0IGdvb2QgYXR0ZW5kYW5jZSB3YXMgZXZlcnlvbmUmIzM5O3MKcmVzcG9uc2liaWxpdHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZWhpbmQgdGhlIG5vdGljZXMsIHRoZSBjb3JrIGhhZCBkYXJrZW5lZCB3aXRoIGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxpZnRlZCB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBuYXJyb3cgc2VhbSByYW4gdmVydGljYWxseSB0aHJvdWdoIHRoZSBwYWludGVkIGJsb2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzZWFtIGNvbnRpbnVlZCBiZWhpbmQgdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIHRvbyBzdHJhaWdodCB0byBiZSBhIGNyYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZm9sbG93ZWQgaXQgd2l0aCBvbmUgZmluZ2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTmVhciB0aGUgZmxvb3IsIHRoZSBzZWFtIHR1cm5lZCBhdCBhIHJpZ2h0IGFuZ2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkb29yd2F5IGhhZCBiZWVuIHBhaW50ZWQgb3Zlci4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0EgZG9vcndheS1zaXplZCBzZWFtIHJlbWFpbnMgYmVoaW5kIHRoZSBlYXN0LWhhbGwgYnVsbGV0aW4gYm9hcmQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQaHlzaWNhbCBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgQSByZWN0YW5ndWxhciBzZWFtIGJlaGluZCB0aGUgYnVsbGV0aW4KCWJvYXJkIG1hcmtzIHRoZSBsb2NhdGlvbiBvZiBhIHNlYWxlZCBkb29yd2F5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpBIHJvdW5kIGRlcHJlc3Npb24gYXBwZWFyZWQgbmVhciB0aGUgY2VudGVyIG9mIHRoZSBoaWRkZW4gZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNpeCBzaGFsbG93IGN1cnZlcyBkaXZpZGVkIHRoZSBjaXJjbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IGhhZCBiZWVuIGZpbGxlZCB3aXRoIHBhaW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHJlbWFpbmVkIGV4cG9zZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd28gdGhpbiBjdXRzIGNyb3NzZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUkuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRIaXN0b3JpY2FsU3ltYm9sID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgc2VhbGVkIGhhbGx3YXkgZG9vcndheSBiZWFycyBhIGhleGFmb2lsIG1hcmtlZCBJSSZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgYmVnYW4gc2tldGNoaW5nIHRoZSBtYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlbmNpbCBwb2ludCB0b3VjaGVkIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZyb20gaW5zaWRlIHRoZSB3YWxsIGNhbWUgYSBzb2Z0IHNjcmFwZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGlzdGVuIGF0IHRoZSBzZWFsZWQgZG9vcndheS0mZ3Q7S2ltbXkgTGlzdGVucyBCZWhpbmQgdGhlIFdhbGxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxNCIgbmFtZT0iS2ltbXkgTGlzdGVucyBCZWhpbmQgdGhlIFdhbGwiIHRhZ3M9IiIgcG9zaXRpb249IjgyNSw4NzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIHNvdW5kIG1vdmluZyBpbnNpZGUgdGhlIGhpZGRlbiBwYXNzYWdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBwbGFjZWQgb25lIGVhciBuZWFyIHRoZSBwYWludGVkIHNlYW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCB3YXMgY29sZGVyIHRoYW4gYmVmb3JlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQXQgZmlyc3Qgc2hlIGhlYXJkIG9ubHkgdGhlIGRpc3RhbnQgYnVpbGRpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXYXRlciBtb3ZpbmcgdGhyb3VnaCBwaXBlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY2xhc3Nyb29tIGNoYWlyIHNjcmFwaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGh1bSBvZiBmbHVvcmVzY2VudCBsaWdodHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGFub3RoZXIgc291bmQgZW1lcmdlZCBiZW5lYXRoIHRoZW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb290c3RlcHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTbG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTGlnaHQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBcHByb2FjaGluZyBmcm9tIHNvbWV3aGVyZSBiZWhpbmQgdGhlIGJhdGhyb29tLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY291bnRlZCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm9vdHN0ZXBzIHN0b3BwZWQgZGlyZWN0bHkgYmVoaW5kIHRoZSBoaWRkZW4gZG9vcndheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgdm9pY2Ugd2hpc3BlcmVkIGZyb20gdGhlIG90aGVyIHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IGJyaW5nIGl0IGJhY2s/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdm9pY2Ugc291bmRlZCB5b3VuZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGtlcHQgaGVyIG1vdXRoIGNsb3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSB0cmllZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0x1Y2lsbGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIHlvdW5nIHZvaWNlIGJlaGluZCB0aGUgc2VhbGVkIHBhc3NhZ2UgYXNrZWQgZm9yIEx1Y2lsbGUmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtWb2ljZSBiZWhpbmQgdGhlIGJvdW5kYXJ5OiZsdDsvc3Ryb25nJmd0OyBBIHlvdW5nIHZvaWNlIGluc2lkZSB0aGUgaGlkZGVuCglwYXNzYWdlIGFza2VkIHdoZXRoZXIgc29tZXRoaW5nIGhhZCBiZWVuIHJldHVybmVkLCB0aGVuIGNhbGxlZCBmb3IgTHVjaWxsZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgY2xpY2tlZCBvcGVuIGJ5IGl0c2VsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIHNsaWQgYWNyb3NzIHRoZSB3cml0aW5nIHBhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBlbmQgdG91Y2hlZCB0aGUgc2VhbGVkIGRvb3J3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtpbW15IHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aGF0IG5lZWRzIHRvIGJlIHJldHVybmVkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBRdWVzdGlvbnMgdGhlIEhpZGRlbiBWb2ljZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RG8gbm90IGFuc3dlcjsgcmVjb3JkIHRoZSBleGFjdCB3b3JkaW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBIaWRkZW4gVm9pY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aG8gTHVjaWxsZSBpcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBBc2tzIEFib3V0IEx1Y2lsbGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1B1bGwgdGhlIHllbGxvdyByaWJib24gYXdheSBmcm9tIHRoZSBkb29yd2F5LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZXRyaWV2ZXMgdGhlIFllbGxvdyBSaWJib24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjE1IiBuYW1lPSJLaW1teSBNZWFzdXJlcyB0aGUgSGlkZGVuIFBhc3NhZ2UiIHRhZ3M9IiIgcG9zaXRpb249IjEyMDAsODYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ZlcmlmeSB3aGV0aGVyIHRoZSBtb2Rlcm4gaGFsbHdheSBjb25jZWFscyB0aGUgYXJjaGl2ZWQgcGFzc2FnZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3Rvb2QgYXQgdGhlIGxpYnJhcnkgZG9vcndheSBhbmQgY291bnRlZCBmbG9vciB0aWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3ZW50eS10d28gdGlsZXMgdG8gdGhlIGRyaW5raW5nIGZvdW50YWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZW4gbW9yZSB0byB0aGUgYmF0aHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIHRvIHRoZSBzdG9yYWdlIGNsb3NldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBjb21wYXJlZCB0aGUgY291bnQgd2l0aCB0aGUgc2NhbGUgb24gdGhlIG9sZCBmbG9vciBwbGFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZpc2libGUgaGFsbHdheSB3YXMgdG9vIHNob3J0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGJ5IG11Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBcHByb3hpbWF0ZWx5IGZvdXIgZmVldCBvZiBpbnRlcmlvciBzcGFjZSB3YXMgbWlzc2luZyBiZXR3ZWVuIHRoZSBiYXRocm9vbQphbmQgc3RvcmFnZSBjbG9zZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBtZWFzdXJlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZXN1bHQgZGlkIG5vdCBjaGFuZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2Nob29sIGNvbnRhaW5lZCBhbiBlbmNsb3NlZCBzcGFjZSB0aGF0IGRpZCBub3QgYXBwZWFyIGluIHRoZSBtb2Rlcm4KbGF5b3V0LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGVhc3QgaGFsbHdheSBtZWFzdXJlbWVudHMgY29uY2VhbCBhcHByb3hpbWF0ZWx5IGZvdXIgZmVldCBvZiBpbnRlcmlvciBzcGFjZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1N0cnVjdHVyYWwgY29uZmlybWF0aW9uOiZsdDsvc3Ryb25nJmd0OyBNb2Rlcm4gaGFsbHdheSBtZWFzdXJlbWVudHMgcmV2ZWFsCglhbiBlbmNsb3NlZCBzcGFjZSB3aGVyZSB0aGUgaGlzdG9yaWNhbCBmbG9vciBwbGFuIHNob3dzIHRoZSBwYXNzYWdlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBwbGFjZWQgaGVyIHBhbG0gYWdhaW5zdCB0aGUgY2VudGVyIG9mIHRoZSBtaXNzaW5nIHNwYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdhbGwgdmlicmF0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgY29udGludW91c2x5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgc2VwYXJhdGUgcHVsc2VzIHByZXNzZWQgYWdhaW5zdCBoZXIgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJlbW92ZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdmlicmF0aW9uIHN0b3BwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgdG91Y2hlZCB0aGUgd2FsbCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIG1vcmUgcHVsc2VzIGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ck5vdCBzZXR0bGluZy4mbHQ7YnImZ3Q7Ck5vdCBwbHVtYmluZy4mbHQ7YnImZ3Q7CkEgcmVzcG9uc2UuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBjb25jZWFsZWQgd2FsbCByZXNwb25kZWQgdG8gS2ltbXkmIzM5O3MgdG91Y2ggd2l0aCB0aHJlZSBkaXN0aW5jdCBwdWxzZXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1NlYXJjaCBmb3IgdGhlIHNlYWxlZCBlbnRyYW5jZS0mZ3Q7S2ltbXkgRXhhbWluZXMgQmVoaW5kIHRoZSBCdWxsZXRpbiBCb2FyZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjE2IiBuYW1lPSJLaW1teSBLbm9ja3Mgb24gdGhlIEhpZGRlbiBXYWxsIiB0YWdzPSIiIHBvc2l0aW9uPSIzNTAsODY3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1Rlc3Qgd2hldGhlciB0aGUgaGlkZGVuIHBhc3NhZ2UgcmVzcG9uZHMgdG8gdGhlIHRocmVlLWtub2NrIHBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBrbm9ja2VkIHRocmVlIHRpbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2xvd2x5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNvdW5kIHRyYXZlbGVkIHRocm91Z2ggdGhlIGNpbmRlciBibG9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaWxlbmNlIHJldHVybmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90aGluZyBhbnN3ZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5kIHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRocmVlLWtub2NrIHBhdHRlcm4gcHJvZHVjZWQgbm8gaW1tZWRpYXRlIHJlc3BvbnNlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgcGVuY2lsIHJlYWNoZWQgdGhlIGZpbmFsIHdvcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgYW4gZWNoby4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByaHl0aG0gd2FzIHNsb3dlciB0aGFuIEtpbW15JiMzOTtzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBhdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGxvbmdlciBwYXVzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJ1bGxldGluIGJvYXJkIHNoaWZ0ZWQgc2xpZ2h0bHkgYXdheSBmcm9tIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiBwYXNzYWdlIGFuc3dlcmVkIEtpbW15JiMzOTtzIHRocmVlIGtub2NrcyB3aXRoIGEgZGlmZmVyZW50IHRocmVlLWtub2NrIHJoeXRobSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0RpcmVjdCByZXNwb25zZTombHQ7L3N0cm9uZyZndDsgU29tZXRoaW5nIGluc2lkZSB0aGUgc2VhbGVkIHBhc3NhZ2UKCWFuc3dlcmVkIEtpbW15JiMzOTtzIGtub2NrIGFuZCBkaXN0dXJiZWQgdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IGtub2NrIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUmVwZWF0aW5nIGFuIGV4cGVyaW1lbnQgd2FzIHVzZWZ1bCBvbmx5IHdoZW4gdGhlIGV4cGVyaW1lbnQgd2FzIG5vdCBhbHNvCmxlYXJuaW5nIGFib3V0IHRoZSBwZXJzb24gcGVyZm9ybWluZyBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSW5zcGVjdCB0aGUgd2FsbCBiZWhpbmQgdGhlIGJ1bGxldGluIGJvYXJkLSZndDtLaW1teSBFeGFtaW5lcyBCZWhpbmQgdGhlIEJ1bGxldGluIEJvYXJkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTciIG5hbWU9IktpbW15IFRlc3RzIHRoZSBIZXhhZm9pbCBUcmFjaW5nIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTUwLDg4MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtUZXN0IHRoZSBhcmNoaXZlIHRyYWNpbmcgYWdhaW5zdCB0aGUgY29uY2VhbGVkIGJvdW5kYXJ5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSByZW1vdmVkIHRoZSBmb2xkZWQgdHJhY2luZyBmcm9tIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcGllZCBoZXhhZm9pbCByZW1haW5lZCB2aXNpYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU28gZGlkIHRoZSB3YXJuaW5nOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ck5vdCBhbiBpbnZpdGF0aW9uLiZsdDticiZndDsKQSB3YXJuaW5nLiZsdDticiZndDsKS2VlcCB0aGUgY3Jvc3NpbmcgY2xvc2VkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBoZWxkIHRoZSB0cmFjaW5nIGFnYWluc3QgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFwZXIgYWRoZXJlZCB0byB0aGUgcGFpbnRlZCBibG9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcmVsZWFzZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCByZW1haW5lZCBpbiBwbGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoYWxsd2F5IGxpZ2h0cyBkaW1tZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNvbGQgbGluZSB0cmF2ZWxlZCB0aHJvdWdoIHRoZSB3YWxsIGJlaGluZCB0aGUgcGFwZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY29waWVkIHN5bWJvbCBkYXJrZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvciBvbmUgc2Vjb25kLCB0aGUgc2l4IHBldGFscyBhcHBlYXJlZCBjdXQgZGlyZWN0bHkgaW50byB0aGUgcGFpbnRlZApjaW5kZXIgYmxvY2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiB0aGUgcGFwZXIgZmVsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNhdWdodCBpdCBiZWZvcmUgaXQgcmVhY2hlZCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3JpZ2luYWwgd2FybmluZyBoYWQgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpBIHdhcm5pbmcgY2FuIGJlY29tZSBhbiBpbnZpdGF0aW9uLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgYXJjaGl2ZSB0cmFjaW5nIHJldmVhbGVkIHRoZSBoaWRkZW4gYm91bmRhcnkgaW5zaWRlIHRoZSBlYXN0LWhhbGwgd2FsbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIGFyY2hpdmUgd2FybmluZyBjaGFuZ2VkIGFmdGVyIGNvbnRhY3Qgd2l0aCB0aGUgc2VhbGVkIHBhc3NhZ2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtCb3VuZGFyeSByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGFyY2hpdmUgaGV4YWZvaWwgcmV2ZWFsZWQgdGhlCgljb25jZWFsZWQgZW50cmFuY2UsIHRoZW4gY2hhbmdlZCBpdHMgd2FybmluZyBhZnRlciB0b3VjaGluZyB0aGUgd2FsbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSB0aGluIHJlY3Rhbmd1bGFyIG91dGxpbmUgYXBwZWFyZWQgYmVoaW5kIHRoZSBidWxsZXRpbiBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgcmV2ZWFsZWQgZG9vcndheS0mZ3Q7S2ltbXkgRXhhbWluZXMgQmVoaW5kIHRoZSBCdWxsZXRpbiBCb2FyZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjE4IiBuYW1lPSJLaW1teSBRdWVzdGlvbnMgdGhlIEhpZGRlbiBWb2ljZSIgdGFncz0iIiBwb3NpdGlvbj0iNTUwLDg3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hhdCB0aGUgaGlkZGVuIHZvaWNlIHdhbnRzIHJldHVybmVkJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IG5lZWRzIHRvIGJlIHJldHVybmVkPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlciB2b2ljZSByZW1haW5lZCBzdGVhZHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm9vdHN0ZXBzIGJlaGluZCB0aGUgd2FsbCBtb3ZlZCBhd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHN0ZXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd28uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZXkgaHVycmllZCBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHBpY3R1cmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IHBpY3R1cmU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgb25lIHRoYXQgZmVsbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIHBlbmNpbCBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCBoZWFyZCBubyByZXBvcnQgYWJvdXQgYSBmYWxsZW4gcGljdHVyZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZXJlIGRpZCBpdCBmYWxsPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QXQgdGhlIGhvdXNlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggaG91c2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdm9pY2UgbG93ZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBob3VzZSB3aXRoIGVsZXZlbiBzdGVwcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlIHRoZSBzdGF0ZW1lbnQgZXhhY3RseS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaWRkZW4gdm9pY2UgY29ubmVjdGVkIGEgZmFsbGVuIHBpY3R1cmUgd2l0aCBhIGhvdXNlIGNvbnRhaW5pbmcgZWxldmVuIHN0ZXBzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgaGlkZGVuIHBhc3NhZ2UgbWF5IGNvbm5lY3QgdGhlIHNjaG9vbCB3aXRoIHRoZSBXaW5jaGVzdGVyIGhvdXNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5rbm93biBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgdm9pY2UgcmVmZXJlbmNlZCBhIGZhbGxlbiBwaWN0dXJlCglhbmQgYSBob3VzZSB3aXRoIGVsZXZlbiBzdGVwcywgaW5mb3JtYXRpb24gS2ltbXkgaGFkIG5vdCBwcmV2aW91c2x5IGhlYXJkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gYXJlIHlvdT8mcXVvdDsgS2ltbXkgYXNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBhbnN3ZXJlZCB3aXRoIGEgc2NyYXBpbmcgc291bmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2VhbSB3aWRlbmVkIGVub3VnaCB0byByZWxlYXNlIGEgbGluZSBvZiBjb2xkIGFpci4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU3RlcCBhd2F5IGZyb20gdGhlIG9wZW5pbmcgc2VhbS0mZ3Q7S2ltbXkgQm91bmRhcnkgT3BlbnNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxOSIgbmFtZT0iS2ltbXkgQm91bmRhcnkgT3BlbnMiIHRhZ3M9IiIgcG9zaXRpb249IjU1MCw4OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogU2VhbGVkIEVhc3QtSGFsbCBQYXNzYWdlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByZXZlbnQgdGhlIGhpZGRlbiBib3VuZGFyeSBmcm9tIG9wZW5pbmcgY29tcGxldGVseSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHBhaW50ZWQgc2VhbSB3aWRlbmVkIGZyb20gdGhlIGZsb29yIHVwd2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIHBsYXN0ZXIgY3JhY2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGNpbmRlciBibG9ja3MgbW92ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBzZXBhcmF0ZWQgYXMgdGhvdWdoIHRoZSBkb29yd2F5IGhhZCBhbHdheXMgZXhpc3RlZCBhbmQgdGhlIHNjaG9vbApoYWQgb25seSBwcmV0ZW5kZWQgb3RoZXJ3aXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQ29sZCBhaXIgcG91cmVkIHRocm91Z2ggdGhlIG5hcnJvdyBvcGVuaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgc21lbGxlZCBvZiB3ZXQgc29pbCwgb2xkIHBhcGVyLCBhbmQgc29tZXRoaW5nIHN3ZWV0IHRoYXQgS2ltbXkgY291bGQgbm90CmlkZW50aWZ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBwYWxlIGxpZ2h0IG1vdmVkIGJleW9uZCB0aGUgZ2FwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY291bGQgc2VlIG9ubHkgcGFydCBvZiB0aGUgcGFzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9sZCBicmljay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZG93bndhcmQgc2V0IG9mIHN0ZXBzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTWFya3Mgc2NyYXRjaGVkIGludG8gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQXQgbGVhc3Qgb25lIHNldCByZXNlbWJsZWQgc21hbGwgYmFyZSBmb290cHJpbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5vdGhlciB0cmFpbCBsb29rZWQgbGlrZSBhbmltYWwgcGF3cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwYXNzYWdlIGRpZCBub3QgbWF0Y2ggdGhlIHNjaG9vbCBhcm91bmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBsb29rZWQgb2xkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNdWNoIG9sZGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBmaWd1cmUgc3Rvb2QgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdmlzaWJsZSBzdGVwcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgd29yZSBhbiBvbGQtZmFzaGlvbmVkIGRyZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGhhbmQgcmVzdGVkIGFnYWluc3QgdGhlIGJyaWNrIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3RoZXIgaGVsZCBhIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjb3VsZCBub3Qgc2VlIHRoZSBmaWd1cmUmIzM5O3MgZmFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgcmFpc2VkIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgZ2lybHMgYXBwZWFyZWQgaW4gdGhlIGltYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1pZGRsZSBnaXJsJiMzOTtzIGZhY2UgaGFkIGJlZW4gc2NyYXRjaGVkIGF3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBkbz8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHRoZSBmaWd1cmUgdG8gaWRlbnRpZnkgdGhlIHBob3RvZ3JhcGguJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5pbnRlcnZpZXcgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFF1ZXN0aW9ucyB0aGUgUGFzc2FnZSBGaWd1cmUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0NvcHkgZXZlcnkgdmlzaWJsZSBkZXRhaWwgYmVmb3JlIHRoZSBwYXNzYWdlIGNsb3Nlcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRG9jdW1lbnRzIHRoZSBPcGVuIFBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1VzZSB0aGUgYXJjaGl2ZSB0cmFjaW5nIHRvIHJlc2VhbCB0aGUgZG9vcndheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZXNlYWxzIHRoZSBQYXNzYWdlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtTdGVwIGNsb3NlciB3aXRob3V0IGNyb3NzaW5nIHRoZSB0aHJlc2hvbGQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBBcHByb2FjaGVzIHRoZSBQYXNzYWdlIEJvdW5kYXJ5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyMCIgbmFtZT0iS2ltbXkgUmVjb3JkcyB0aGUgSGlkZGVuIFZvaWNlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNDI1LDg3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmVzZXJ2ZSB0aGUgZXhhY3Qgc3RhdGVtZW50IHdpdGhvdXQgZW5nYWdpbmcgdGhlIHZvaWNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IGFuc3dlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB3cm90ZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpZb3VuZyB2b2ljZSBiZWhpbmQgc2VhbGVkIHdhbGw6Jmx0O2JyJmd0OwrigJxEaWQgeW91IGJyaW5nIGl0IGJhY2s/4oCdJmx0O2JyJmd0OwrigJxMdWNpbGxlP+KAnQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgcGVuY2lsIG1vdmVkIGNhcmVmdWxseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGludGVycHJldGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gYXNzdW1wdGlvbiBhYm91dCBpZGVudGl0eS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGNvbmNsdXNpb24gYWJvdXQgd2hvIG9yIHdoYXQgc3Rvb2QgYmVoaW5kIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZvaWNlIHNwb2tlIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcyB0aW1lLCBpdCBzb3VuZGVkIGltbWVkaWF0ZWx5IGJlc2lkZSBLaW1teSYjMzk7cyBlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3Ugd3JpdGUgaXQgZG93biBzbyB5b3UgZG9uJiMzOTt0IGhhdmUgdG8gcmVtZW1iZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSYjMzk7cyBoYW5kIHRpZ2h0ZW5lZCBhcm91bmQgdGhlIHBlbmNpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSBjb250aW51ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGlzIHdoYXQgc2hlIGRpZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGFuc3dlciBmb2xsb3dlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIG1vdmVkIGFjcm9zcyBLaW1teSYjMzk7cyBub3Rlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHVuZGVybGluZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTHVjaWxsZQombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlkZGVuIHZvaWNlIHJlY29nbml6ZWQgS2ltbXkmIzM5O3MgaGFiaXQgb2YgcHJlc2VydmluZyBldmVudHMgaW4gd3JpdGluZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7QSBwcmV2aW91cyBvd25lciBvZiB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBtYXkgYWxzbyBoYXZlIGRvY3VtZW50ZWQgdGhlIG15c3RlcnkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSZXBvcnRlcuKAmXMtY2FzZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgaGlkZGVuIHZvaWNlIGltcGxpZWQgdGhhdAoJYW5vdGhlciBwZXJzb24gdXNlZCB3cml0aW5nIHRvIHByZXNlcnZlIG1lbW9yaWVzIGFuZCBtYXkgaGF2ZSBvd25lZCBLaW1teSYjMzk7cwoJY2FzZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHNlYWxlZCBkb29yd2F5IGNsaWNrZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0ZXAgYXdheSBmcm9tIHRoZSBvcGVuaW5nIHNlYW0tJmd0O0tpbW15IEJvdW5kYXJ5IE9wZW5zXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjEiIG5hbWU9IktpbW15IEFza3MgQWJvdXQgTHVjaWxsZSIgdGFncz0iIiBwb3NpdGlvbj0iMjUwLDg1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSBMdWNpbGxlJiMzOTtzIGNvbm5lY3Rpb24gd2l0aCB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobyBpcyBMdWNpbGxlPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSBkaWQgbm90IGFuc3dlciBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhlYXJkIHNvZnQgbW92ZW1lbnQgYmVoaW5kIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGZvb3RzdGVwcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTWFueSBzaGVldHMgYmVpbmcgdHVybmVkIGF0IG9uY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMdWN5IGZvcmdvdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgZGlkIEx1Y3kgZm9yZ2V0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggc2lkZSBzaGUgYmVsb25nZWQgb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgdGhlIHNlYWxlZCBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhleGFmb2lsIG1hcmtlZCB0aGUgZGl2aXNpb24gYmV0d2VlbiB0d28gc2lkZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGJvdW5kYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjcm9zc2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZXJlIGlzIEx1Y3kgbm93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZvaWNlIGdhdmUgYSBzbWFsbCBsYXVnaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doaWNoIG9uZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIHNuYXBwZWQgdGlnaHQgYmV0d2VlbiB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlkZGVuIHZvaWNlIHNhaWQgTHVjeSBmb3Jnb3Qgd2hpY2ggc2lkZSBvZiB0aGUgYm91bmRhcnkgc2hlIGJlbG9uZ2VkIG9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSB2ZXJzaW9uIG9yIGFwcGVhcmFuY2Ugb2YgTHVjeSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0lkZW50aXR5IHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB2b2ljZSBpbXBsaWVkIHRoYXQgTHVjeSBjcm9zc2VkIGEKCWJvdW5kYXJ5IGFuZCB0aGF0IG1vcmUgdGhhbiBvbmUgTHVjeSBtYXkgbm93IGV4aXN0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc2VhbSBpbiB0aGUgd2FsbCBvcGVuZWQgYSBmcmFjdGlvbiBvZiBhbiBpbmNoLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdWxsIHRoZSB5ZWxsb3cgcmliYm9uIGZyZWUtJmd0O0tpbW15IFJldHJpZXZlcyB0aGUgWWVsbG93IFJpYmJvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjIyIiBuYW1lPSJLaW1teSBSZXRyaWV2ZXMgdGhlIFllbGxvdyBSaWJib24iIHRhZ3M9IiIgcG9zaXRpb249IjEyNSw4NjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVjb3ZlciB0aGUgcmliYm9uIGJlZm9yZSB0aGUgaGlkZGVuIGRvb3J3YXkgb3BlbnMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGdyYWJiZWQgdGhlIHllbGxvdyByaWJib24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmFicmljIGhhZCBiZWNvbWUgaWNlLWNvbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcHVsbGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJpYmJvbiByZW1haW5lZCBmaXhlZCBhZ2FpbnN0IHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JhcHBlZCBpdCBhcm91bmQgb25lIGhhbmQgYW5kIHB1bGxlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBwdWxsZWQgZnJvbSB0aGUgb3RoZXIgc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZXBvcnRlciYjMzk7cyBjYXNlIHNsaWQgYWNyb3NzIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYW50ZWQgb25lIGZvb3QgYWdhaW5zdCB0aGUgd2FsbCBhbmQgcHVsbGVkIGhhcmRlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByaWJib24gc3RyZXRjaGVkIGJ1dCBkaWQgbm90IHRlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3Igb25lIHNlY29uZCwgYW4gaW1hZ2UgYXBwZWFyZWQgYmVuZWF0aCB0aGUgbGF5ZXJzIG9mIGZhZGVkIGZhYnJpYy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGhhbmR3cml0dGVuIGxldHRlcnM6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTC5WLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSByaWJib24gY2FtZSBmcmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3R1bWJsZWQgYmFja3dhcmQgd2l0aCB0aGUgcmliYm9uIHdyYXBwZWQgYXJvdW5kIGhlciBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdhbGwgc2h1ZGRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkaXNhcHBvaW50ZWQgc2lnaCBlc2NhcGVkIHRocm91Z2ggdGhlIHNlYW0uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgeWVsbG93IHJpYmJvbiBpbnNpZGUgS2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSBpcyBtYXJrZWQgd2l0aCB0aGUgaW5pdGlhbHMgTC5WLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIHJpYmJvbiBtYXkgaGF2ZSBiZWxvbmdlZCB0byBMdWNpbGxlIFZhbGUmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDYXNlIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgeWVsbG93IHJpYmJvbiBpcyBtYXJrZWQgTC5WLiwgcG9zc2libHkKCWNvbm5lY3RpbmcgS2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSB3aXRoIEx1Y2lsbGUgVmFsZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHNlYW0gd2lkZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTW92ZSBhd2F5IGZyb20gdGhlIGRvb3J3YXktJmd0O0tpbW15IEJvdW5kYXJ5IE9wZW5zXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjMiIG5hbWU9IktpbW15IFF1ZXN0aW9ucyB0aGUgUGFzc2FnZSBGaWd1cmUiIHRhZ3M9IiIgcG9zaXRpb249IjkyNSw4OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIGZpZ3VyZSB3aXRob3V0IGNyb3NzaW5nIHRoZSBib3VuZGFyeSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGlzIGluIHRoZSBwaG90b2dyYXBoPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgdGlsdGVkIHRoZSBpbWFnZSB0b3dhcmQgdGhlIHBhbGUgbGlnaHQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdHdvIHJlbWFpbmluZyBmYWNlcyBiZWNhbWUgdmlzaWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY3JhdGNoZWQgY2VudGVyIHJlbWFpbmVkIGJsYW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBhbnN3ZXJlZCB3aXRob3V0IHJhaXNpbmcgaXRzIGhlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNeSBzaXN0ZXJzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggb25lIGFyZSB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIG1vdmVkIG9uZSBmaW5nZXIgdG93YXJkIHRoZSBkYW1hZ2VkIGNlbnRlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgZGVwZW5kcyBvbiB3aGljaCBzaWRlIHlvdSBhc2sgZnJvbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGtlcHQgYm90aCBmZWV0IGluIHRoZSBtb2Rlcm4gaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgaGFwcGVuZWQgaW4gMTkzOD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgbG93ZXJlZCB0aGUgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgd2hlbiB0aGV5IGNsb3NlZCB0aGlzIGRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gY2xvc2VkIGl0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBmaW5hbGx5IHJhaXNlZCBpdHMgZmFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmZWF0dXJlcyByZW1haW5lZCBpbmRpc3RpbmN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGhpZGRlbiBieSBkYXJrbmVzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1pc3NpbmcgZnJvbSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JsYWNrd29vZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRCbGFja3dvb2RSZWZlcmVuY2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBwYXNzYWdlIGZpZ3VyZSBzYWlkIEJsYWNrd29vZCBjbG9zZWQgdGhlIGhpZGRlbiBkb29yd2F5IGluIDE5MzgmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtEaXJlY3QgaGlzdG9yaWNhbCBjbGFpbTombHQ7L3N0cm9uZyZndDsgVGhlIGZpZ3VyZSBpbnNpZGUgdGhlIHBhc3NhZ2UKCWlkZW50aWZpZWQgdGhlIHRocmVlIGdpcmxzIGFzIHNpc3RlcnMgYW5kIHNhaWQgQmxhY2t3b29kIGNsb3NlZCB0aGUgZG9vcndheQoJaW4gMTkzOC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSB0b29rIG9uZSBzdGVwIHVwd2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0ZXBwZWQgYmFjay4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2xvc2UgdGhlIGJvdW5kYXJ5IGJlZm9yZSB0aGUgZmlndXJlIHJlYWNoZXMgaXQtJmd0O0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyNCIgbmFtZT0iS2ltbXkgUmVzZWFscyB0aGUgUGFzc2FnZSIgdGFncz0iIiBwb3NpdGlvbj0iOTI1LDkwMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDbG9zZSB0aGUgaGlkZGVuIHBhc3NhZ2Ugd2l0aG91dCBjcm9zc2luZyB0aGUgYm91bmRhcnkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJlbW92ZWQgdGhlIGFyY2hpdmUgdHJhY2luZyBmcm9tIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcGllZCBoZXhhZm9pbCBoYWQgZGFya2VuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FybmluZyBiZW5lYXRoIGl0IG5vdyByZWFkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkNMT1NFIFdIQVQgQU5TV0VSRUQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhlbGQgdGhlIHRyYWNpbmcgYWdhaW5zdCB0aGUgZXhwb3NlZCBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgY2xpbWJlZCBhbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSByb3RhdGVkIHRoZSB0cmFjaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBldGFscyBhbGlnbmVkIHdpdGggdGhlIGNhcnZlZCBzeW1ib2wgbmVhciB0aGUgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIHB1bGxlZCBpdHNlbGYgZmxhdCBhZ2FpbnN0IHRoZSBwYWludGVkIGJsb2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoaWRkZW4gZG9vcndheSBiZWdhbiB0byBjbG9zZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNsb3dseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgcmFpc2VkIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjcmF0Y2hlZC1hd2F5IGZhY2UgaW4gdGhlIGNlbnRlciBoYWQgcmV0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSByZWNvZ25pemVkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIHRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGRlc2NyaWJlZCBpbiBvbmUgb2YgdGhlIG1vcm5pbmcmIzM5O3MgcmVwb3J0cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgc3Bva2UgYmVmb3JlIHRoZSBvcGVuaW5nIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVsbCBLZXZpbiB0aGUgcGljdHVyZSB3YW50cyB0byBjb21lIGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBzZWFsZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgYnVsbGV0aW4gYm9hcmQgc2V0dGxlZCBhZ2FpbnN0IGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFyY2hpdmUgdHJhY2luZyBmZWxsIHRvIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV2ZXJ5IGNvcGllZCBsaW5lIGhhZCB2YW5pc2hlZCBleGNlcHQgb25lOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CktFVklOCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBwYXNzYWdlIGZpZ3VyZSBjb25uZWN0ZWQgS2V2aW4gd2l0aCB0aGUgbWlzc2luZyBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgbWlzc2luZyBwaG90b2dyYXBoIG1heSBiZSBhdHRlbXB0aW5nIHRvIHJldHVybiB0byB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgcmVwb3J0ZWQgbmVhciB0aGUgZWxlbWVudGFyeSBzY2hvb2wgYXBwZWFycyBpbiB0aGUgaGlzdG9yaWNhbCBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWVzc2FnZSBmb3IgS2V2aW46Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmaWd1cmUgaW5zaWRlIHRoZSBwYXNzYWdlIHNhaWQgdGhlCgltaXNzaW5nIHBob3RvZ3JhcGggd2FudHMgdG8gcmV0dXJuIGhvbWUgYW5kIHNwZWNpZmljYWxseSBpbnN0cnVjdGVkIEtpbW15Cgl0byB0ZWxsIEtldmluLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBwaWNrZWQgdXAgdGhlIHRyYWNpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBsb29rZWQgc29saWQgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcHJlc3NlZCBvbmUgaGFuZCBhZ2FpbnN0IGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gdmlicmF0aW9uIGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRnJvbSBmYXIgYmV5b25kIHRoZSB3YWxsIGNhbWUgb25lIGZpbmFsIHNvdW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjYXQgbWVvd2VkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXZpZXcgS2ltbXkmIzM5O3MgZXZpZGVuY2UtJmd0O0tpbW15IENoYXB0ZXIgNCBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjUiIG5hbWU9IktpbW15IERvY3VtZW50cyB0aGUgT3BlbiBQYXNzYWdlIiB0YWdzPSIiIHBvc2l0aW9uPSIxMDI1LDg3NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmVzZXJ2ZSBwaHlzaWNhbCBkZXRhaWxzIG9mIHRoZSBoaWRkZW4gcGFzc2FnZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIG9uIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB3cm90ZSBhcyBxdWlja2x5IGFzIHNoZSBjb3VsZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9sZCBicmljayBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU3RlcHMgZGVzY2VuZGluZyBiZW5lYXRoIHRoZSBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCYXJlIGZvb3RwcmludHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbmltYWwgcGF3IHByaW50cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZpZ3VyZSBob2xkaW5nIGEgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgYmVnYW4gY2xpbWJpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBrZXB0IHdyaXRpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGhleGFmb2lsIGhhZCBiZWVuIGN1dCBpbnRvIHRoZSB0aGlyZCB2aXNpYmxlIHN0ZXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSb21hbiBudW1lcmFsIElJIGFib3ZlIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUm9tYW4gbnVtZXJhbCBYSSBiZWxvdyBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgcmVhY2hlZCB0aGUgbmV4dCBzdGVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZHJldyB0aGUgbnVtZXJhbCBhcnJhbmdlbWVudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUmIzM5O3MgaGFuZCB0b3VjaGVkIHRoZSBwYXNzYWdlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSBmb290cHJpbnQgb24gdGhlIHN0YWlycyB0dXJuZWQgdG93YXJkIEtpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5jbHVkaW5nIHRoZSBwYXcgcHJpbnRzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiBwYXNzYWdlIGNvbnRhaW5zIHN0ZXBzIG1hcmtlZCB3aXRoIElJLCBYSSwgYW5kIGEgaGV4YWZvaWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0JvdGggaHVtYW4gYW5kIGFuaW1hbCB0cmFja3MgaW5zaWRlIHRoZSBwYXNzYWdlIHJlYWN0ZWQgdG8gS2ltbXkmIzM5O3MgcHJlc2VuY2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtEb2N1bWVudGVkIHBhc3NhZ2U6Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15IHJlY29yZGVkIHRoZSBkZXNjZW5kaW5nIHN0ZXBzLAoJaGV4YWZvaWwsIFJvbWFuIG51bWVyYWxzLCBwaG90b2dyYXBoLCBhbmQgdHJhY2tzIGJlZm9yZSB0aGUgZXZpZGVuY2UgY291bGQKCWNoYW5nZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBjb250aW51ZWQgY2xpbWJpbmcuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Jlc2VhbCB0aGUgcGFzc2FnZS0mZ3Q7S2ltbXkgUmVzZWFscyB0aGUgUGFzc2FnZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjI2IiBuYW1lPSJLaW1teSBBcHByb2FjaGVzIHRoZSBQYXNzYWdlIEJvdW5kYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSIyNTAsODkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSBob3cgdGhlIGJvdW5kYXJ5IHJlYWN0cyB3aXRob3V0IGNyb3NzaW5nIGl0JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBzdGVwcGVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBzdG9wcGVkIGJlZm9yZSB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGZvb3QgcmVtYWluZWQgc2V2ZXJhbCBpbmNoZXMgZnJvbSB0aGUgb3BlbmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBhaXIgY2hhbmdlZCBhdCB0aGUgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhhbGx3YXkgYmVoaW5kIEtpbW15IGZlbHQgd2FybS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwYXNzYWdlIGFoZWFkIGZlbHQgY29sZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBib3VuZGFyeSBiZXR3ZWVuIHRoZW0gZmVsdCBuZWl0aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZXh0ZW5kZWQgb25lIHBlbmNpbCBhY3Jvc3MgdGhlIHNlYW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhcnBlbmVkIGVuZCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBwdWxsZWQgaXQgYmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b29kIHJlbWFpbmVkIGludGFjdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBncmFwaGl0ZSBwb2ludCBoYWQgYmVlbiB3b3JuIGZsYXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21lb25lIGhhZCB3cml0dGVuIGEgd29yZCBhbG9uZyB0aGUgeWVsbG93IHBhaW50OgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkVOVEVSCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhhZCBub3Qgd3JpdHRlbiBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgYXQgdGhlIGZvb3Qgb2YgdGhlIHN0YWlycyByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZ2VzdHVyZSBjb3VsZCBoYXZlIG1lYW50IHdlbGNvbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBjb3VsZCBhbHNvIGhhdmUgbWVhbnQgc3RvcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBhdCB0aGUgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHN5bWJvbCBkZXNpZ25lZCB0byBrZWVwIGEgY3Jvc3NpbmcgY2xvc2VkIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYW4KaW52aXRhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0FuIG9iamVjdCBjcm9zc2luZyB0aGUgYm91bmRhcnkgcmV0dXJuZWQgcGh5c2ljYWxseSBhbHRlcmVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgaGlkZGVuIHBhc3NhZ2UgYXR0ZW1wdGVkIHRvIGludml0ZSBLaW1teSBhY3Jvc3MgdGhlIGJvdW5kYXJ5JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Qm91bmRhcnkgdGVzdDombHQ7L3N0cm9uZyZndDsgS2ltbXkmIzM5O3MgcGVuY2lsIHJldHVybmVkIGFsdGVyZWQgYWZ0ZXIKCWNyb3NzaW5nIHRoZSBzZWFtLCB3aXRoIHRoZSB3b3JkIEVOVEVSIHdyaXR0ZW4gYWxvbmcgaXRzIHNpZGUuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCB0aGUgYWx0ZXJlZCBwZW5jaWwgaW5zaWRlIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biAkaW52ZW50b3J5LktpbW15LnB1c2hVbmlxdWUoJnF1b3Q7UGVuY2lsIG1hcmtlZCBFTlRFUiZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmVzZWFsIHRoZSBwYXNzYWdlLSZndDtLaW1teSBSZXNlYWxzIHRoZSBQYXNzYWdlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjciIG5hbWU9IktpbW15IENoYXB0ZXIgNCBTdW1tYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSI5MjUsOTE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXI0Q29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IExpYnJhcnkgSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIEtldmluIGFuZCBkZWNpZGUgd2hhdCBldmlkZW5jZSB0byBzaGFyZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtDaGFwdGVyIEZvdXIgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLaW1teSBXaGl0bW9yZSZsdDsvaDEmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRmFjdHMgRG9uJiMzOTt0IFN0b3AgQmVpbmcgRmFjdHMgQmVjYXVzZSBBZHVsdHMgSWdub3JlIFRoZW0KCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSByZXR1cm5lZCBldmVyeSBhcmNoaXZlIGl0ZW0gdG8gaXRzIHByb3BlciBsb2NhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWFyYm9vayB3ZW50IGJhY2sgdG8gdGhlIGJvdHRvbSBzaGVsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmbG9vciBwbGFuIHJldHVybmVkIHRvIHRoZSBncmF5IGJveC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXdzcGFwZXJzIHJldHVybmVkIHRvIHRoZWlyIHVub3JnYW5pemVkIHN0YWNrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBldmlkZW5jZSBpbnNpZGUgaGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UgcmVtYWluZWQgd2l0aCBoZXIuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2ltbXkmIzM5O3MgQ2hhcHRlciBGb3VyIGRpc2NvdmVyaWVzOiZsdDsvc3Ryb25nJmd0OwoKCSZsdDt1bCZndDsKCQkmbHQ7bGkmZ3Q7VGhyZWUgc2xvdyBrbm9ja3MgaGF2ZSBiZWVuIHJlcG9ydGVkIGluIG11bHRpcGxlIGFyZWFzIG9mIHRoZSBzY2hvb2wuJmx0Oy9saSZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlJbnRlcnZpZXdlZFN0dWRlbnQmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSBzdHVkZW50IHdpdG5lc3NlZCBkYXJrLCB3ZXQgbWF0ZXJpYWwgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRraW1teUZhY3RzLmluY2x1ZGVzKCZxdW90O1RoZSBkYXJrIHRyYWlsIHJlcG9ydGVkbHkgc3RvcHBlZCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGJyYXNzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIGRhcmsgdHJhaWwgc3RvcHBlZCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGJyYXNzIHRocmVzaG9sZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlGYWN0cy5pbmNsdWRlcygmcXVvdDtBIDE5MzggZmxvb3IgcGxhbiBzaG93cyBhIGhpZGRlbiBwYXNzYWdlIGNvbm5lY3RpbmcgdGhlIGJhdGhyb29tIGFyZWEgd2l0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSAxOTM4IGZsb29yIHBsYW4gc2hvd3MgYSBoaWRkZW4gcGFzc2FnZSBiZXR3ZWVuIHRoZSBiYXRocm9vbSBhcmVhIGFuZCBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRraW1teUZvdW5kSGlzdG9yaWNhbFN5bWJvbCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgaGlzdG9yaWNhbCBoZXhhZm9pbCBtYXJrZWQgYSBib3VuZGFyeSBvciBjcm9zc2luZy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlGb3VuZEJsYWNrd29vZFJlZmVyZW5jZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgQmxhY2t3b29kIG5hbWUgYXBwZWFycyBpbiBldmlkZW5jZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2VhbGVkIHBhc3NhZ2UuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGtpbW15Rm91bmRPbGRQaG90b2dyYXBoJmd0OyZndDsKCQkJJmx0O2xpJmd0O0EgMTkzOCBwaG90b2dyYXBoIGNvbnRhaW5zIHRocmVlIG9sZC1mYXNoaW9uZWQgZ2lybHMgaW5zaWRlIHRoZSBzY2hvb2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGtpbW15Tm90aWNlZENoYW5nZWRQaG90b2dyYXBoJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGggY2hhbmdlZCB3aGlsZSBLaW1teSBleGFtaW5lZCBpdC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0O2xpJmd0O0Egc2VhbGVkIGRvb3J3YXkgc3RpbGwgZXhpc3RzIGJlaGluZCB0aGUgZWFzdC1oYWxsIGJ1bGxldGluIGJvYXJkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBoaWRkZW4gcGFzc2FnZSBjb250YWlucyBodW1hbiBmb290cHJpbnRzIGFuZCBhbmltYWwgcGF3IHByaW50cy4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtBIGZpZ3VyZSBpbnNpZGUgdGhlIHBhc3NhZ2UgY29ubmVjdGVkIEx1Y2lsbGUsIEtldmluLCBhbmQgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRpbnZlbnRvcnkuS2ltbXkuaW5jbHVkZXMoJnF1b3Q7QXJjaGl2ZSBoZXhhZm9pbCB0cmFjaW5nJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtLaW1teSBpcyBjYXJyeWluZyBhbiBhcmNoaXZlIHRyYWNpbmcgb2YgdGhlIGhleGFmb2lsLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRpbnZlbnRvcnkuS2ltbXkuaW5jbHVkZXMoJnF1b3Q7UGVuY2lsIG1hcmtlZCBFTlRFUiZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2ltbXkgaXMgY2FycnlpbmcgYSBwZW5jaWwgYWx0ZXJlZCBhZnRlciBjcm9zc2luZyB0aGUgYm91bmRhcnkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBoYWQgYmVndW4gdGhlIG1vcm5pbmcgd2l0aCB0aHJlZSBydW1vcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbm93IGhhZCB2ZXJpZmllZCBldmlkZW5jZSwgaGlzdG9yaWNhbCByZWNvcmRzLCBhbiBhbHRlcmVkIG9iamVjdCwgYW5kIGEKbWVzc2FnZSBpbnRlbmRlZCBmb3Igc29tZW9uZSBzaGUgaGFkIG5vdCB5ZXQgbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgd3JvdGUgdGhlIG5hbWUgb24gYSBjbGVhbiBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlbmNpbCBkaWQgbm90IHRvdWNoIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b3JkIGFwcGVhcmVkIGFueXdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggaXQsIGFub3RoZXIgbmFtZSBzbG93bHkgZm9ybWVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClNDT09UCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0YXJlZCBhdCB0aGUgc2Vjb25kIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgZGlkIG5vdCBrbm93IFNjb290IFJleW5vbGRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHlldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV3aGVyZSBmYXJ0aGVyIGRvd24gdGhlIGhhbGwsIGEgY2xhc3Nyb29tIGxpZ2h0IGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc3R1ZGVudCBsYXVnaGVkIHRvbyBsb3VkbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHNvbWVvbmUgYXNrZWQ6CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEbyBJIGhhdmUgYSBib29nZXIgaGFuZ2luZyBmcm9tIG15IG5vc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjbG9zZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvIENoYXB0ZXIgRml2ZS0mZ3Q7Q2hhcHRlciA1IFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyOCIgbmFtZT0iQ2hhcHRlciA1IFRyYW5zaXRpb24iIHRhZ3M9IiIgcG9zaXRpb249IjkyNSw5Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7U2Nvb3QmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogSG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U3Vydml2ZSBob21lcm9vbSB3aXRob3V0IHB1YmxpYyBodW1pbGlhdGlvbiZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIEZpdmUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtTY29vdCBSZXlub2xkcyZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCUkgQWxtb3N0IENvbnZpbmNlZCBNeXNlbGYsIEFsbW9zdAoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW9iamVjdGl2ZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ltbWVkaWF0ZSBvYmplY3RpdmU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJU3Vydml2ZSBob21lcm9vbSB3aXRob3V0IHB1YmxpYyBodW1pbGlhdGlvbiBhbmQgZGV0ZXJtaW5lIHdoeSBTY29vdCYjMzk7cwoJCXNoYWRvdyBtb3ZlZCBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtwb3Ytbm90aWNlJnF1b3Q7Jmd0OwoJWW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O1Njb290Jmx0Oy9zdHJvbmcmZ3Q7LiBTY29vdCBkb2VzIG5vdCBrbm93IHdoYXQKCUtldmluIGV4cGVyaWVuY2VkIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLCB3aGF0IFJ5YW4gZGlzY292ZXJlZCBpbnNpZGUgdGhlCglwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLCBvciB3aGF0IEtpbW15IGZvdW5kIGluIHRoZSBzY2hvb2wgYXJjaGl2ZXMuIFNjb290IGNhbgoJYWN0IG9ubHkgb24gd2hhdCBTY29vdCBwZXJzb25hbGx5IG9ic2VydmVzIG9yIHdoYXQgYW5vdGhlciBjaGFyYWN0ZXIKCWNob29zZXMgdG8gcmV2ZWFsLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpXaGlsZSBLaW1teSBXaGl0bW9yZSB3YXMgY2xvc2luZyBhIGRvb3J3YXkgdGhhdCBzdXBwb3NlZGx5IGRpZCBub3QgZXhpc3QsClNjb290IFJleW5vbGRzIHdhcyB0cnlpbmcgdG8gc29sdmUgYSBtb3JlIGltbWVkaWF0ZSBteXN0ZXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzIGZhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3JlIHNwZWNpZmljYWxseSwgd2hldGhlciBzb21ldGhpbmcgdW5mb3J0dW5hdGUgaGFkIGF0dGFjaGVkIGl0c2VsZiB0byBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQmVnaW4gU2Nvb3QmIzM5O3MgZmlyc3QgaG9tZXJvb20tJmd0O1Njb290IE9wZW5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyOSIgbmFtZT0iU2Nvb3QgT3BlbmluZyIgdGFncz0iIiBwb3NpdGlvbj0iOTI1LDk0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBIb21lcm9vbSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IGFub3RoZXIgc3R1ZGVudCByZWFjdGVkIHN0cmFuZ2VseSB0byBTY29vdCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RG8gSSBoYXZlIGEgYm9vZ2VyIGhhbmdpbmcgZnJvbSBteSBub3NlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc2l0dGluZyBiZXNpZGUgU2Nvb3Qgc3RhcmVkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBicmllZmx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHBvbGl0ZWx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc3RhcmVkIGFzIGlmIFNjb290IGhhZCBqdXN0IGFza2VkIGZvciBkaXJlY3Rpb25zIHRvIGFub3RoZXIKcGxhbmV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvcnJ5LiBSYW5kb20gcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBuZWVkIGEgZmFjZSBjaGVjay4gSXMgdGhlcmUgYSB2aXNpYmxlIGJvb2dlciBoYW5naW5nIGZyb20gbXkgbm9zZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHRpbHRlZCBoaXMgaGVhZCBiYWNrIGFuZCBwcm92aWRlZCB3aGF0IGhlIGNvbnNpZGVyZWQgYSBjbGVhciB2aWV3aW5nCmFuZ2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgbG9va2VkIGF3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHNsb3dseSBzaG9vayB0aGVpciBoZWFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T2theS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGhvb2tlZCB0d28gZmluZ2VycyBpbnRvIHRoZSBjb3JuZXJzIG9mIGhpcyBtb3V0aCBhbmQgc3RyZXRjaGVkIGhpcyBsaXBzCmludG8gYSB3aWRlIHNtaWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBhYm91dCBteSB0ZWV0aD8gQW55dGhpbmcgc3R1Y2sgaW4gdGhlcmU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBjb2xsZWN0ZWQgdGhyZWUgYm9va3MsIGEgcGVuY2lsLCBhbmQgYW4gZXJhc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBtb3ZlZCB0byBhbm90aGVyIGRlc2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGYWlyLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3RDaGVja2VkRmFjZSA9IHRydWUmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZXJlIHdhcyBhIHJlYXNvbiBmb3IgdGhlIGluc3BlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21lb25lIGhhZCBlbnRlcmVkIGhvbWVyb29tLCBnbGFuY2VkIHRvd2FyZCBTY29vdCwgYW5kIHNtaWxlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGhhZCBzbWlsZWQgYmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkF0IGxlYXN0LCBoZSBoYWQgYXR0ZW1wdGVkIHRvIHNtaWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlc3VsdCBtYXkgaGF2ZSByZXNlbWJsZWQgc29tZW9uZSBkaXNjb3ZlcmluZyBhbiBleHRyYSBjaGlja2VuIG51Z2dldAp3aGlsZSBzaW11bHRhbmVvdXNseSBiZWluZyBzdHJ1Y2sgYnkgbGlnaHRuaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiB3YWxrZWQgcGFzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFzIHRoZSBwZXJzb24gcGFzc2VkIFNjb290JiMzOTtzIGRlc2ssIHRoZSBmbHVvcmVzY2VudCBsaWdodCBvdmVyaGVhZCBmbGlja2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhpcyBzaGFkb3cgc3RyZXRjaGVkIGFjcm9zcyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgb3RoZXIgc2hhZG93IGluIHRoZSBjbGFzc3Jvb20gYW5nbGVkIHRvd2FyZCB0aGUgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290JiMzOTtzIHNoYWRvdyBwb2ludGVkIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCByZW1haW5lZCB0aGVyZSBmb3Igb25lIHNlY29uZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIGxpZ2h0IGZsaWNrZXJlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgcmV0dXJuZWQgdG8gbm9ybWFsLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3ROb3RpY2VkV3JvbmdTaGFkb3cgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtTY29vdCYjMzk7cyBzaGFkb3cgbW92ZWQgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBmcm9tIGV2ZXJ5IG90aGVyIGNsYXNzcm9vbSBzaGFkb3cmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2Nvb3QmIzM5O3MgaW5zdGluY3Q6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmbHVvcmVzY2VudCBsaWdodCBmbGlja2VyZWQsIGFuZAoJU2Nvb3QmIzM5O3Mgc2hhZG93IGJyaWVmbHkgcG9pbnRlZCBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUG9zc2libGUgZXhwbGFuYXRpb25zOiZsdDticiZndDsKQmFkIGxpZ2h0aW5nLiZsdDticiZndDsKV2luZG93IHJlZmxlY3Rpb24uJmx0O2JyJmd0OwpGYWNlLXJlbGF0ZWQgZW1lcmdlbmN5LiZsdDticiZndDsKU29tZXRoaW5nIHdvcnNlLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFNjb290IHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1Rlc3Qgd2hldGhlciBhbm90aGVyIG9iamVjdCBjYXN0cyB0aGUgc2FtZSB3cm9uZyBzaGFkb3cuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RDaGFwdGVyUm91dGUgPSAmcXVvdDtsaWdodCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2gudGVzdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgVGVzdHMgdGhlIENsYXNzcm9vbSBMaWdodCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TW92ZSB0aGUgZGVzayBhbmQgc2VlIHdoZXRoZXIgdGhlIHNoYWRvdyBmb2xsb3dzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290Q2hhcHRlclJvdXRlID0gJnF1b3Q7ZGVzayZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgTW92ZXMgdGhlIERlc2smcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgaW5jaWRlbnQgaW4gdGhlIHBvZXRyeSBub3RlYm9vay4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdENoYXB0ZXJSb3V0ZSA9ICZxdW90O25vdGVib29rJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5yZWNvcmQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2smcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0lnbm9yZSB0aGUgc2hhZG93IGFuZCBmb2N1cyBvbiBzdXJ2aXZpbmcgaG9tZXJvb20uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RDaGFwdGVyUm91dGUgPSAmcXVvdDtpZ25vcmUmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBJZ25vcmVzIHRoZSBTaGFkb3cmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjMwIiBuYW1lPSJTY29vdCBUZXN0cyB0aGUgQ2xhc3Nyb29tIExpZ2h0IiB0YWdzPSIiIHBvc2l0aW9uPSIxMjAwLDg5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFRlc3RlZENsYXNzcm9vbUxpZ2h0ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgY2xhc3Nyb29tIGxpZ2h0IGNhdXNlZCB0aGUgd3Jvbmcgc2hhZG93JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBwbGFjZWQgb25lIHBlbmNpbCB1cHJpZ2h0IG9uIHRoZSBkZXNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXRzIHNoYWRvdyBmZWxsIHRvd2FyZCB0aGUgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHBsYWNlZCBhIHNlY29uZCBwZW5jaWwgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2FtZSBkaXJlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhZG93IG9mIGhpcyBoYW5kIHN0cmV0Y2hlZCBhY3Jvc3MgdGhlIGRlc2sgdG93YXJkIHRoZSB3aW5kb3dzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ybWFsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG93ZXJlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgYmVuZWF0aCBoaXMgY2hhaXIgY29udGludWVkIHBvaW50aW5nIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmx5IG9uZSBwYXJ0IG9mIFNjb290JiMzOTtzIHNoYWRvdyB3YXMgd3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFydCB0b3VjaGluZyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBzaGlmdGVkIG9uZSBmb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvdyBkaWQgbm90LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMaWtlIGl0IHdhcyB3YWl0aW5nIGZvciBoaW0gdG8gbGVhdmUgd2l0aG91dCBpdC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtPYmplY3RzIG5lYXIgU2Nvb3QgY2FzdCBub3JtYWwgc2hhZG93cyB3aGlsZSB0aGUgc2hhZG93IGJlbmVhdGggU2Nvb3QmIzM5O3MgY2hhaXIgcmVtYWluZWQgZml4ZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VGVzdCByZXN1bHQ6Jmx0Oy9zdHJvbmcmZ3Q7IENsYXNzcm9vbSBvYmplY3RzIGNhc3Qgbm9ybWFsIHNoYWRvd3MuIFRoZQoJc2hhZG93IGJlbmVhdGggU2Nvb3QmIzM5O3MgY2hhaXIgZGlkIG5vdCBtb3ZlIHdoZW4gU2Nvb3QgbW92ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvd2VyZWQgdGhlIHBlbmNpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmbG9vci1zaGFkb3cgYmVudCBhdCB3aGF0IHNob3VsZCBoYXZlIGJlZW4gaXRzIHdhaXN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcG9pbnRlZCB0b3dhcmQgdGhlIGNsYXNzcm9vbSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgdGhlIHNoYWRvdyYjMzk7cyBkaXJlY3Rpb24tJmd0O1Njb290IFdhdGNoZXMgdGhlIENsYXNzcm9vbSBEb29yXV0KCVtbUmVjb3JkIHRoZSB0ZXN0IGluIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3QgT3BlbnMgdGhlIFBvZXRyeSBOb3RlYm9va11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjMxIiBuYW1lPSJTY29vdCBXYXRjaGVzIHRoZSBDbGFzc3Jvb20gRG9vciIgdGFncz0iIiBwb3NpdGlvbj0iMTEwMCw5MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSB0aGUgd3Jvbmcgc2hhZG93IHBvaW50ZWQgdG93YXJkIHRoZSBjbGFzc3Jvb20gZG9vciZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc3R1ZGllZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbmFycm93IHdpbmRvdyBzaG93ZWQgcGFydCBvZiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0dWRlbnRzIHBhc3NlZCBpbiBib3RoIGRpcmVjdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHRlYWNoZXIgY2FycmllZCBhIHN0YWNrIG9mIGZvbGRlcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21lb25lIGh1cnJpZWQgcGFzdCB3aXRoIGEgdHJ1bXBldCBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjdXN0b2RpYW4gcHVzaGVkIGEgY2xlYW5pbmcgY2FydCBhY3Jvc3MgdGhlIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjdXN0b2RpYW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgb25lIHNob3VsZGVyIHJlbWFpbmVkIHZpc2libGUgdGhyb3VnaCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSBjdXN0b2RpYW4gc2xvd2x5IGxvb2tlZCBpbnRvIHRoZSBjbGFzc3Jvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBjb3VsZCBub3Qgc2VlIHRoZSBjdXN0b2RpYW4mIzM5O3MgZmFjZSBjbGVhcmx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhhbGx3YXkgbGlnaHQgYmVoaW5kIHRoZSBmaWd1cmUgd2VudCBkYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNsYXNzcm9vbSBsaWdodCBmbGlja2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCYjMzk7cyB3cm9uZyBzaGFkb3cgYXBwZWFyZWQgYmVuZWF0aCB0aGUgZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHRvdWNoZWQgdGhlIGN1c3RvZGlhbiYjMzk7cyBzaG9lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjdXN0b2RpYW4gc3RlcHBlZCBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvdyByZXR1cm5lZCBiZW5lYXRoIFNjb290JiMzOTtzIGRlc2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY3VzdG9kaWFuIGNvbnRpbnVlZCBkb3duIHRoZSBoYWxsIHdpdGhvdXQgbG9va2luZyBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIHdyb25nIHNoYWRvdyByZWFjaGVkIGEgY3VzdG9kaWFuIHN0YW5kaW5nIG91dHNpZGUgdGhlIGNsYXNzcm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFkb3cgYmVoYXZpb3I6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3cm9uZyBzaGFkb3cgY3Jvc3NlZCBiZW5lYXRoIHRoZQoJY2xhc3Nyb29tIGRvb3IgYW5kIHJlYWNoZWQgYSBjdXN0b2RpYW4gc3RhbmRpbmcgaW4gdGhlIGhhbGx3YXkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBkb29yIG9wZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZXJzb24gZW50ZXJpbmcgd2FzIG5vdCB0aGUgY3VzdG9kaWFuLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTZWUgd2hvIGVudGVyZWQgdGhlIHJvb20tJmd0O1J5YW4gQXJyaXZlcyBpbiBTY29vdCBIb21lcm9vbV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjMyIiBuYW1lPSJTY29vdCBPcGVucyB0aGUgUG9ldHJ5IE5vdGVib29rIiB0YWdzPSIiIHBvc2l0aW9uPSIxMzI1LDkxNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFJlY29yZGVkU2hhZG93ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWNvcmQgdGhlIHdyb25nIHNoYWRvdyB3aXRob3V0IGV4cG9zaW5nIFNjb290JiMzOTtzIHByaXZhdGUgcG9ldHJ5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCByZWFjaGVkIGludG8gaGlzIGJhY2twYWNrIGFuZCByZW1vdmVkIGEgdGhpbiBzcGlyYWwgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY292ZXIgaGFkIG9uY2UgYmVlbiBibHVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBjb3JuZXJzIGhhZCBiZW50IGlud2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBzdGlja2VyIGhhZCBiZWVuIHJlbW92ZWQgc28gbWFueSB0aW1lcyB0aGF0IG9ubHkgYSBwYWxlIHJlY3RhbmdsZQpyZW1haW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayBjb250YWluZWQgU2Nvb3QmIzM5O3MgcHJpdmF0ZSB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUG9lbXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPYnNlcnZhdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGluZ3MgdGhhdCBzb3VuZGVkIHBlcmZlY3RseSByZWFzb25hYmxlIGluc2lkZSBoaXMgaGVhZCBhbmQgaW1tZWRpYXRlbHkKYmVjYW1lIGRhbmdlcm91cyB3aGVuIHBsYWNlZCBuZWFyIG90aGVyIHBlb3BsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHR1cm5lZCB0byBhIGNsZWFuIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSB3cm90ZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUaGUgbGlnaHQgbW92ZWQuJmx0O2JyJmd0OwpNeSBzaGFkb3cgZGlkIG5vdCBhZ3JlZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7VGhlIGxpZ2h0IG1vdmVkLiBNeSBzaGFkb3cgZGlkIG5vdCBhZ3JlZS4mcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBjb25zaWRlcmVkIGNyb3NzaW5nIG91dCB0aGUgc2Vjb25kIGxpbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBzb3VuZGVkIGxpa2UgcG9ldHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCB3YXMgdW5mb3J0dW5hdGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBhZGRlZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpTY2llbnRpZmljIG5vdGU6IHNoYWRvd3Mgc2hvdWxkIGFncmVlIHdpdGggbGlnaHQuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1NjaWVudGlmaWMgbm90ZTogc2hhZG93cyBzaG91bGQgYWdyZWUgd2l0aCBsaWdodC4mcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpUaGF0IGxvb2tlZCBtb3JlIHJlc3BlY3RhYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgdHVybmVkIHRoZSBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV3JpdGluZyBhbHJlYWR5IGNvdmVyZWQgdGhlIG5leHQgc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFuZHdyaXRpbmcgcmVzZW1ibGVkIGhpcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBub3QgaGlzLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkZvdXIgYXJyaXZlLiZsdDticiZndDsKVGhyZWUgd2VyZSB3YWl0aW5nLiZsdDticiZndDsKT25lIHJlbWVtYmVycyB0aGUgZG9vci4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3ROb3RlYm9va0NoYW5nZWQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtXcml0aW5nIGFwcGVhcmVkIGluIFNjb290JiMzOTtzIG5vdGVib29rIHdpdGhvdXQgU2Nvb3QgcHJvZHVjaW5nIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtGb3VyIGFycml2ZS4gVGhyZWUgd2VyZSB3YWl0aW5nLiBPbmUgcmVtZW1iZXJzIHRoZSBkb29yLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOb3RlYm9vayBhbm9tYWx5OiZsdDsvc3Ryb25nJmd0OyBBIG1lc3NhZ2UgYXBwZWFyZWQgaW4gaGFuZHdyaXRpbmcgdGhhdAoJcmVzZW1ibGVzIFNjb290JiMzOTtzIGJ1dCB3YXMgbm90IHdyaXR0ZW4gYnkgU2Nvb3QuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHRvdWNoZWQgdGhlIHdvcmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGluayB3YXMgZHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhZ2UgYmVuZWF0aCBpdCBmZWx0IGRhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGZhaW50IHNtZWxsIG9mIHNvaWwgcm9zZSBmcm9tIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFNjb290IGRvIHdpdGggdGhlIG1lc3NhZ2U/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1R1cm4gdGhlIG5vdGVib29rIHVwc2lkZSBkb3duIGFuZCBpbnNwZWN0IHRoZSBtYXJrcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IFJvdGF0ZXMgdGhlIE5vdGVib29rJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtIaWRlIHRoZSBub3RlYm9vayBiZWZvcmUgYW55b25lIHNlZXMgdGhlIHByaXZhdGUgcGFnZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgSGlkZXMgdGhlIE5vdGVib29rJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBZGQgYSB3cml0dGVuIHF1ZXN0aW9uIGJlbmVhdGggdGhlIG1lc3NhZ2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBBbnN3ZXJzIHRoZSBOb3RlYm9vayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzMiIG5hbWU9IlNjb290IE1vdmVzIHRoZSBEZXNrIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTUwLDg5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdE1vdmVkRGVzayA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHNoYWRvdyBpcyBhdHRhY2hlZCB0byBTY29vdCBvciB0aGUgZGVzayZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgcGxhY2VkIGJvdGggaGFuZHMgYmVuZWF0aCB0aGUgZGVzayBhbmQgbGlmdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1ldGFsIGxlZ3Mgc2NyYXBlZCBhY3Jvc3MgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBzdHVkZW50cyBsb29rZWQgb3Zlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0ZWFjaGVyIGhhZCBub3QgeWV0IGVudGVyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IHdhcyB1c2VmdWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBtb3ZlZCB0aGUgZGVzayBleGFjdGx5IG9uZSB0aWxlIHRvIHRoZSBsZWZ0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBoZSBtb3ZlZCB0aGUgY2hhaXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3JkaW5hcnkgc2hhZG93IG1vdmVkIHdpdGggaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdyb25nIHNoYWRvdyBkaWQgbm90LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcmVtYWluZWQgYmVuZWF0aCB0aGUgb3JpZ2luYWwgZGVzayBsb2NhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFuIGVtcHR5IGh1bWFuLXNoYXBlZCBvdXRsaW5lIGxheSBhY3Jvc3MgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc3RlcHBlZCBhd2F5IGZyb20gaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3V0bGluZSBzaGlmdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXRzIGhlYWQgdHVybmVkIHRvd2FyZCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBkZWNpZGVkIHRoZSBleHBlcmltZW50IGhhZCBwcm9kdWNlZCBlbm91Z2ggaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIHdyb25nIHNoYWRvdyByZW1haW5lZCBiZWhpbmQgd2hlbiBTY29vdCBtb3ZlZCB0aGUgZGVzayZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25maXJtZWQgYW5vbWFseTombHQ7L3N0cm9uZyZndDsgVGhlIHdyb25nIHNoYWRvdyByZW1haW5lZCBhdCB0aGUKCW9yaWdpbmFsIGRlc2sgYWZ0ZXIgU2Nvb3QgYW5kIHRoZSBmdXJuaXR1cmUgbW92ZWQgYXdheS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIG92ZXJoZWFkIGxpZ2h0IGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNtYWxsIGRhcmsgbWFyayByZW1haW5lZCBvbiB0aGUgZmxvb3Igd2hlcmUgaXRzIGNoZXN0IGhhZCBiZWVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hcmsgcmVzZW1ibGVkIGEgY2lyY2xlIGRpdmlkZWQgaW50byBzaXggY3VydmVkIHNlY3Rpb25zLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3RGb3VuZEhleGFmb2lsID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7QSBzaXgtcGV0YWxlZCBtYXJrIHJlbWFpbmVkIHdoZXJlIHRoZSB3cm9uZyBzaGFkb3cgZGlzYXBwZWFyZWQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1NrZXRjaCB0aGUgbWFyayBpbiB0aGUgcG9ldHJ5IG5vdGVib29rLSZndDtTY29vdCBPcGVucyB0aGUgUG9ldHJ5IE5vdGVib29rXV0KCVtbSW5zcGVjdCB0aGUgY2xhc3Nyb29tIGRvb3IgaW5zdGVhZC0mZ3Q7U2Nvb3QgV2F0Y2hlcyB0aGUgQ2xhc3Nyb29tIERvb3JdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIzNCIgbmFtZT0iU2Nvb3QgSWdub3JlcyB0aGUgU2hhZG93IiB0YWdzPSIiIHBvc2l0aW9uPSIxMzc1LDg5MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdElnbm9yZWRTaGFkb3cgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290RG91YnRzRGlzbWlzc2VkICs9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Rm9jdXMgb24gaG9tZXJvb20gYW5kIGF2b2lkIGF0dHJhY3RpbmcgYXR0ZW50aW9uJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXdheSBmcm9tIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZXJlIHdlcmUgcmVhc29uYWJsZSBleHBsYW5hdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGbHVvcmVzY2VudCBsaWdodHMgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT2xkIHdpbmRvd3MgcmVmbGVjdGVkIHRoaW5ncy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoYWRvd3Mgc3RyZXRjaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRmFjZXMgZGlkIHVuZm9ydHVuYXRlIHRoaW5ncyB3aGVuIHBlb3BsZSB0cmllZCB0b28gaGFyZCB0byBzbWlsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBiZXN0IHJlc3BvbnNlIHdhcyB0byBzaXQgc3RpbGwgYW5kIGF2b2lkIGNyZWF0aW5nIGEgc2Vjb25kIGluY2lkZW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgZmFjZWQgdGhlIGNoYWxrYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhZG93IGJlbmVhdGggaGlzIGRlc2sgc2xvd2x5IGNyb3NzZWQgdGhlIGZsb29yIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBkaWQgbm90IHNlZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdobyBoYWQgbW92ZWQgYXdheSBkaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBnYXRoZXJlZCB0aGUgcmVtYWluaW5nIGJlbG9uZ2luZ3MgYW5kIG1vdmVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRmFydGhlciB0aGlzIHRpbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBwcmV0ZW5kZWQgbm90IHRvIG5vdGljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgcmVhY2hlZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBzbGlwcGVkIGJlbmVhdGggaXQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7QW5vdGhlciBzdHVkZW50IG1vdmVkIGF3YXkgYWZ0ZXIgd2F0Y2hpbmcgc29tZXRoaW5nIGNyb3NzIHRoZSBmbG9vciBiZWhpbmQgU2Nvb3QmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSWdub3Jpbmcgc29tZXRoaW5nIGRpZCBub3QgbWFrZSBpdCBkaXNhcHBlYXIuJmx0O2JyJmd0OwpTb21ldGltZXMgaXQgb25seSBtZWFudCBzb21lb25lIGVsc2Ugc2F3IGl0IGZpcnN0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpGcm9tIHRoZSBoYWxsd2F5IGNhbWUgdGhyZWUgc29mdCBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgdG93YXJkIHRoZSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB0aGUgY2xhc3Nyb29tIGRvb3ItJmd0O1Njb290IFdhdGNoZXMgdGhlIENsYXNzcm9vbSBEb29yXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzUiIG5hbWU9IlNjb290IFJvdGF0ZXMgdGhlIE5vdGVib29rIiB0YWdzPSIiIHBvc2l0aW9uPSI2MjUsOTA3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBub3RlYm9vayBtZXNzYWdlIGNvbnRhaW5zIGFub3RoZXIgcGF0dGVybiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgdHVybmVkIHRoZSBub3RlYm9vayB1cHNpZGUgZG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0aHJlZSBsaW5lcyBzdG9wcGVkIHJlc2VtYmxpbmcgc2VudGVuY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxvb3BzIGluIHRoZSBoYW5kd3JpdGluZyBhbGlnbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBsZXR0ZXJzIG92ZXJsYXBwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY29tYmluZWQgbWFya3MgZm9ybWVkIGEgY2lyY2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2l4IGN1cnZlZCBzZWN0aW9ucyBzcHJlYWQgZnJvbSBpdHMgY2VudGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBmbG93ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFeGNlcHQgaXQgZGlkIG5vdCBsb29rIGRlY29yYXRpdmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBsb29rZWQgbWVhc3VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbnRlbnRpb25hbC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJHNjb290Rm91bmRIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBub3RlYm9vayBtZXNzYWdlIGZvcm1zIGEgc2l4LXBldGFsZWQgc3ltYm9sIHdoZW4gdmlld2VkIHVwc2lkZSBkb3duJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpZGRlbiBwYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBXaGVuIHR1cm5lZCB1cHNpZGUgZG93biwgdGhlIG5vdGVib29rCgltZXNzYWdlIGZvcm1zIGEgc2l4LXBldGFsZWQgc3ltYm9sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUd28gc2hvcnQgbWFya3MgYXBwZWFyZWQgaW5zaWRlIG9uZSBwZXRhbC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpJSS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgdHVybmVkIHRoZSBub3RlYm9vayB1cHJpZ2h0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN5bWJvbCBiZWNhbWUgd29yZHMgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2xhc3Nyb29tIGRvb3Igb3BlbmVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTZWUgd2hvIGVudGVyZWQgdGhlIHJvb20tJmd0O1J5YW4gQXJyaXZlcyBpbiBTY29vdCBIb21lcm9vbV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjM2IiBuYW1lPSJSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb20iIHRhZ3M9IiIgcG9zaXRpb249IjUwMCw5Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogSG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgaGFwcGVuZWQgdG8gUnlhbiBiZWZvcmUgaG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05hbnUgTmFudSwgU2Nvb3QhJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgdXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIEdydWJsZXIgc3Rvb2QgYmVzaWRlIHRoZSBkZXNrLCBzbWlsaW5nIGFzIGlmIHRoZSBtb3JuaW5nIGhhZCBnb25lCmV4YWN0bHkgYWNjb3JkaW5nIHRvIHBsYW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGVsbWV0IHN1Z2dlc3RlZCBvdGhlcndpc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCB3YXMgZ2xvc3N5IHJlZCB3aXRoIGEgd2hpdGUgQiBvbiB0aGUgZnJvbnQgYW5kIGEgYmx1ZSBwbGFzdGljIHZpc29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHRoZSBjb25zdHJ1Y3Rpb24gaGVsbWV0IFJ5YW4gaGFkIHdvcm4gdGhlIHllYXIgYmVmb3JlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcyBvbmUgbG9va2VkIG5ld2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9yZSBvZmZpY2lhbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBvc3NpYmx5IGJldHRlciBzdWl0ZWQgZm9yIHN1cnZpdmluZyB3aGF0ZXZlciBSeWFuIGJlbGlldmVkIHdhcyBjdXJyZW50bHkKdHJ5aW5nIHRvIGtpbGwgaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc3RhcmVkIGF0IHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIG5vdGljZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOZXcgc2Nob29sLCBuZXcgc2Nob29sIHllYXIsIG5ldyBtZSwgbmV3IGhlbG1ldC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1JlZCBTb3g/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDsxOTc2IEJvc3RvbiBSZWQgU294IGJhdHRlciYjMzk7cyBoZWxtZXQuIEdpZnQgc2hvcC4gTm90IHJlZ3VsYXRpb24uIEJ1dCBpdCBjYW4KdGFrZSBhIGhpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4ga25vY2tlZCBvbiB0aGUgaGVsbWV0IHdpdGggaGlzIGtudWNrbGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBydWJiZWQgaGlzIGtudWNrbGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd3Jvbmcgc2hhZG93IHdhcyBnb25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIG5vdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcGxhY2VkIGhpcyBib29rcyBvbiB0aGUgbmVpZ2hib3JpbmcgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0d1ZXNzIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGZlZWwgbGlrZSB5b3UmIzM5O3JlIGdvaW5nIHRvIHRlbGwgbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHJlcXVlc3RlZCBhIHNjaGVkdWxlIGNoYW5nZS4gTm93IEkmIzM5O20gaW4geW91ciBob21lcm9vbSBhbmQgc2V2ZXJhbCBvZiB5b3VyCmNsYXNzZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHNhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FyZW4mIzM5O3Qgd2UgbHVja3k/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBoYWQgc3BlbnQgcGFydCBvZiB0aGUgc3VtbWVyIGxvb2tpbmcgZm9yd2FyZCB0byBvY2Nhc2lvbmFsIFJ5YW4tZnJlZQpwZXJpb2RzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiB3YXMgU2Nvb3QmIzM5O3MgYmVzdCBmcmllbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHdhcyBhbHNvIGxpa2UgYW4gYW5ub3lpbmcgeW91bmdlciBicm90aGVyIHdobyBoYWQgbGVhcm5lZCBob3cgdG8gc3VibWl0CnNjaGVkdWxlLWNoYW5nZSBmb3Jtcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IG5vdGljZWQgYSBkYXJrIHN0cmVhayBuZWFyIHRoZSBlZGdlIG9mIFJ5YW4mIzM5O3Mgc2hvZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck11ZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9yIHNvbWV0aGluZyB0aGF0IGxvb2tlZCBsaWtlIG11ZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gZm9sbG93ZWQgU2Nvb3QmIzM5O3MgZ2F6ZSBhbmQgcHVsbGVkIHRoZSBmb290IGJlbmVhdGggdGhlIGRlc2suCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBTY29vdCBhc2sgZmlyc3Q/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgUnlhbiBoYXMgbXVkIG9uIGhpcyBzaG9lLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgQXNrcyBBYm91dCBSeWFuIFNob2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgUnlhbiBjaGFuZ2VkIGludG8gU2Nvb3QmIzM5O3MgaG9tZXJvb20uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBRdWVzdGlvbnMgdGhlIFNjaGVkdWxlIENoYW5nZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBSeWFuIGFib3V0IHRoZSB3cm9uZy1tb3Zpbmcgc2hhZG93LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290VG9sZFJ5YW5BYm91dFNoYWRvdyA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLnJlY29yZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgVGVsbHMgUnlhbiBBYm91dCB0aGUgU2hhZG93JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtIaWRlIHRoZSBub3RlYm9vayBhbmQgYWN0IGFzIHRob3VnaCBub3RoaW5nIGhhcHBlbmVkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IEhpZGVzIHRoZSBNeXN0ZXJ5IGZyb20gUnlhbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzciIG5hbWU9IlNjb290IEhpZGVzIHRoZSBOb3RlYm9vayIgdGFncz0iIiBwb3NpdGlvbj0iMTI1MCw5MzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJvdGVjdCB0aGUgbm90ZWJvb2sgYW5kIGF2b2lkIGV4cG9zaW5nIFNjb290JiMzOTtzIHByaXZhdGUgd3JpdGluZyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgY2xvc2VkIHRoZSBub3RlYm9vayBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHNsaWQgaXQgYmVuZWF0aCBoaXMgc2NoZWR1bGUgYW5kIHBsYWNlZCBib3RoIGhhbmRzIG92ZXIgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb2JvZHkgbmVlZGVkIHRvIHNlZSB0aGUgbWVzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vcmUgaW1wb3J0YW50bHksIG5vYm9keSBuZWVkZWQgdG8gc2VlIHRoZSBwYWdlcyBiZWZvcmUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcG9lbSBhYm91dCByYWluIGFnYWluc3QgdGhlIGd5bW5hc2l1bSB3aW5kb3dzIHdhcyBwcml2YXRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU28gd2FzIHRoZSB1bmZpbmlzaGVkIG9uZSBhYm91dCB0aGUgcGVyc29uIHdobyBoYWQgc21pbGVkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVzcGVjaWFsbHkgdGhhdCBvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbm90ZWJvb2sgc2hpZnRlZCBiZW5lYXRoIFNjb290JiMzOTtzIGhhbmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgcHJlc3NlZCBoYXJkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgc2NyYXRjaGVkIGFnYWluc3QgdGhlIHBhcGVyIGZyb20gaW5zaWRlIHRoZSBjbG9zZWQgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBzaG9ydCBsaW5lcyBhcHBlYXJlZCB0aHJvdWdoIHRoZSBjb3Zlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBkcmF3biBvbiBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJhaXNlZCBiZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTGlrZSBzb21ldGhpbmcgb24gdGhlIGZpcnN0IHBhZ2Ugd2FzIHByZXNzaW5nIG91dHdhcmQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUlJLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIGNsb3NlZCBub3RlYm9vayBwcm9kdWNlZCB0aHJlZSByYWlzZWQgbWFya3MgdGhyb3VnaCBpdHMgY292ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIGNsYXNzcm9vbSBkb29yIG9wZW5lZCBiZWZvcmUgU2Nvb3QgY291bGQgaW5zcGVjdCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTZWUgd2hvIGVudGVyZWQgdGhlIHJvb20tJmd0O1J5YW4gQXJyaXZlcyBpbiBTY29vdCBIb21lcm9vbV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjM4IiBuYW1lPSJTY29vdCBBbnN3ZXJzIHRoZSBOb3RlYm9vayIgdGFncz0iIiBwb3NpdGlvbj0iMTYyNSw5MjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VGVzdCB3aGV0aGVyIHRoZSBub3RlYm9vayBtZXNzYWdlIHJlc3BvbmRzIHRvIHdyaXR0ZW4gcXVlc3Rpb25zJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCB3cm90ZSBiZW5lYXRoIHRoZSBtZXNzYWdlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CldobyBpcyB3YWl0aW5nPwombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtXaG8gaXMgd2FpdGluZz8mcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpIZSBsaWZ0ZWQgdGhlIHBlbmNpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdGhpbmcgaGFwcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCB3YWl0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYnV6emVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjaGFpciBzY3JhcGVkIG5lYXIgdGhlIGJhY2sgb2YgdGhlIHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOZXcgd3JpdGluZyBhcHBlYXJlZCBvbmUgbGV0dGVyIGF0IGEgdGltZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEUgT05FUyBJTiBUSEUgUElDVFVSRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7VGhlIG9uZXMgaW4gdGhlIHBpY3R1cmUuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIG5vdGVib29rIHJlc3BvbmRlZCB0aGF0IHRoZSBvbmVzIGluIHRoZSBwaWN0dXJlIGFyZSB3YWl0aW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVib29rIHJlc3BvbnNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgdW5rbm93biB3cml0ZXIgY2xhaW1zIHRoYXQg4oCcdGhlCglvbmVzIGluIHRoZSBwaWN0dXJl4oCdIGFyZSB3YWl0aW5nLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCB3cm90ZSBhbm90aGVyIHF1ZXN0aW9uOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CldoYXQgcGljdHVyZT8KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIG5vdGVib29rIGRpZCBub3QgYW5zd2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zdGVhZCwgdGhlIGNsYXNzcm9vbSBkb29yIG9wZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VlIHdobyBlbnRlcmVkIHRoZSByb29tLSZndDtSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb21dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIzOSIgbmFtZT0iU2Nvb3QgQXNrcyBBYm91dCBSeWFuIFNob2UiIHRhZ3M9IiIgcG9zaXRpb249IjE3NzUsNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgbGVmdCB0aGUgZGFyayBtYXRlcmlhbCBvbiBSeWFuJiMzOTtzIHNob2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgaXMgdGhhdCBvbiB5b3VyIHNob2U/JnF1b3Q7IFNjb290IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBkYXJrIHN0cmVhayByYW4gYWxvbmcgdGhlIG91dGVyIGVkZ2Ugb2YgdGhlIHNvbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHdhcyBob3BpbmcgaXQgd2FzIG9yZGluYXJ5IG11ZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IGFuIGFuc3dlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIHRoZSBhbnN3ZXIgSSBwcmVmZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxpZnRlZCB0aGUgc2hvZSBzbGlnaHRseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWF0ZXJpYWwgd2FzIGRhcmsgYnJvd24gYW5kIGRhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBzbWVsbGVkIGxpa2Ugd2V0IHNvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2xhc3Nyb29tIGZsb29yIGJlbmVhdGggUnlhbiYjMzk7cyBkZXNrIHdhcyBkcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBkaWQgeW91IHN0ZXAgaW4gaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQb3NzaWJseSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHN0YXJlZCBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgZG8geW91IHBvc3NpYmx5IHN0ZXAgaW4gbXVkIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgb25lIG9mIHNldmVyYWwgdW5yZXNvbHZlZCBxdWVzdGlvbnMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7UnlhbiBlbnRlcmVkIGhvbWVyb29tIHdpdGggZGFyayBtYXRlcmlhbCByZXNlbWJsaW5nIHdldCBzb2lsIG9uIGhpcyBzaG9lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1BoeXNpY2FsIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4mIzM5O3Mgc2hvZSBjYXJyaWVzIGRhcmssIGRhbXAKCW1hdGVyaWFsIHRoYXQgc21lbGxzIGxpa2Ugd2V0IHNvaWwsIGFsdGhvdWdoIFJ5YW4gY2FtZSBmcm9tIGluc2lkZSB0aGUKCXNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gbG93ZXJlZCBoaXMgdm9pY2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGN1c3RvZGlhbiYjMzk7cyBib290cyB3ZXJlIHdldCB0b28uJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGN1c3RvZGlhbiB3aG8gcGFzc2VkIHRoZSBjbGFzc3Jvb20/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJUnlhbiB0dXJuZWQgdG93YXJkIHRoZSBkb29yLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1doYXQgY3VzdG9kaWFuPyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVNjb290IGV4cGxhaW5lZCB0aGF0IHNvbWVvbmUgcHVzaGluZyBhIGNsZWFuaW5nIGNhcnQgaGFkIHN0b3BwZWQgb3V0c2lkZQoJCXRoZSByb29tLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVJ5YW4gZGlkIG5vdCBsb29rIHJlYXNzdXJlZC4KCSZsdDsvcCZndDsKCgkmbHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBjdXN0b2RpYW4gc2VlbiBvdXRzaWRlIGhvbWVyb29tIG1heSBiZSBjb25uZWN0ZWQgd2l0aCB0aGUgd2V0IG1hdGVyaWFsIGluIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtFdmlkZW5jZSBzaGFyZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gY29uZmlybXMgdGhhdCBhIGN1c3RvZGlhbiBpbnNpZGUKCQl0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBhbHNvIGNhcnJpZWQgc2lnbnMgb2Ygd2F0ZXIgYW5kIHdldCBlYXJ0aC4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKQSBzbWFsbCBwaWVjZSBvZiB0aGUgbWF0ZXJpYWwgZGV0YWNoZWQgZnJvbSBSeWFuJiMzOTtzIHNob2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBsYW5kZWQgYmV0d2VlbiB0aGUgZGVza3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbHVtcCBzcHJlYWQgaW50byBhIHRoaW4gbGluZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IG1vdmVkIGFjcm9zcyB0aGUgdGlsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBkb3duaGlsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRvd2FyZCBTY29vdCYjMzk7cyBiYWNrcGFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRvd2FyZCB0aGUgbm90ZWJvb2sgaW5zaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTdG9wIHRoZSBtb3ZpbmcgdHJhaWwtJmd0O1Njb290IGFuZCBSeWFuIFN0b3AgdGhlIFRyYWlsXV0KCVtbTGV0IGl0IHJlYWNoIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3QgYW5kIFJ5YW4gV2F0Y2ggdGhlIFRyYWlsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDAiIG5hbWU9IlNjb290IGFuZCBSeWFuIFN0b3AgdGhlIFRyYWlsIiB0YWdzPSIiIHBvc2l0aW9uPSIxNzEyLjUsNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJldmVudCB0aGUgbW92aW5nIHRyYWlsIGZyb20gcmVhY2hpbmcgU2Nvb3QmIzM5O3Mgbm90ZWJvb2smcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvd2VyZWQgb25lIHNob2Ugb250byB0aGUgbW92aW5nIGxpbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZGFyayBtYXRlcmlhbCBzdG9wcGVkIGJlbmVhdGggdGhlIHNvbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxlYW5lZCBzaWRld2F5cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0lzIHRoYXQgc2FmZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RlZmluaXRlbHkgbm90LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlbiB3aHkgYXJlIHlvdSBkb2luZyBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgYXNraW5nIHRoZSBtdWQgdG8gc3RvcCBzZWVtZWQgbGVzcyBlZmZlY3RpdmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWF0ZXJpYWwgcHJlc3NlZCBhZ2FpbnN0IFNjb290JiMzOTtzIHNob2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpDb2xkIHRyYXZlbGVkIHRocm91Z2ggdGhlIHJ1YmJlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxpZnRlZCBoaXMgZm9vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0cmFpbCBoYWQgZm9ybWVkIGEgc21hbGwgc3ltYm9sIG9uIHRoZSB0aWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjaXJjbGUgZGl2aWRlZCBpbnRvIHNpeCBjdXJ2ZWQgc2VjdGlvbnMuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEZvdW5kSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgbW92aW5nIG1hdGVyaWFsIGZyb20gUnlhbiYjMzk7cyBzaG9lIGZvcm1lZCBhIHNpeC1wZXRhbGVkIHN5bWJvbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYXRlcmlhbCByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGRhcmsgdHJhaWwgZm9ybWVkIGEgaGV4YWZvaWwgd2hlbgoJU2Nvb3QgYmxvY2tlZCBpdCBmcm9tIHJlYWNoaW5nIHRoZSBub3RlYm9vay4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHN5bWJvbCBkcmllZCBpbnN0YW50bHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNyb3VjaGVkIGJlc2lkZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgb25lIG9mIHRoZSBtYXJrcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09uZSBvZiB3aGF0IG1hcmtzPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzdG9vZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dlIG5lZWQgdG8gY29tcGFyZSBpbmZvcm1hdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2hvdyBSeWFuIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0MSIgbmFtZT0iU2Nvb3QgYW5kIFJ5YW4gV2F0Y2ggdGhlIFRyYWlsIiB0YWdzPSIiIHBvc2l0aW9uPSIxODM3LjUsNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7T2JzZXJ2ZSB3aGF0IHRoZSBtb3ZpbmcgdHJhaWwgZG9lcyB0byBTY29vdCYjMzk7cyBub3RlYm9vayZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qga2VwdCBib3RoIGZlZXQgYXdheSBmcm9tIHRoZSB0cmFpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG93ZXJlZCBvbmUgaGFuZCB0b3dhcmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBjYXVnaHQgUnlhbiYjMzk7cyB3cmlzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dlIGNhbiBvYnNlcnZlIGl0IHdpdGhvdXQgdG91Y2hpbmcgaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dvb2QgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0cmFpbCByZWFjaGVkIFNjb290JiMzOTtzIGJhY2twYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgY2xpbWJlZCB0aGUgZmFicmljIHdpdGhvdXQgbGVhdmluZyBhIHN0YWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHppcHBlciBvcGVuZWQgb25lIHRvb3RoIGF0IGEgdGltZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290JiMzOTtzIG5vdGVib29rIHNsaWQgaGFsZndheSBvdXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY292ZXIgb3BlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUGFnZXMgdHVybmVkIHdpdGhvdXQgd2luZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb3ZlbWVudCBzdG9wcGVkIGF0IHRoZSB1bmtub3duIG1lc3NhZ2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKRm91ciBhcnJpdmUuJmx0O2JyJmd0OwpUaHJlZSB3ZXJlIHdhaXRpbmcuJmx0O2JyJmd0OwpPbmUgcmVtZW1iZXJzIHRoZSBkb29yLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZGFyayBtYXRlcmlhbCBjcm9zc2VkIG91dCBvbmUgd29yZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZsdDtlbSZndDtBcnJpdmUmbHQ7L2VtJmd0Oy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggaXQsIHRoZSBtYXRlcmlhbCB3cm90ZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpSRVRVUk4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7Rm91ciByZXR1cm4uIFRocmVlIHdlcmUgd2FpdGluZy4gT25lIHJlbWVtYmVycyB0aGUgZG9vci4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgZGFyayB0cmFpbCBjaGFuZ2VkIEFSUklWRSB0byBSRVRVUk4gaW4gU2Nvb3QmIzM5O3Mgbm90ZWJvb2smcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWVzc2FnZSBjaGFuZ2VkOiZsdDsvc3Ryb25nJmd0OyBUaGUgbm90ZWJvb2sgbm93IHNheXMgZm91ciB3aWxsIHJldHVybiwKCW5vdCBhcnJpdmUuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcmVhZCB0aGUgcmV2aXNlZCBtZXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Rm91ciB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSB3YXMgaG9waW5nIHlvdSBrbmV3LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBkbyBub3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbm90ZWJvb2sgdHVybmVkIG9uZSBtb3JlIHBhZ2UgYnkgaXRzZWxmLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBub3RlYm9vayB0b2dldGhlci0mZ3Q7U2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0MiIgbmFtZT0iS2V2aW4gQ29tcGFyZXMgdGhlIEhleGFmb2lscyIgdGFncz0iIiBwb3NpdGlvbj0iMjg1MCwxMTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZ3JvdXBDb21wYXJlZEhleGFmb2lscyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSB0aGUgc2FtZSBzeW1ib2wgYXBwZWFycyBhY3Jvc3MgQnJlY2tlbnJpZGdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLZXZpbiBkcmV3IHRoZSBoZXhhZm9pbCBmcm9tIHRoZSBXaW5jaGVzdGVyIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcGxhY2VkIHRoZSBhcmNoaXZlIHRyYWNpbmcgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgdHVybmVkIHRoZSBub3RlYm9vayB1cHNpZGUgZG93biB1bnRpbCBpdHMgaGFuZHdyaXR0ZW4gbGluZXMgZm9ybWVkCmFub3RoZXIgdmVyc2lvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gZGVzY3JpYmVkIHRoZSBtYXJrcyBhc3NvY2lhdGVkIHdpdGggdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgYW5kIGl0cyBicmFzcwp0aHJlc2hvbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIHZlcnNpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUgY2lyY2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUgc2l4IGN1cnZlZCBkaXZpc2lvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEaWZmZXJlbnQgZGFtYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRGlmZmVyZW50IFJvbWFuIG51bWVyYWxzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gYXJyYW5nZWQgdGhlbSBhY2NvcmRpbmcgdG8gd2hlcmUgZWFjaCBvbmUgaGFkIGFwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CldpbmNoZXN0ZXIgc3RhaXJjYXNlOiBYSSZsdDticiZndDsKV2luY2hlc3RlciBkb29yZnJhbWU6IElJJmx0O2JyJmd0OwpTY2hvb2wgcGFzc2FnZTogSUkmbHQ7YnImZ3Q7ClNjb290JiMzOTtzIG5vdGVib29rOiBJSQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVzZSBhcmVuJiMzOTt0IGZvdXIgZGlmZmVyZW50IHN5bWJvbHMsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGV5JiMzOTtyZSB0aGUgc2FtZSBzeXN0ZW0uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UGxhY2VkIGF0IGRpZmZlcmVudCBib3VuZGFyaWVzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGRlZCwgJnF1b3Q7V2l0aCBkaWZmZXJlbnQgYWNjZXNzIHJ1bGVzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIGF0IHRoZSBzZWFsZWQgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuZCBzb21ldGhpbmcga2VlcHMgZGFtYWdpbmcgdGhlbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O0hleGFmb2lscyBhY3Jvc3MgdGhlIHNjaG9vbCBhbmQgV2luY2hlc3RlciBwcm9wZXJ0eSBmb3JtIG9uZSBwcm90ZWN0aXZlIGJvdW5kYXJ5IHN5c3RlbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O01vc3Qga25vd24gaGV4YWZvaWxzIGFyZSB3b3JuLCBwYWludGVkIG92ZXIsIGFsdGVyZWQsIG9yIG5lYXJseSBlcmFzZWQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkZWR1Y3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoZXhhZm9pbHMgZm9ybSBhIGNvbm5lY3RlZCBzeXN0ZW0KCW9mIHByb3RlY3RpdmUgYm91bmRhcmllcywgYW5kIHRoZSBwcm90ZWN0aW9uIGlzIGZhaWxpbmcgaW4gbXVsdGlwbGUKCWxvY2F0aW9ucy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGFnYWluIGF0IHRoZSBmb3VyIHZlcnNpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hcmtzIGhhZCBub3QgYmVlbiBwbGFjZWQgdG8gaWRlbnRpZnkgdGhlIHN0cmFuZ2UgcGxhY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBoYWQgYmVlbiBwbGFjZWQgdG8gY29udHJvbCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZXQgS2V2aW4gY29ubmVjdCB0aGUgcmVtYWluaW5nIGV2aWRlbmNlLSZndDtLZXZpbiBCdWlsZHMgdGhlIEdyb3VwIFBhdHRlcm5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0MyIgbmFtZT0iU2Nvb3QgUXVlc3Rpb25zIHRoZSBTY2hlZHVsZSBDaGFuZ2UiIHRhZ3M9IiIgcG9zaXRpb249IjE5NzUsMzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSBSeWFuIGNoYW5nZWQgaW50byBTY29vdCYjMzk7cyBob21lcm9vbSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2h5IGRpZCB5b3UgY2hhbmdlIGludG8gbXkgaG9tZXJvb20/JnF1b3Q7IFNjb290IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgc3VycHJpc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QmVjYXVzZSB5b3UgYXJlIG15IGJlc3QgZnJpZW5kLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBjb250aW51ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbmQgYmVjYXVzZSBteSBvcmlnaW5hbCBob21lcm9vbSB3YXMgb24gdGhlIGxvd2VyIGZsb29yLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd2FpdGVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb3dlcmVkIGhpcyB2b2ljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgc291bmRzIG1vcmUgbGlrZSB0aGUgcmVhbCByZWFzb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtCb3RoIHJlYXNvbnMgYXJlIHJlYWwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPbmUgcmVhc29uIGNvbXBsZXRlZCBhIHNjaGVkdWxlLWNoYW5nZSBmb3JtLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBjb25zaWRlcmVkIHRoYXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtGYWlyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd3Jvbmcgc2hhZG93IGhhZCBwb2ludGVkIGludG8gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGhhZCBtb3ZlZCBhd2F5IGZyb20gYSByb29tIGNvbm5lY3RlZCB3aXRoIHNvbWV0aGluZyBzdHJhbmdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvdyBoYWQgbW92ZWQgdG93YXJkIFJ5YW4gYmVmb3JlIFJ5YW4gZW50ZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgZmVsdCBpbXBvcnRhbnQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7UnlhbiBjaGFuZ2VkIGhvbWVyb29tcyBwYXJ0bHkgdG8gYXZvaWQgdGhlIGZsb29yIGNvbnRhaW5pbmcgdGhlIGNsb3NlZCBib3lzJiMzOTsgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnlhbiYjMzk7cyBleHBsYW5hdGlvbjombHQ7L3N0cm9uZyZndDsgUnlhbiByZXF1ZXN0ZWQgdGhlIHNjaGVkdWxlIGNoYW5nZQoJcGFydGx5IGJlY2F1c2UgdGhlIG9yaWdpbmFsIGhvbWVyb29tIHdhcyBuZWFyIHRoZSBjbG9zZWQgYm95cyYjMzk7IGJhdGhyb29tLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGhhcHBlbmVkIGluIHRoZSBiYXRocm9vbT8mcXVvdDsgU2Nvb3QgYXNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvIG5vdCBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkbyB5b3UgdGhpbmsgaGFwcGVuZWQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21ldGhpbmcgdGhlIGN1c3RvZGlhbiBkZXNjcmliZWQgYXMgZXZlcnl3aGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGJsaW5rZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtFdmVyeXdoZXJlIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IHdhcyBhbHNvIG15IHF1ZXN0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgd29yZCBtYXkgaGF2ZSBiZWd1biB3aXRoICYjMzk7cm8mIzM5OyZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SGUgdHJpZWQgdG8gYW5zd2VyLCZxdW90OyBSeWFuIHNhaWQuICZxdW90O1RoZSB3b3JkIHN0YXJ0ZWQgd2l0aCBzb21ldGhpbmcgbGlrZQoJCSZsdDtlbSZndDtybyZsdDsvZW0mZ3Q7LiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1JvdD8mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtQb3NzaWJsZS4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtSb290cz8mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlSeWFuIGJlY2FtZSBzdGlsbC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlOZWl0aGVyIG9mIHRoZW0gc3Bva2UgZm9yIGEgbW9tZW50LgoJJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBpbmNvbXBsZXRlIGRlc2NyaXB0aW9uIG1heSBoYXZlIHJlZmVycmVkIHRvIHJvb3RzJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7Ckluc2lkZSBTY29vdCYjMzk7cyBiYWNrcGFjaywgdGhlIG5vdGVib29rIHNjcmFwZWQgYWdhaW5zdCBzb21ldGhpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSB0aW1lcy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2hvdyBSeWFuIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3QgVGVsbHMgUnlhbiBBYm91dCB0aGUgU2hhZG93XV0KCVtbS2VlcCBxdWVzdGlvbmluZyBSeWFuIGZpcnN0LSZndDtTY29vdCBBc2tzIFJ5YW4gZm9yIEV2aWRlbmNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDQiIG5hbWU9IlNjb290IFRlbGxzIFJ5YW4gQWJvdXQgdGhlIFNoYWRvdyIgdGFncz0iIiBwb3NpdGlvbj0iMTkxMi41LDUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290VG9sZFJ5YW5BYm91dFNoYWRvdyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VGVsbCBSeWFuIHdoYXQgaGFwcGVuZWQgd2l0aG91dCBzb3VuZGluZyBpbXBvc3NpYmxlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtNeSBzaGFkb3cgbW92ZWQgd3JvbmcsJnF1b3Q7IFNjb290IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHN0YXJlZCBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCB3YWl0ZWQgZm9yIHRoZSBvYnZpb3VzIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhc2tlZCBhIGRpZmZlcmVudCBvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgd3Jvbmc/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtFdmVyeSBvdGhlciBzaGFkb3cgcG9pbnRlZCB0b3dhcmQgdGhlIHdpbmRvd3MuIE1pbmUgcG9pbnRlZCB0b3dhcmQgdGhlCmRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJHNjb290VGVzdGVkQ2xhc3Nyb29tTGlnaHQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSB0ZXN0ZWQgdGhlIGxpZ2h0LiBPdGhlciBvYmplY3RzIHdvcmtlZCBub3JtYWxseS4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlSeWFuIG5vZGRlZCBhcyB0aG91Z2ggU2Nvb3QgaGFkIHN1Ym1pdHRlZCBhY2NlcHRhYmxlIGxhYm9yYXRvcnkgcmVzdWx0cy4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkc2Nvb3RNb3ZlZERlc2smZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSBtb3ZlZCB0aGUgZGVzay4gVGhlIHNoYWRvdyBzdGF5ZWQgd2hlcmUgaXQgd2FzLiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O0RpZCBpdCByZW1haW4gc2hhcGVkIGxpa2UgeW91PyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1llcy4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtUaGF0IGlzIGhpZ2hseSB1bmZhdm9yYWJsZS4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkc2Nvb3RGb3VuZEhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1RoZW4gaXQgbGVmdCBhIG1hcmsuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJU2Nvb3QgZHJldyB0aGUgc2l4LXBldGFsZWQgc2hhcGUgb24gYSBwaWVjZSBvZiBzY3JhcCBwYXBlci4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlSeWFuIHN0b3BwZWQgbW92aW5nLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1doZXJlIGRpZCB5b3Ugc2VlIHRoYXQ/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VW5kZXIgdGhlIGRlc2suJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJUnlhbiB0b29rIHRoZSBwYXBlciB3aXRob3V0IHRvdWNoaW5nIHRoZSBzeW1ib2wgaXRzZWxmLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O0kgc2F3IG1hcmtzIGxpa2UgdGhhdCBuZWFyIHRoZSBvZmZpY2UuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtSeWFuIHJlY29nbml6ZWQgU2Nvb3QmIzM5O3Mgc2l4LXBldGFsZWQgc3ltYm9sIGFzIGNvbm5lY3RlZCB3aXRoIHRoZSBwcmluY2lwYWwmIzM5O3Mtb2ZmaWNlIG15c3RlcnkmcXVvdDspJmd0OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBzeW1ib2w6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gcmVjb2duaXplcyBTY29vdCYjMzk7cyBzaXgtcGV0YWxlZCBtYXJrCgkJYXMgcGFydCBvZiB0aGUgc2FtZSBteXN0ZXJ5IHN1cnJvdW5kaW5nIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBsb3dlcmVkIGhpcyB2b2ljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSBiZWxpZXZlIG1lPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGp1c3RlZCB0aGUgaGVsbWV0IHdpdGggYm90aCBoYW5kcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgc3BlbnQgdGhlIG1vcm5pbmcgaW4gYSByb29tIHdoZXJlIHRoZSBkb29yd2F5IG5lZWRlZCBwZXJtaXNzaW9uLCB0aGUKc2VjcmV0YXJ5IGtuZXcgbXkgbmFtZSBiZWZvcmUgSSBwcm9wZXJseSBpbnRyb2R1Y2VkIG15c2VsZiwgYW5kIGEgY3VzdG9kaWFuCmxvb2tlZCBsaWtlIGhlIGhhZCB3aXRuZXNzZWQgdGhlIGVuZCBvZiBpbmRvb3IgcGx1bWJpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTbyB0aGF0IGlzIGEgeWVzPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgaXMgYW4gYWZmaXJtYXRpdmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEJlbGlldmVkUnlhbiA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgYW5zd2VyIHNob3VsZCBoYXZlIG1hZGUgU2Nvb3QgZmVlbCBiZXR0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbnN0ZWFkLCBpdCByZW1vdmVkIHRoZSBlYXNpZXN0IGV4cGxhbmF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSWYgUnlhbiBiZWxpZXZlZCBoaW0sIFNjb290IHdhcyBwcm9iYWJseSBub3QgaW1hZ2luaW5nIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTaG93IFJ5YW4gdGhlIG5vdGVib29rIG1lc3NhZ2UtJmd0O1Njb290IFNob3dzIFJ5YW4gdGhlIE5vdGVib29rXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDUiIG5hbWU9IlNjb290IEFza3MgUnlhbiBmb3IgRXZpZGVuY2UiIHRhZ3M9IiIgcG9zaXRpb249IjIwMzcuNSw1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdEFza2VkUnlhbkZvckV2aWRlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciBSeWFuJiMzOTtzIGJhdGhyb29tIHN0b3J5IGhhcyBzdXBwb3J0aW5nIGV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGV2aWRlbmNlIGRvIHlvdSBoYXZlPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc3RyYWlnaHRlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHF1ZXN0aW9uIGhhZCBhcHBhcmVudGx5IGFjdGl2YXRlZCBhIHByZXBhcmVkIHByZXNlbnRhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0ZpcnN0LCBNci4gQW1hcmFsIHdhcyBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2Ugd2l0aCB3ZXQgYm9vdHMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1NlY29uZCwgdGhlIHNlY3JldGFyeSB3b3JlIGEgZ3JlZW4gcmluZyB0aGF0IHJlYWN0ZWQgdG8gdGhlIGRvb3J3YXkuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1RoaXJkLCB0aGUgc2VjcmV0YXJ5IHdvdWxkIG5vdCBleHRlbmQgaGVyIGhhbmQgYWNyb3NzIHRoZSBicmFzcwoJCXRocmVzaG9sZC4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1RoZSB3YWl0aW5nIGFyZWEgYmVjYW1lIHNpbGVudCB3aGVuIFJ5YW4gdG91Y2hlZCB0aGUgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtGb3VydGgsIGV2ZXJ5IHNvdW5kIGluIHRoZSB3YWl0aW5nIGFyZWEgc3RvcHBlZCB3aGVuIEkgdG91Y2hlZCB0aGUKCQl0aHJlc2hvbGQuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZXRpbWVzIHRoZXJlIGlzIG5vdCBlbm91Z2ggbGVmdCB0byBicmluZyBiYWNrJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtGaWZ0aCwgdGhlIHNlY3JldGFyeSBzYWlkIHBlb3BsZSB3aG8gY3Jvc3MgZm9yYmlkZGVuIGJvdW5kYXJpZXMgYXJlCgkJdXN1YWxseSBicm91Z2h0IGJhY2suJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJU2Nvb3QgZm9jdXNlZCBvbiBvbmUgd29yZC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtVc3VhbGx5PyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1NoZSBjb25maXJtZWQgZXhjZXB0aW9ucy4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1RoZSB3b29kZW4gZG9vcnN0b3AgY2FtZSBmcm9tIG91dHNpZGUgdGhlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGxvYWRpbmctZG9jayBkb29yIHdhcyBwcm9wcGVkIG9wZW4gd2l0aCBhIGJsb2NrIGJyb3VnaHQgZnJvbSBvdXRzaWRlCgkJdGhlIHNjaG9vbC4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNvdW50ZWQgdGhlIGRldGFpbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuJiMzOTtzIHN0b3J5IHdhcyBzdHJhbmdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGFsc28gc3BlY2lmaWMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTcGVjaWZpYyBkaWQgbm90IGd1YXJhbnRlZSB0cnV0aC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJ1dCBSeWFuIHJhcmVseSBpbnZlbnRlZCBkZXRhaWxzIHdoZW4gYWN0dWFsIGRldGFpbHMgd2VyZSBhdmFpbGFibGUgdG8gd29ycnkKYWJvdXQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEJlbGlldmVkUnlhbiA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1J5YW4gcHJvdmlkZWQgcm91dGUtc3BlY2lmaWMgZXZpZGVuY2UgY29ubmVjdGluZyB0aGUgYmF0aHJvb20sIGN1c3RvZGlhbiwgc2VjcmV0YXJ5LCBhbmQgb2ZmaWNlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlIHNoYXJlZDombHQ7L3N0cm9uZyZndDsgUnlhbiYjMzk7cyBvYnNlcnZhdGlvbnMgY29ubmVjdCB0aGUgYmF0aHJvb20KCWluY2lkZW50IHdpdGggd2V0IGVhcnRoLCByZXN0cmljdGVkIGJvdW5kYXJpZXMsIGFuZCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T2theSwmcXVvdDsgU2Nvb3Qgc2FpZC4gJnF1b3Q7SSBoYXZlIGV2aWRlbmNlIHRvby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2hvdyBSeWFuIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0NiIgbmFtZT0iU2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2siIHRhZ3M9IiIgcG9zaXRpb249IjIwMzcuNSw2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hhdCB0aGUgbm90ZWJvb2sga25vd3MgYWJvdXQgUnlhbiYjMzk7cyBpbnZlc3RpZ2F0aW9uJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBwbGFjZWQgdGhlIG5vdGVib29rIGJldHdlZW4gdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIGtlcHQgb25lIGhhbmQgb3ZlciB0aGUgZWFybGllciBwYWdlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbm90aWNlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FyZSB0aG9zZSBjbGFzc2lmaWVkPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RXh0cmVtZWx5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7R292ZXJubWVudD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1BlcnNvbmFsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNb3JlIHNlY3VyZSB0aGFuIGdvdmVybm1lbnQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBleHBvc2VkIG9ubHkgdGhlIHBhZ2VzIGNvbnRhaW5pbmcgdGhlIHVuZXhwbGFpbmVkIHdyaXRpbmcuCiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJHNjb290Tm90ZWJvb2tDaGFuZ2VkJmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gcmVhZCB0aGUgbWVzc2FnZSBjYXJlZnVsbHkuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJCUZvdXIgYXJyaXZlLiZsdDticiZndDsKCQlUaHJlZSB3ZXJlIHdhaXRpbmcuJmx0O2JyJmd0OwoJCU9uZSByZW1lbWJlcnMgdGhlIGRvb3IuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkc2Nvb3RGb3VuZEhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCVNjb290IHR1cm5lZCB0aGUgbm90ZWJvb2sgYW5kIHNob3dlZCBSeWFuIHRoZSBzaXgtcGV0YWxlZCBwYXR0ZXJuLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVJ5YW4gYmVjYW1lIHN0aWxsLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O0kgaGF2ZSBzZWVuIHNvbWV0aGluZyBsaWtlIHRoYXQuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7V2hlcmU/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7TmVhciBwbGFjZXMgd2l0aCBydWxlcy4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcGxhY2VkIG9uZSBmaW5nZXIgbmVhciB0aGUgZmluYWwgbGluZSB3aXRob3V0IHRvdWNoaW5nIHRoZSBpbmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPbmUgcmVtZW1iZXJzIHRoZSBkb29yLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHByaW5jaXBhbCYjMzk7cyBkb29yPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Bvc3NpYmx5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGJhdGhyb29tIGRvb3I/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbHNvIHBvc3NpYmxlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGNsYXNzcm9vbSBkb29yPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgdG93YXJkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VG9vIG1hbnkgZG9vcnMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbm90ZWJvb2sgcmVzcG9uZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTmV3IGhhbmR3cml0aW5nIGFwcGVhcmVkIGJlbmVhdGggUnlhbiYjMzk7cyBmaW5nZXI6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTk9UIFRIRSBET09SIFlPVSBDQU4gU0VFLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtOb3QgdGhlIGRvb3IgeW91IGNhbiBzZWUuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIG5vdGVib29rIHRvbGQgUnlhbiBhbmQgU2Nvb3QgdGhhdCB0aGUgcmVsZXZhbnQgZG9vciBpcyBoaWRkZW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SGlkZGVuLWRvb3IgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rIGNsYWltcyB0aGF0IHRoZSBpbXBvcnRhbnQKCWRvb3IgaXMgbm90IGN1cnJlbnRseSB2aXNpYmxlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuJiMzOTtzIGZpbmdlciBtb3ZlZCB0b3dhcmQgdGhlIGhlbG1ldCBicmltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SGlkZGVuIGRvb3JzIHN0aWxsIHJlcXVpcmUgYm91bmRhcmllcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hvdyBkbyB5b3Uga25vdz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgZG9uJiMzOTt0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGp1c3RlZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBhbSBkZXZlbG9waW5nIHRoZSBydWxlIHdoaWxlIHNwZWFraW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhvbWVyb29tIHRlYWNoZXIgZW50ZXJlZCBhbmQgcGxhY2VkIGEgc3RhY2sgb2YgYXR0ZW5kYW5jZSBmb3JtcyBvbiB0aGUKZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNvbnZlcnNhdGlvbiBhcm91bmQgdGhlIHJvb20gc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNsb3NlZCB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGcm9tIGluc2lkZSB0aGUgY2xvc2VkIGNvdmVyIGNhbWUgdGhyZWUga25vY2tzLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciBhdHRlbmRhbmNlIHRvIGJlZ2luLSZndDtTY29vdCBIb21lcm9vbSBBdHRlbmRhbmNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDciIG5hbWU9IlNjb290IEhpZGVzIHRoZSBNeXN0ZXJ5IGZyb20gUnlhbiIgdGFncz0iIiBwb3NpdGlvbj0iMjMyNSwzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIHRoZSBub3RlYm9vayBoaWRkZW4gYW5kIGxlYXJuIHdoYXQgUnlhbiBrbm93cyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2xpZCB0aGUgbm90ZWJvb2sgZmFydGhlciBiZW5lYXRoIGhpcyBzY2hlZHVsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdGhpbmcgaGFwcGVuZWQsJnF1b3Q7IGhlIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCB0aGUgc2NoZWR1bGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGF0IGJvdGggb2YgU2Nvb3QmIzM5O3MgaGFuZHMgcmVzdGluZyBvbiB0b3Agb2YgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IHdhcyBub3QgdGhlIHF1ZXN0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IGRpZG4mIzM5O3QgYXNrIGEgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtFeGFjdGx5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91ciBjb25jZWFsbWVudCBzdHJhdGVneSBiZWdhbiBiZWZvcmUgdGhlIGludGVycm9nYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBpc24mIzM5O3QgYSBjb25jZWFsbWVudCBzdHJhdGVneS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayBzaGlmdGVkIGJlbmVhdGggdGhlIHNjaGVkdWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiB3YXRjaGVkIGl0IG1vdmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBwcmVzc2VkIGRvd24gaGFyZGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm90ZWJvb2sgc2V0dGxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQYXBlciBkb2VzIG5vdCBzZXR0bGUgc2lkZXdheXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBpcyBhbiB1bnVzdWFsIG5vdGVib29rLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBiZWNvbWluZyBjbGVhci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayBwdXNoZWQgdGhlIHNjaGVkdWxlIHVwd2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHdvcmRzIGFwcGVhcmVkIHRocm91Z2ggdGhlIHRoaW4gc2NoZWR1bGUgcGFwZXI6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSEUgS05PV1MgQUxSRUFEWS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7SGUga25vd3MgYWxyZWFkeS4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgbm90ZWJvb2sgcmV2ZWFsZWQgaXRzZWxmIHRvIFJ5YW4gYWZ0ZXIgU2Nvb3QgdHJpZWQgdG8gY29uY2VhbCBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOb3RlYm9vayBpbnRlcmZlcmVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBub3RlYm9vayBleHBvc2VkIGl0cyBtZXNzYWdlCgl0aHJvdWdoIFNjb290JiMzOTtzIHNjaGVkdWxlIGFmdGVyIFNjb290IHRyaWVkIHRvIGhpZGUgaXQgZnJvbSBSeWFuLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuIHJlYWQgdGhlIHdvcmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkbyBJIGtub3cgYWxyZWFkeT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHNsb3dseSByZW1vdmVkIHRoZSBzY2hlZHVsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgYW4gZXhjZWxsZW50IHF1ZXN0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTaG93IFJ5YW4gdGhlIG5vdGVib29rLSZndDtTY29vdCBTaG93cyBSeWFuIHRoZSBOb3RlYm9va11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQ4IiBuYW1lPSJTY29vdCBIb21lcm9vbSBBdHRlbmRhbmNlIiB0YWdzPSIiIHBvc2l0aW9uPSIyMDI1LDc1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgYXR0ZW5kYW5jZSBpbmNsdWRlcyBhIHN0dWRlbnQgd2hvIGlzIG5vdCBwcmVzZW50JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBwaWNrZWQgdXAgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtRdWlldCBkb3duLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNsYXNzcm9vbSBiZWNhbWUgYXBwcm94aW1hdGVseSBxdWlldGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgYmVnYW4gcmVhZGluZyBuYW1lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVhY2ggc3R1ZGVudCBhbnN3ZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc2F0IHdpdGggYm90aCBoYW5kcyBvbiB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qga2VwdCB0aGUgbm90ZWJvb2sgY2xvc2VkIGJlbmVhdGggb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciByZWFjaGVkIFJ5YW4mIzM5O3MgbmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1J5YW4gR3Jvb2JsZXI/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNsb3NlZCBoaXMgZXllcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dydWJsZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQcmVzZW50LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgY29udGludWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2NvdHQgUmV5bm9sZHM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQcmVzZW50LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiB3aGlzcGVyZWQsICZxdW90O1Njb290IFJleW5vbGRzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd2hpc3BlcmVkIGJhY2ssICZxdW90O05vdCBoZWxwaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgcmVhY2hlZCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBwYXVzZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciYjMzk7cyBmaW5nZXIgbW92ZWQgdG8gYSBuYW1lIGJlbG93IHRoZSBwcmludGVkIGxpc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbmFtZSBoYWQgYmVlbiBoYW5kd3JpdHRlbiBpbiBmYWRlZCBpbmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMdWNpbGxlIFZhbGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb2JvZHkgYW5zd2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgUnlhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4mIzM5O3MgZXllcyByZW1haW5lZCBmaXhlZCBvbiB0aGUgYXR0ZW5kYW5jZSBzaGVldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0ZWFjaGVyIHJlcGVhdGVkIHRoZSBuYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7THVjaWxsZSBWYWxlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUga25vY2tzIGFuc3dlcmVkIGZyb20gaW5zaWRlIHRoZSBjbGFzc3Jvb20gd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0ZWFjaGVyIG1hcmtlZCB0aGUgc3R1ZGVudCBwcmVzZW50LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBhdHRlbmRhbmNlIHNoZWV0IGNvbnRhaW5lZCB0aGUgaGFuZHdyaXR0ZW4gbmFtZSBMdWNpbGxlIFZhbGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaHJlZSBrbm9ja3MgYW5zd2VyZWQgd2hlbiB0aGUgdGVhY2hlciBjYWxsZWQgTHVjaWxsZSBWYWxlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0F0dGVuZGFuY2UgYW5vbWFseTombHQ7L3N0cm9uZyZndDsgVGhlIHRlYWNoZXIgbWFya2VkIEx1Y2lsbGUgVmFsZSBwcmVzZW50CglhZnRlciB0aHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2sgYmVuZWF0aCB0aGUgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgbmV3IGxpbmUgaGFkIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClNIRSBBTlNXRVJFRC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7U2hlIGFuc3dlcmVkLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmbHVvcmVzY2VudCBsaWdodHMgZGltbWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgc3R1ZGVudCBpbiB0aGUgcm9vbSBjYXN0IGEgc2hhZG93IHRvd2FyZCB0aGUgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV4Y2VwdCBTY29vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV4Y2VwdCBSeWFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlaXIgc2hhZG93cyByZWFjaGVkIGJlbmVhdGggdGhlIGNsYXNzcm9vbSBkb29yIGFuZCBqb2luZWQgaW4gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFNjb290IHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1NpZ25hbCBSeWFuIHRvIHdhdGNoIHRoZSBzaGFkb3dzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgYW5kIFJ5YW4gRm9sbG93IHRoZSBKb2luZWQgU2hhZG93cyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVjb3JkIEx1Y2lsbGUmIzM5O3MgYXR0ZW5kYW5jZSBiZWZvcmUgdGhlIHNoZWV0IGNoYW5nZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5yZWNvcmQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IFJlY29yZHMgTHVjaWxsZSBBdHRlbmRhbmNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgdGhlIHRlYWNoZXIgd2hvIGFkZGVkIEx1Y2lsbGUgdG8gdGhlIGxpc3QuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC50ZXN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBRdWVzdGlvbnMgTHVjaWxsZSBBdHRlbmRhbmNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0OSIgbmFtZT0iU2Nvb3QgYW5kIFJ5YW4gRm9sbG93IHRoZSBKb2luZWQgU2hhZG93cyIgdGFncz0iIiBwb3NpdGlvbj0iMjIyNSw3MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgdGhlIGpvaW5lZCBzaGFkb3dzIHdpdGhvdXQgbG9zaW5nIHNpZ2h0IG9mIHRoZW0mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHRhcHBlZCBSeWFuJiMzOTtzIGFybS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVpciBzaGFkb3dzIHN0cmV0Y2hlZCBiZW5lYXRoIHRoZSBkZXNrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBkYXJrIHNoYXBlcyBjcm9zc2VkIHRoZSBjbGFzc3Jvb20gZmxvb3IsIHNsaXBwZWQgYmVuZWF0aCB0aGUgZG9vciwgYW5kCmpvaW5lZCBpbiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gdG91Y2hlZCB0aGUgYnJpbSBvZiBoaXMgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RG8geW91IHNlZSB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHBhcnQgd2hlcmUgb3VyIHNoYWRvd3MgbGVmdCB3aXRob3V0IHVzPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WWVzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSB3YXMgaG9waW5nIHlvdSBkaWRuJiMzOTt0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgY29udGludWVkIHRha2luZyBhdHRlbmRhbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTmVpdGhlciBTY29vdCBub3IgUnlhbiBtb3ZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBqb2luZWQgc2hhZG93IHdhaXRlZCBiZW5lYXRoIHRoZSBjbGFzc3Jvb20gZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gaXQgcHVsbGVkIGZvcndhcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCb3RoIGJveXMgZmVsdCB0aGUgbW92ZW1lbnQgYXQgdGhlIHNhbWUgdGltZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBhZ2FpbnN0IHRoZWlyIHNob2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zaWRlIHRoZWlyIGNoZXN0cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckxpa2UgYW4gaW52aXNpYmxlIHN0cmluZyBoYWQgdGlnaHRlbmVkIGJldHdlZW4gdGhlbSBhbmQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7U2Nvb3QmIzM5O3MgYW5kIFJ5YW4mIzM5O3Mgc2hhZG93cyBqb2luZWQgYW5kIHB1bGxlZCB0b3dhcmQgdGhlIGhhbGx3YXkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIGFub21hbHk6Jmx0Oy9zdHJvbmcmZ3Q7IFNjb290IGFuZCBSeWFuIHdpdG5lc3NlZCB0aGVpciBzaGFkb3dzCglqb2luaW5nIGJlbmVhdGggdGhlIGNsYXNzcm9vbSBkb29yIGFuZCBwdWxsaW5nIHRoZW0gdG93YXJkIHRoZSBoYWxsd2F5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgdGhlIHRlYWNoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciB3YXMgc3RpbGwgc3RhcmluZyBhdCB0aGUgYXR0ZW5kYW5jZSBzaGVldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmYWRlZCBuYW1lIHJlbWFpbmVkIGF0IHRoZSBib3R0b20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMdWNpbGxlIFZhbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbm90ZWJvb2sgc2hpZnRlZCBiZW5lYXRoIFNjb290JiMzOTtzIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgY29ybmVyIHBvaW50ZWQgdG93YXJkIHRoZSBjbGFzc3Jvb20gZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gd2hpc3BlcmVkLCAmcXVvdDtXZSBuZWVkIHRvIGZvbGxvdyBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzaGFkb3c/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgY2x1ZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkgYXJlIGN1cnJlbnRseSB0aGUgc2FtZSB0aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgc2ltcGxpZmllcyB0aGUgaW52ZXN0aWdhdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGFic29sdXRlbHkgZG9lcyBub3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZW5kLW9mLWhvbWVyb29tIGJlbGwgcmFuZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBqb2luZWQgc2hhZG93IG1vdmVkIGludG8gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyBpdCBiZWZvcmUgaXQgZGlzYXBwZWFycy0mZ3Q7U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1MCIgbmFtZT0iU2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXkiIHRhZ3M9IiIgcG9zaXRpb249IjIyMjUsODUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogSG9tZXJvb20gSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgdGhlIHNoYWRvd3MgdG8gdGhlIGhpZGRlbiBkb29yd2F5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBwb3VyZWQgaW50byB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkxvY2tlcnMgb3BlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQm9va3MgY2hhbmdlZCBoYW5kcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClZvaWNlcyBib3VuY2VkIGFnYWluc3QgdGhlIGNpbmRlci1ibG9jayB3YWxscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGtlcHQgaGlzIGV5ZXMgb24gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzdGF5ZWQgYmVzaWRlIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZWlyIHNoYWRvd3MgbW92ZWQgc2V2ZXJhbCBmZWV0IGFoZWFkIG9mIHRoZW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBzdGVwcGVkIGFjcm9zcyB0aGUgZGFyayBzaGFwZXMgd2l0aG91dCBub3RpY2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3dzIHR1cm5lZCBhdCB0aGUgZmlyc3QgaW50ZXJzZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgYW5kIFJ5YW4gZm9sbG93ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBhcmUgd2UgZ29pbmc/JnF1b3Q7IFNjb290IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHNoYWRvd3MgYXBwZWFyIHRvIGJlIGhhbmRsaW5nIG5hdmlnYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IHdhcyBub3Qgd2hhdCBJIGFza2VkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgaXMgdGhlIG9ubHkgYW5zd2VyIGN1cnJlbnRseSBhdmFpbGFibGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhZG93cyBwYXNzZWQgdGhlIGxpYnJhcnkgZW50cmFuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGV5IGNvbnRpbnVlZCB0b3dhcmQgdGhlIGVhc3QgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjcm93ZCB0aGlubmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQ2xhc3Nyb29tIG5vaXNlIGZhZGVkIGJlaGluZCBjbG9zZWQgZG9vcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhZG93cyBzdG9wcGVkIGJlc2lkZSBhIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTHVuY2ggbWVudXMsIGxpYnJhcnkgbm90aWNlcywgYW5kIGFuIGF0dGVuZGFuY2UgcG9zdGVyIGNvdmVyZWQgdGhlIGNvcmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIGFib3V0IHRoZSB3YWxsIGFwcGVhcmVkIHVudXN1YWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3QgdGhlIGRvb3IgeW91IGNhbiBzZWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1lc3NhZ2UgaGFkIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVEhFIERPT1IgU0hFIENMT1NFRC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7VGhlIGRvb3Igc2hlIGNsb3NlZC4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtTY29vdCYjMzk7cyBhbmQgUnlhbiYjMzk7cyBzaGFkb3dzIGxlZCB0aGVtIHRvIHRoZSBlYXN0LWhhbGwgYnVsbGV0aW4gYm9hcmQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SGlkZGVuIGxvY2F0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgam9pbmVkIHNoYWRvd3MgbGVkIFNjb290IGFuZCBSeWFuIHRvCgl0aGUgYnVsbGV0aW4gYm9hcmQgY29uY2VhbGluZyBLaW1teSYjMzk7cyBzZWFsZWQgcGFzc2FnZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSBuYXJyb3cgbGluZSBhcHBlYXJlZCBiZXR3ZWVuIHR3byBwYWludGVkIGJsb2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNvbGQgYWlyIHNsaXBwZWQgdGhyb3VnaCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbW92ZWQgb25lIGhhbmQgdG93YXJkIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgY2F1Z2h0IHRoZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8gdG91Y2hpbmcgdW5leHBsYWluZWQgZG9vcndheXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dvb2QgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcmVmbGVjdGlvbiBhcHBlYXJlZCBpbiB0aGUgZ2xhc3MgY292ZXJpbmcgdGhlIGF0dGVuZGFuY2UgcG9zdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIGF0IGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3Rpb24gc2hvd2VkIGZvdXIgc3R1ZGVudHMgc3RhbmRpbmcgaW4gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmx5IFNjb290IGFuZCBSeWFuIHdlcmUgYWN0dWFsbHkgdGhlcmUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBTY29vdCBleGFtaW5lPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTdHVkeSB0aGUgZm91ciByZWZsZWN0ZWQgc3R1ZGVudHMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBTZWVzIEZvdXIgUmVmbGVjdGlvbnMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgcmVmbGVjdGlvbiBiZWZvcmUgaXQgY2hhbmdlcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLnJlY29yZCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgUmVjb3JkcyB0aGUgRm91ciBSZWZsZWN0aW9ucyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIFJ5YW4gd2hldGhlciBoZSBzZWVzIHRoZSBzYW1lIHRoaW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgQ29uZmlybXMgdGhlIFNoYXJlZCBSZWZsZWN0aW9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1MSIgbmFtZT0iU2Nvb3QgUmVjb3JkcyBMdWNpbGxlIEF0dGVuZGFuY2UiIHRhZ3M9IiIgcG9zaXRpb249IjE5MjUsOTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q3JlYXRlIGFuIGluZGVwZW5kZW50IHJlY29yZCBvZiBMdWNpbGxlJiMzOTtzIGF0dGVuZGFuY2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2sgYmVuZWF0aCB0aGUgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHdyb3RlIHF1aWNrbHk6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQXR0ZW5kYW5jZSBzaGVldCBpbmNsdWRlcyBMdWNpbGxlIFZhbGUuJmx0O2JyJmd0OwpObyBzdHVkZW50IGFuc3dlcmVkLiZsdDticiZndDsKVGhyZWUga25vY2tzIGNhbWUgZnJvbSB0aGUgd2FsbC4mbHQ7YnImZ3Q7ClRlYWNoZXIgbWFya2VkIEx1Y2lsbGUgcHJlc2VudC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7QXR0ZW5kYW5jZSBzaGVldCBpbmNsdWRlcyBMdWNpbGxlIFZhbGUuIFRocmVlIGtub2NrcyBhbnN3ZXJlZCBmb3IgaGVyLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNoZWNrZWQgdGhlIHRlYWNoZXImIzM5O3MgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBhdHRlbmRhbmNlIHNoZWV0IHJlbWFpbmVkIHZpc2libGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMdWNpbGxlJiMzOTtzIG5hbWUgd2FzIHN0aWxsIHRoZXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgY2hlY2tlZCBoaXMgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIaXMgZW50cnkgcmVtYWluZWQgdW5jaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIGFwcHJveGltYXRlbHkgdGhyZWUgc2Vjb25kcywgU2Nvb3QgcG9zc2Vzc2VkIHR3byBtYXRjaGluZyByZWNvcmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiB0aGUgdGVhY2hlciBsaWZ0ZWQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFuZHdyaXR0ZW4gbmFtZSBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBmYWRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkdvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBmcm93bmVkIGF0IHRoZSBlbXB0eSBzcGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNoZWNrZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzIGVudHJ5IHN0aWxsIHJlYWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTHVjaWxsZSBWYWxlLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7U2Nvb3QmIzM5O3Mgbm90ZWJvb2sgcHJlc2VydmVkIEx1Y2lsbGUmIzM5O3MgbmFtZSBhZnRlciBpdCBkaXNhcHBlYXJlZCBmcm9tIHRoZSBhdHRlbmRhbmNlIHNoZWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0luZGVwZW5kZW50IHJlY29yZDombHQ7L3N0cm9uZyZndDsgU2Nvb3QmIzM5O3Mgbm90ZWJvb2sgcHJlc2VydmVkIEx1Y2lsbGUmIzM5O3MKCW5hbWUgYWZ0ZXIgdGhlIG9yaWdpbmFsIGhhbmR3cml0aW5nIHZhbmlzaGVkIGZyb20gdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7Ck5ldyB3cml0aW5nIGFwcGVhcmVkIGJlbmVhdGggU2Nvb3QmIzM5O3MgZW50cnkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUFJFU0VOVCBJUyBOT1QgVEhFIFNBTUUgQVMgSEVSRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7UHJlc2VudCBpcyBub3QgdGhlIHNhbWUgYXMgaGVyZS4mcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBzaG93ZWQgdGhlIHNlbnRlbmNlIHRvIFJ5YW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHJlYWQgaXQgdHdpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGRpc3RpbmN0aW9uIGZlZWxzIGludGVudGlvbmFsbHkgdW5wbGVhc2FudC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlbmQtb2YtaG9tZXJvb20gYmVsbCByYW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgYW5kIFJ5YW4mIzM5O3Mgc2hhZG93cyBzbGlwcGVkIGJlbmVhdGggdGhlIGNsYXNzcm9vbSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgdGhlIHNoYWRvd3MgaW50byB0aGUgaGFsbHdheS0mZ3Q7U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1MiIgbmFtZT0iU2Nvb3QgUXVlc3Rpb25zIEx1Y2lsbGUgQXR0ZW5kYW5jZSIgdGFncz0iIiBwb3NpdGlvbj0iMjEyNSw5NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hvIGFkZGVkIEx1Y2lsbGUgVmFsZSB0byB0aGUgYXR0ZW5kYW5jZSBzaGVldCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgcmFpc2VkIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgY29udGludWVkIGxvb2tpbmcgYXQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCByYWlzZWQgdGhlIGhhbmQgaGlnaGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgYXQgaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBhcmUgeW91IGRvaW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVzdGluZyB3aGV0aGVyIGFkdWx0cyBjYW4gc3RpbGwgc2VlIG1lLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgZmluYWxseSBsb29rZWQgdXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZZXMsIFNjb3R0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2Nvb3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciB3YWl0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gYWRkZWQgTHVjaWxsZSBWYWxlIHRvIHRoZSBhdHRlbmRhbmNlIGxpc3Q/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcm9vbSBiZWNhbWUgcXVpZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgY2xhc3Nyb29tIHF1aWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHN0dWRlbnRzIHdhaXRpbmcgZm9yIGFuIHVudXN1YWwgYW5zd2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnl0aGluZyBiZWNhbWUgcXVpZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmx1b3Jlc2NlbnQgbGlnaHRzIHN0b3BwZWQgYnV6emluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoZWF0aW5nIHZlbnQgc3RvcHBlZCByYXR0bGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcGVuY2lsIHN1c3BlbmRlZCBuZWFyIHRoZSBlZGdlIG9mIGEgZGVzayBzdG9wcGVkIHJvbGxpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0x1Y2lsbGUgVmFsZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXJlIGlzIG5vIEx1Y2lsbGUgVmFsZSBpbiB0aGlzIGhvbWVyb29tLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhhbmR3cml0dGVuIG5hbWUgcmVtYWluZWQgZGlyZWN0bHkgYmVuZWF0aCB0aGUgdGVhY2hlciYjMzk7cyBmaW5nZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBwb2ludGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQmIzM5O3MgcmlnaHQgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBsb29rZWQgYXQgdGhlIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciYjMzk7cyBleHByZXNzaW9uIGRpZCBub3QgY2hhbmdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBkb24mIzM5O3Qgc2VlIGFueXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsZWFuZWQgdG93YXJkIFNjb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2VsZWN0aXZlIHZpc2liaWxpdHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGlzIG5vdCBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBmb2xkZWQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGcm9tIGluc2lkZSB0aGUgZm9sZGVkIHBhcGVyIGNhbWUgdGhyZWUga25vY2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgZHJvcHBlZCBpdC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgdGVhY2hlciBjb3VsZCBub3Qgc2VlIEx1Y2lsbGUmIzM5O3MgaGFuZHdyaXR0ZW4gbmFtZSBvbiB0aGUgYXR0ZW5kYW5jZSBzaGVldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RocmVlIGtub2NrcyBjYW1lIGZyb20gaW5zaWRlIHRoZSBmb2xkZWQgYXR0ZW5kYW5jZSBzaGVldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTZWxlY3RpdmUgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFNjb290IGFuZCBSeWFuIGNvdWxkIHNlZSBMdWNpbGxlJiMzOTtzIG5hbWUsCglidXQgdGhlIHRlYWNoZXIgY2xhaW1lZCB0aGUgYXR0ZW5kYW5jZSBzaGVldCBjb250YWluZWQgbm8gc3VjaCBlbnRyeS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGJlbGwgcmFuZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjbGFzc3Jvb20gc291bmRzIHJldHVybmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgc3R1ZGVudCBzdG9vZCBhcyBpZiBub3RoaW5nIHVudXN1YWwgaGFkIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QmIzM5O3Mgc2hhZG93IG1vdmVkIGZpcnN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiYjMzk7cyBmb2xsb3dlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IHRoZSBzaGFkb3dzIGludG8gdGhlIGhhbGx3YXktJmd0O1Njb290IGFuZCBSeWFuIEVudGVyIHRoZSBIYWxsd2F5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNTMiIG5hbWU9IlNjb290IFNlZXMgRm91ciBSZWZsZWN0aW9ucyIgdGFncz0iIiBwb3NpdGlvbj0iMjAyNSwxMTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nvb3RTYXdGb3VyUmVmbGVjdGlvbnMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHRoZSB0d28gYWRkaXRpb25hbCBmaWd1cmVzIGluIHRoZSByZWZsZWN0aW9uJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBzdHVkaWVkIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhpcyByZWZsZWN0aW9uIHN0b29kIGNsb3Nlc3QgdG8gdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiYjMzk7cyByZWZsZWN0aW9uIHN0b29kIGJlc2lkZSBoaW0sIGhlbG1ldCBhbmQgYWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzdHVkZW50IFNjb290IGRpZCBub3QgcmVjb2duaXplIHN0b29kIHNldmVyYWwgZmVldCBiZWhpbmQgdGhlbSBob2xkaW5nIGEKd29ybiBsZWF0aGVyIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGZhZGVkIHllbGxvdyByaWJib24gZXh0ZW5kZWQgZnJvbSBiZW5lYXRoIGl0cyBjbGFzcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmb3VydGggcmVmbGVjdGlvbiBzaG93ZWQgYW5vdGhlciBzdHVkZW50IHN0YW5kaW5nIG5lYXIgdGhlIGhhbGx3YXkKY29ybmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZvdXJ0aCBzdHVkZW50IHdvcmUgYSBkZWFkIGRpZ2l0YWwgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgb3ZlciBoaXMgc2hvdWxkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBiZWhpbmQgaGltIHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIGxvb2tlZCBiYWNrIGF0IHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFsbCBmb3VyIHJlZmxlY3Rpb25zIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBwb3N0ZXIgZ2xhc3MgcmVmbGVjdGVkIFNjb290LCBSeWFuLCBhIHN0dWRlbnQgd2l0aCBhIHJlcG9ydGVyJiMzOTtzIGNhc2UsIGFuZCBhIHN0dWRlbnQgd2VhcmluZyBhIGRlYWQgd2F0Y2gmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Rm91ciByZWZsZWN0ZWQgaW52ZXN0aWdhdG9yczombHQ7L3N0cm9uZyZndDsgVGhlIGdsYXNzIHNob3dlZCBTY29vdCBhbmQKCVJ5YW4gYmVzaWRlIHR3byBzdHVkZW50cyB3aG8gd2VyZSBub3QgcGh5c2ljYWxseSBwcmVzZW50LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBob2xkaW5nIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIGxpZnRlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgZmluZ2VyIHBvaW50ZWQgdG93YXJkIHRoZSBoaWRkZW4gc2VhbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdlYXJpbmcgdGhlIGRlYWQgd2F0Y2ggcG9pbnRlZCBiZWhpbmQgU2Nvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHlldC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTG9vayBmb3Igd2hhdCBzdGFuZHMgYmVoaW5kIHRoZSBncm91cC0mZ3Q7U2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNTQiIG5hbWU9IlNjb290IFNlZXMgdGhlIEZpZnRoIEZpZ3VyZSIgdGFncz0iIiBwb3NpdGlvbj0iMjAyNSwxMjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nvb3RTYXdGaWZ0aEZpZ3VyZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGZpZnRoIGZpZ3VyZSBpcyBpbnNpZGUgdGhlIHJlZmxlY3Rpb24gb3IgdGhlIGhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWZ0aCBmaWd1cmUgc3Rvb2QgYmVoaW5kIHRoZSByZWZsZWN0ZWQgZ3JvdXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBkaWQgbm90IHJlc2VtYmxlIGEgc3R1ZGVudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyB0b28gdGFsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBvdXRsaW5lIGJlbnQgbmVhciB0aGUgY2VpbGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgd29yZSBzb21ldGhpbmcgbG9uZyBhbmQgZGFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBmYWNlIHJlbWFpbmVkIGhpZGRlbiBiZWhpbmQgdGhlIGZvdXIgcmVmbGVjdGVkIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2hpZnRlZCBsZWZ0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBzaGlmdGVkIHJpZ2h0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcmVtYWluZWQgY29uY2VhbGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzaGlmdGVkIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIGFkanVzdGVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGRlbGliZXJhdGVseSBhdm9pZGluZyBpZGVudGlmaWNhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtBIGZpZnRoIHJlZmxlY3RlZCBmaWd1cmUgZGVsaWJlcmF0ZWx5IHJlbWFpbmVkIGhpZGRlbiBiZWhpbmQgdGhlIGZvdXIgc3R1ZGVudHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RmlmdGggcmVmbGVjdGlvbjombHQ7L3N0cm9uZyZndDsgQSB0YWxsIGZpZ3VyZSBzdG9vZCBiZWhpbmQgdGhlIGZvdXIKCXJlZmxlY3RlZCBzdHVkZW50cyBhbmQgbW92ZWQgZGVsaWJlcmF0ZWx5IHRvIGtlZXAgaXRzIGZhY2UgY29uY2VhbGVkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggZmlndXJlIHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBmaW5nZXIgdG91Y2hlZCB0aGUgcmVmbGVjdGVkIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFpbnRlZCBzZWFtIGJlc2lkZSB0aGUgcmVhbCBidWxsZXRpbiBib2FyZCB3aWRlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjcmFjayBvZiBkYXJrbmVzcyBhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNvbGQgYWlyIHJvbGxlZCBpbnRvIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5vdGVib29rIG9wZW5lZCBpbiBTY29vdCYjMzk7cyBoYW5kcy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpGT1VSIFJFVFVSTi4mbHQ7YnImZ3Q7ClRIUkVFIFdBSVQuJmx0O2JyJmd0OwpETyBOT1QgTEVUIFRIRSBGSUZUSCBDUk9TUy4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7Rm91ciByZXR1cm4uIFRocmVlIHdhaXQuIERvIG5vdCBsZXQgdGhlIGZpZnRoIGNyb3NzLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSB0YWxsIHJlZmxlY3Rpb24gbGVhbmVkIHRvd2FyZCB0aGUgb3BlbmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGdyYWJiZWQgdGhlIGJ1bGxldGluIGJvYXJkIGZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBwcmVzc2VkIGJvdGggaGFuZHMgYWdhaW5zdCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9wZW5pbmcgY29udGludWVkIHRvIHdpZGVuLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBTY29vdCByZXNwb25kPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtVc2UgdGhlIG5vdGVib29rJiMzOTtzIGhleGFmb2lsIGFnYWluc3QgdGhlIHNlYW0uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC50ZXN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBVc2VzIHRoZSBOb3RlYm9vayBIZXhhZm9pbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBSeWFuIHRvIGludm9rZSB0aGUgb2ZmaWNlIHBlcm1pc3Npb24gcnVsZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IFVzZXMgUnlhbiBCb3VuZGFyeSBSdWxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtCbG9jayB0aGUgb3BlbmluZyB3aXRoIHRoZSBidWxsZXRpbiBib2FyZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1NSIgbmFtZT0iU2Nvb3QgUmVjb3JkcyB0aGUgRm91ciBSZWZsZWN0aW9ucyIgdGFncz0iIiBwb3NpdGlvbj0iMjIyNSwxMTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nvb3RTYXdGb3VyUmVmbGVjdGlvbnMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByZXNlcnZlIHRoZSByZWZsZWN0ZWQgYXJyYW5nZW1lbnQgYmVmb3JlIGl0IGNoYW5nZXMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBza2V0Y2hlZCBmb3VyIHNpbXBsZSBmaWd1cmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW4gdW5rbm93biBzdHVkZW50IGNhcnJ5aW5nIGEgbGVhdGhlciBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW4gdW5rbm93biBzdHVkZW50IHdlYXJpbmcgYSBkaWdpdGFsIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgYWRkZWQgdGhlIGJ1bGxldGluIGJvYXJkIGFuZCB0aGUgbmFycm93IHNlYW0gaW4gdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXaGVuIHRoZSBza2V0Y2ggd2FzIGNvbXBsZXRlLCBhIGZpZnRoIGZpZ3VyZSBhcHBlYXJlZCBvbiB0aGUgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGhhZCBub3QgZHJhd24gaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggZmlndXJlIHN0b29kIGJlaGluZCB0aGUgb3RoZXIgZm91ci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyB0YWxsZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdHMgYXJtcyBleHRlbmRlZCB0b3dhcmQgdGhlIGdyb3VwLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7U2tldGNoIG9mIGZvdXIgc3R1ZGVudHMgd2l0aCBhbiB1bmV4cGxhaW5lZCBmaWZ0aCBmaWd1cmUgYmVoaW5kIHRoZW0uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7QSBmaWZ0aCBmaWd1cmUgYXBwZWFyZWQgaW4gU2Nvb3QmIzM5O3MgZHJhd2luZyB3aXRob3V0IGJlaW5nIHNrZXRjaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVib29rIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFNjb290IHJlY29yZGVkIGZvdXIgcmVmbGVjdGVkIHN0dWRlbnRzLAoJYnV0IHRoZSBub3RlYm9vayBhZGRlZCBhIGZpZnRoIGZpZ3VyZSBzdGFuZGluZyBiZWhpbmQgdGhlbS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIGF0IHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWZ0aCBmaWd1cmUgd2FzIG5vdyB2aXNpYmxlIHRoZXJlIHRvby4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgZmlmdGggZmlndXJlLSZndDtTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1NiIgbmFtZT0iU2Nvb3QgQ29uZmlybXMgdGhlIFNoYXJlZCBSZWZsZWN0aW9uIiB0YWdzPSIiIHBvc2l0aW9uPSIyMjI1LDEyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFNhd0ZvdXJSZWZsZWN0aW9ucyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q29uZmlybSB0aGF0IFJ5YW4gc2VlcyB0aGUgc2FtZSByZWZsZWN0ZWQgZmlndXJlcyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IG1hbnkgcGVvcGxlIGRvIHlvdSBzZWUgaW4gdGhlIGdsYXNzPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc3R1ZGllZCB0aGUgcG9zdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Rm91ci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hvdyBtYW55IHBlb3BsZSBhcmUgYWN0dWFsbHkgc3RhbmRpbmcgaGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1R3by4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dvb2QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaHkgaXMgdGhhdCBnb29kPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgbWVhbnMgSSBhbSBub3QgdGhlIG9ubHkgb25lIHNlZWluZyBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgZ29vZCBmb3IgZnJpZW5kc2hpcC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcmV0dXJuZWQgaGlzIGF0dGVudGlvbiB0byB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMZXNzIGdvb2QgZm9yIG9iamVjdGl2ZSBzYWZldHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBwb2ludGVkIHRvd2FyZCB0aGUgcmVmbGVjdGlvbiBjYXJyeWluZyB0aGUgbGVhdGhlciBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RG8geW91IGtub3cgdGhhdCBwZXJzb24/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgYWJvdXQgdGhlIG9uZSB3aXRoIHRoZSB3YXRjaD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc2hvb2sgaGlzIGhlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdHdvIHVua25vd24gcmVmbGVjdGlvbnMgbW92ZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlaXIgcmVhbC13b3JsZCBjb3VudGVycGFydHMgcmVtYWluZWQgYWJzZW50LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1J5YW4gaW5kZXBlbmRlbnRseSBjb25maXJtZWQgdGhlIGZvdXIgaW1wb3NzaWJsZSByZWZsZWN0aW9ucyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgc2lnaHRpbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gaW5kZXBlbmRlbnRseSBjb25maXJtZWQgdGhlIHR3byBleHRyYQoJc3R1ZGVudHMgcmVmbGVjdGVkIGluIHRoZSBwb3N0ZXIgZ2xhc3MuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4mIzM5O3MgZXhwcmVzc2lvbiBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlcmUgaXMgYW5vdGhlciBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYmVoaW5kIHRoZSBmb3VyIHJlZmxlY3RlZCBzdHVkZW50cy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgZmlmdGggZmlndXJlLSZndDtTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1NyIgbmFtZT0iU2Nvb3QgVXNlcyBSeWFuIEJvdW5kYXJ5IFJ1bGUiIHRhZ3M9IiIgcG9zaXRpb249IjE4NTAsMTIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1VzZSB0aGUgc2Nob29sJiMzOTtzIHBlcm1pc3Npb24gcnVsZSBhZ2FpbnN0IHRoZSBoaWRkZW4gZG9vcndheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIG9mZmljZSBydWxlLCZxdW90OyBTY29vdCBzYWlkLiAmcXVvdDtQZXJtaXNzaW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiB1bmRlcnN0b29kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgZmFjZWQgdGhlIG9wZW5pbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UgYXJlIG5vdCBwZXJtaXR0ZWQgdG8gY3Jvc3MuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIHJlZmxlY3Rpb24gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gdHJpZWQgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGlzIGlzIGEgcmVzdHJpY3RlZCBoYWxsd2F5LiBZb3UgZG8gbm90IGhhdmUgYXV0aG9yaXphdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGdsYW5jZWQgYXQgaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TW9yZSBvZmZpY2lhbD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgYW0gaW1wcm92aXNpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZG9vcndheSBzaHVkZGVyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggZmlndXJlIHN0b3BwZWQgYXQgdGhlIHJlZmxlY3RlZCB0aHJlc2hvbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHBvaW50ZWQgdG93YXJkIHRoZSBkYXJrbmVzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09ubHkgZ28gd2hlcmUgeW91IGFyZSBhbGxvd2VkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmRzIHRyYXZlbGVkIHRocm91Z2ggdGhlIG9wZW5pbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFzc2FnZSBhbnN3ZXJlZCB3aXRoIHRocmVlIHZpb2xlbnQga25vY2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiB0aGUgZG9vcndheSBiZWdhbiB0byBjbG9zZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtSeWFuJiMzOTtzIHBlcm1pc3Npb24gcnVsZSBwcmV2ZW50ZWQgdGhlIGZpZnRoIGZpZ3VyZSBmcm9tIGNyb3NzaW5nIHRoZSBoaWRkZW4gYm91bmRhcnkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZSBjb25maXJtZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4mIzM5O3MgcnVsZSBjb25jZXJuaW5nIHBlcm1pc3Npb24gYW5kCglyZXN0cmljdGVkIGJvdW5kYXJpZXMgYWZmZWN0ZWQgdGhlIGhpZGRlbiBkb29yd2F5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggcmVmbGVjdGlvbiByYWlzZWQgb25lIGhhbmQgYWdhaW5zdCB0aGUgY2xvc2luZyBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzZWNvbmQgaGFuZCBwcmVzc2VkIGJhY2sgZnJvbSB0aGUgb3RoZXIgc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc21hbGxlciBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBpbnNpZGUgdGhlIHBhc3NhZ2Ugd2FzIGhlbHBpbmcgdGhlbSBjbG9zZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbS2VlcCB0aGUgYm91bmRhcnkgY2xvc2VkLSZndDtLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNTgiIG5hbWU9IktpbW15IFJlYWNoZXMgU2Nvb3QgYW5kIFJ5YW4iIHRhZ3M9IiIgcG9zaXRpb249IjE4NTAsMTMyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IEVhc3QgSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgc3R1ZGVudCB3aG8ga25vd3MgaG93IHRvIHNlYWwgdGhlIGhpZGRlbiBwYXNzYWdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtNb3ZlIHRoZSB0cmFjaW5nIHRvIHRoZSBjZW50ZXIhJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgdG93YXJkIHRoZSBsaWJyYXJ5IGVuZCBvZiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc3R1ZGVudCBodXJyaWVkIHRvd2FyZCB0aGVtIGNhcnJ5aW5nIGEgd29ybiBsZWF0aGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGZhZGVkIHllbGxvdyByaWJib24gZXh0ZW5kZWQgZnJvbSBiZW5lYXRoIGl0cyBjbGFzcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHJlY29nbml6ZWQgdGhlIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBiZWxvbmdlZCB0byBvbmUgb2YgdGhlIGZvdXIgcmVmbGVjdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBkcm9wcGVkIGJlc2lkZSB0aGUgYnVsbGV0aW4gYm9hcmQgYW5kIHB1bGxlZCBhIGZvbGRlZCBzaGVldCBmcm9tCnRoZSBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzaXgtcGV0YWxlZCBzeW1ib2wgY292ZXJlZCB0aGUgcGFwZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IG9mIGl0cyBsaW5lcyBoYWQgZmFkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgd29yZCByZW1haW5lZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpDTE9TRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcHJlc3NlZCB0aGUgdHJhY2luZyBhZ2FpbnN0IHRoZSBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlbWFpbmluZyBvcGVuaW5nIHNlYWxlZCB3aXRoIGEgc29mdCBjbGljay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoYWxsd2F5IGxpZ2h0cyByZXR1cm5lZCB0byBmdWxsIGJyaWdodG5lc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZ2xhc3Mgb3ZlciB0aGUgYXR0ZW5kYW5jZSBwb3N0ZXIgcmVmbGVjdGVkIHRocmVlIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5ld2NvbWVyIHdpdGggdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm91cnRoIHJlZmxlY3RlZCBzdHVkZW50IHdhcyBnb25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU28gd2FzIHRoZSBmaWZ0aCBmaWd1cmUuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7S2ltbXkgdXNlZCBhbiBhcmNoaXZlIGhleGFmb2lsIHRyYWNpbmcgdG8gcmVzZWFsIHRoZSBoaWRkZW4gcGFzc2FnZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOZXcgaW52ZXN0aWdhdG9yOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3R1ZGVudCBmcm9tIHRoZSBmb3VyLXBlcnNvbgoJcmVmbGVjdGlvbiBhcnJpdmVkIGNhcnJ5aW5nIGEgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQga25ldyBob3cgdG8gY2xvc2UgdGhlCgloaWRkZW4gZG9vcndheS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKUnlhbiBwb2ludGVkIGF0IHRoZSB0cmFjaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hlcmUgZGlkIHlvdSBnZXQgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXdjb21lciBsb29rZWQgYXQgUnlhbiYjMzk7cyBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGF0IFNjb290JiMzOTtzIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBhdCB0aGUgZGFyayBtYXRlcmlhbCBkcnlpbmcgbmVhciBSeWFuJiMzOTtzIHNob2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHdhcyBnb2luZyB0byBhc2sgYm90aCBvZiB5b3UgdGhlIHNhbWUgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBjbG9zZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGFyZSB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLaW1teSBXaGl0bW9yZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290IFJleW5vbGRzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TG9uZyBzdG9yeS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UnlhbiBHcnVibGVyLiBQcm9ub3VuY2VkIGV4YWN0bHkgdGhlIHdheSBJIGp1c3QgcHJvbm91bmNlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY2xlYW4gcGFnZSBpbnNpZGUgYWxyZWFkeSBjb250YWluZWQgdGhyZWUgbmFtZXM6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKS0lNTVkmbHQ7YnImZ3Q7ClJZQU4mbHQ7YnImZ3Q7ClNDT09UCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkEgZm91cnRoIGJsYW5rIGxpbmUgd2FpdGVkIGJlbmVhdGggdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvb2tlZCBhdCB0aGUgcG9zdGVyIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1pc3NpbmcgZm91cnRoIHJlZmxlY3Rpb24gaGFkIHdvcm4gYSBkZWFkIGRpZ2l0YWwgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBmb2xsb3dlZCBoaXMgZ2F6ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dlIG5lZWQgdG8gZmluZCBLZXZpbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV2aWV3IFNjb290JiMzOTtzIGRpc2NvdmVyaWVzLSZndDtTY29vdCBDaGFwdGVyIDUgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjU5IiBuYW1lPSJTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yIiB0YWdzPSIiIHBvc2l0aW9uPSIxODUwLDEwNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmV2ZW50IHRoZSBkb29yd2F5IGZyb20gb3BlbmluZyBmYXIgZW5vdWdoIGZvciB0aGUgZmlndXJlIHRvIGNyb3NzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBwdWxsZWQgdGhlIGJ1bGxldGluIGJvYXJkIGF3YXkgZnJvbSB0aGUgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRodW1idGFja3MgYW5kIG5vdGljZXMgc2NhdHRlcmVkIGFjcm9zcyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNhdWdodCBvbmUgZW5kIG9mIHRoZSBmcmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRvZ2V0aGVyLCB0aGV5IHByZXNzZWQgaXQgYWdhaW5zdCB0aGUgd2lkZW5pbmcgc2VhbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3JrIGJlbnQgaW53YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIHB1c2hlZCBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZyYW1lIHNsaWQgc2V2ZXJhbCBpbmNoZXMgYWNyb3NzIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHBsYW50ZWQgYm90aCBmZWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdyb25nIHNoYWRvdyBhcHBlYXJlZCBiZW5lYXRoIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGRpZCBub3Qgam9pbiB0aGUgZmlmdGggZmlndXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcHJlc3NlZCBhZ2FpbnN0IHRoZSBidWxsZXRpbiBib2FyZCBiZXNpZGUgU2Nvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuJiMzOTtzIHNoYWRvdyBqb2luZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIGhhbmRzIGhlbGQgdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvIGJlbG9uZ2VkIHRvIHRoZSBib3lzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvIHdlcmUgb25seSBzaGFkb3dzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIGFuZCBSeWFuJiMzOTtzIHNoYWRvd3MgaGVscGVkIHRoZW0gaG9sZCB0aGUgaGlkZGVuIGRvb3J3YXkgY2xvc2VkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYWRvdyBhbGlnbm1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBpbmRlcGVuZGVudCBzaGFkb3dzIGhlbHBlZCBTY29vdCBhbmQKCVJ5YW4gcHJldmVudCB0aGUgZmlmdGggZmlndXJlIGZyb20gY3Jvc3NpbmcuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBwcmVzc3VyZSBmcm9tIGluc2lkZSB3ZWFrZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgdm9pY2UgYmV5b25kIHRoZSB3YWxsIHNhaWQ6CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3Ugd2lsbCBvcGVuIGl0IGFnYWluLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRvb3J3YXkgYmVnYW4gdG8gY2xvc2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0hvbGQgdGhlIGZyYW1lIGluIHBsYWNlLSZndDtLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjAiIG5hbWU9IlNjb290IENoYXB0ZXIgNSBTdW1tYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSIxODUwLDE0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyNUNvbXBsZXRlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBLZXZpbiBhbmQgYnJpbmcgdGhlIGZvdXIgaW52ZXN0aWdhdG9ycyB0b2dldGhlciZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtDaGFwdGVyIEZpdmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtTY29vdCBSZXlub2xkcyZsdDsvaDEmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJSSBBbG1vc3QgQ29udmluY2VkIE15c2VsZiwgQWxtb3N0CgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgaGFkIGJlZ3VuIGhvbWVyb29tIHdvcnJpZWQgYWJvdXQgaGlzIGZhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IHByb2JsZW0gbm93IG9jY3VwaWVkIGEgbXVjaCBzbWFsbGVyIHBhcnQgb2YgdGhlIG1vcm5pbmcuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2Nvb3QmIzM5O3MgQ2hhcHRlciBGaXZlIGRpc2NvdmVyaWVzOiZsdDsvc3Ryb25nJmd0OwoKCSZsdDt1bCZndDsKCQkmbHQ7bGkmZ3Q7U2Nvb3QmIzM5O3Mgc2hhZG93IG1vdmVkIGluZGVwZW5kZW50bHkgb2YgdGhlIGNsYXNzcm9vbSBsaWdodC4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRzY29vdFRlc3RlZENsYXNzcm9vbUxpZ2h0Jmd0OyZndDsKCQkJJmx0O2xpJmd0O05lYXJieSBvYmplY3RzIGNhc3Qgbm9ybWFsIHNoYWRvd3Mgd2hpbGUgU2Nvb3QmIzM5O3MgZmxvb3Itc2hhZG93IHJlbWFpbmVkIGZpeGVkLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRzY29vdE1vdmVkRGVzayZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgd3Jvbmcgc2hhZG93IHJlbWFpbmVkIGJlaGluZCBhZnRlciBTY29vdCBtb3ZlZCB0aGUgZGVzay4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3RGb3VuZEhleGFmb2lsJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBzaGFkb3cgb3Igbm90ZWJvb2sgcmV2ZWFsZWQgYSBzaXgtcGV0YWxlZCBoZXhhZm9pbCBtYXJrZWQgSUkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290Tm90ZWJvb2tDaGFuZ2VkJmd0OyZndDsKCQkJJmx0O2xpJmd0O1VuZXhwbGFpbmVkIHdyaXRpbmcgYXBwZWFyZWQgaW5zaWRlIFNjb290JiMzOTtzIHByaXZhdGUgbm90ZWJvb2suJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290VG9sZFJ5YW5BYm91dFNoYWRvdyZndDsmZ3Q7CgkJCSZsdDtsaSZndDtTY29vdCBjaG9zZSB0byB0ZWxsIFJ5YW4gYWJvdXQgdGhlIHdyb25nLW1vdmluZyBzaGFkb3cuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7U2Nvb3QgYXR0ZW1wdGVkIHRvIGNvbmNlYWwgdGhlIG5vdGVib29rLCBidXQgaXQgcmV2ZWFsZWQgaXRzZWxmIHRvIFJ5YW4uJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290QmVsaWV2ZWRSeWFuJmd0OyZndDsKCQkJJmx0O2xpJmd0O1J5YW4gc2hhcmVkIGV2aWRlbmNlIGNvbm5lY3RpbmcgdGhlIGJhdGhyb29tIGluY2lkZW50LCB3ZXQgZWFydGgsIGFuZCByZXN0cmljdGVkIGJvdW5kYXJpZXMuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDtsaSZndDtUaGUgYXR0ZW5kYW5jZSBzaGVldCBjb250YWluZWQgdGhlIGhhbmR3cml0dGVuIG5hbWUgTHVjaWxsZSBWYWxlLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RocmVlIGtub2NrcyBhbnN3ZXJlZCB3aGVuIEx1Y2lsbGUmIzM5O3MgbmFtZSB3YXMgY2FsbGVkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSB0ZWFjaGVyIG1hcmtlZCBMdWNpbGxlIHByZXNlbnQgYWx0aG91Z2ggbm8gc3R1ZGVudCBhbnN3ZXJlZCBhbG91ZC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtTY29vdCYjMzk7cyBhbmQgUnlhbiYjMzk7cyBzaGFkb3dzIGxlZCB0aGVtIHRvIHRoZSBzZWFsZWQgZWFzdC1oYWxsIHBhc3NhZ2UuJmx0Oy9saSZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3RTYXdGb3VyUmVmbGVjdGlvbnMmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIGhhbGx3YXkgZ2xhc3MgcmVmbGVjdGVkIGZvdXIgc3R1ZGVudHMgYWx0aG91Z2ggb25seSBTY29vdCBhbmQgUnlhbiB3ZXJlIHByZXNlbnQuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290U2F3RmlmdGhGaWd1cmUmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSBmaWZ0aCBmaWd1cmUgYXR0ZW1wdGVkIHRvIGNyb3NzIHRocm91Z2ggdGhlIGhpZGRlbiBkb29yd2F5LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7bGkmZ3Q7S2ltbXkgV2hpdG1vcmUgdXNlZCBhIGhleGFmb2lsIHRyYWNpbmcgdG8gcmVzZWFsIHRoZSBwYXNzYWdlLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBtaXNzaW5nIGZvdXJ0aCByZWZsZWN0aW9uIGFwcGVhcnMgdG8gcmVwcmVzZW50IEtldmluLiZsdDsvbGkmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7c3RhdHVzLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0luc3RpbmN0OiZsdDsvc3Ryb25nJmd0OyAkc2Nvb3RJbnN0aW5jdAombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7c3RhdHVzLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVib29rIGVudHJpZXM6Jmx0Oy9zdHJvbmcmZ3Q7ICRzY29vdE5vdGVib29rRW50cmllcy5sZW5ndGgKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29tcGFyZWQgaGVyIG5vdGVzIHdpdGggU2Nvb3QmIzM5O3Mgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHN1cHBsaWVkIHRoZSBydWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHN1cHBsaWVkIHRoZSBpbnN0aW5jdCB0aGF0IG5vbmUgb2YgdGhlbSB3YW50ZWQgdG8gY2FsbCBpbnN0aW5jdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBuYW1lIHJlbWFpbmVkIG1pc3NpbmcgZnJvbSB0aGUgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBsb2NrZXIgZG9vciBjbG9zZWQgZmFydGhlciBkb3duIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUga25vY2tzIHNvdW5kZWQgZnJvbSBpbnNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGEgZGlnaXRhbCB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hvcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGbGF0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgUnlhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gYWRqdXN0ZWQgaGlzIGhlbG1ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vYm9keSBuZWVkZWQgdG8gdm90ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZXkgZm9sbG93ZWQgdGhlIHNvdW5kLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0byBDaGFwdGVyIFNpeC0mZ3Q7Q2hhcHRlciA2IFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2MSIgbmFtZT0iQ2hhcHRlciA2IFRyYW5zaXRpb24iIHRhZ3M9IiIgcG9zaXRpb249IjIxMDAsMTQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSA2Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE1haW4gSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIHRoZSBzb3VyY2Ugb2YgdGhlIHNpZ25hbCBmcm9tIEtldmluJiMzOTtzIGRlYWQgd2F0Y2gmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBPbmUmbHQ7L2RpdiZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1udW1iZXImcXVvdDsmZ3Q7Q2hhcHRlciBTaXgmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRm91ciBTdG9yaWVzLCBPbmUgV2FybmluZwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW9iamVjdGl2ZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ltbWVkaWF0ZSBvYmplY3RpdmU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJRmluZCB0aGUgc291cmNlIG9mIHRoZSBzaWduYWwgZnJvbSBLZXZpbiYjMzk7cyBkZWFkIHdhdGNoIGFuZCBkZXRlcm1pbmUgd2h5CgkJdGhyZWUgc3R1ZGVudHMgS2V2aW4gaGFzIG5ldmVyIG1ldCBhcHBlYXIgdG8gYmUgZm9sbG93aW5nIGl0IHRvby4KCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7cG92LW5vdGljZSZxdW90OyZndDsKCVlvdSBhcmUgbm93IHBsYXlpbmcgYXMgJmx0O3N0cm9uZyZndDtLZXZpbiZsdDsvc3Ryb25nJmd0Oy4gS2ltbXksIFJ5YW4sIGFuZCBTY29vdCBoYXZlCglkaXNjb3ZlcmVkIHNlcGFyYXRlIHBhcnRzIG9mIHRoZSBteXN0ZXJ5LiBLZXZpbiBtdXN0IGRlY2lkZSB3aGF0IHRvIHJldmVhbCwKCXdoaWNoIGV2aWRlbmNlIHRvIHRydXN0LCBhbmQgd2hldGhlciB0aGUgV2luY2hlc3RlciBob3VzZSBpcyBjb25uZWN0ZWQgd2l0aAoJZXZlcnl0aGluZyB0aGF0IGhhcHBlbmVkIGluc2lkZSB0aGUgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiYjMzk7cyB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hvcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGbGF0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyZWVuIHJlbWFpbmVkIGRhcmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEZWFkIHdhdGNoZXMgZGlkIG5vdCBiZWVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIGFscmVhZHkgZXN0YWJsaXNoZWQgdGhhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClVuZm9ydHVuYXRlbHksIGVzdGFibGlzaGluZyBzb21ldGhpbmcgZGlkIG5vdCBzdG9wIGl0IGZyb20gaGFwcGVuaW5nIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgc3Rvb2QgYmVzaWRlIGEgcm93IG9mIGxvY2tlcnMgaW4gdGhlIG1haW4gaGFsbHdheSwgdHJ5aW5nIHRvIGRldGVybWluZQp3aGV0aGVyIGFueW9uZSBlbHNlIGhhZCBoZWFyZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNldmVyYWwgc3R1ZGVudHMgcGFzc2VkIHdpdGhvdXQgbG9va2luZyBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGxvY2tlciBzbGFtbWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hvZXMgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgd2F4ZWQgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggYmVlcGVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcyB0aW1lLCB0aHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBzb21ld2hlcmUgYXJvdW5kIHRoZSBjb3JuZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiYjMzk7cyBzdG9tYWNoIHRpZ2h0ZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGtub2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoYWxsd2F5IHdhbGwgYXQgaG9tZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbnZpc2libGUgZm9vdHN0ZXBzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgaW5zaWRlIHRoZSBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb25lIG9mIHRob3NlIHRoaW5ncyBiZWxvbmdlZCBoZXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2FzIGJlZ2lubmluZyB0byBzdXNwZWN0IHRoYXQgaGVyZSBubyBsb25nZXIgbWF0dGVyZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUga25vY2tzLSZndDtLZXZpbiBGb2xsb3dzIHRoZSBXYXRjaCBTaWduYWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2MiIgbmFtZT0iS2V2aW4gRm9sbG93cyB0aGUgV2F0Y2ggU2lnbmFsIiB0YWdzPSIiIHBvc2l0aW9uPSIyNDAwLDEzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgdGhlIHdhdGNoIHNpZ25hbCB3aXRob3V0IGxvc2luZyB0cmFjayBvZiB0aGUgcGF0dGVybiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gZm9sbG93ZWQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggcmVtYWluZWQgZGFyayBhZ2FpbnN0IGhpcyB3cmlzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGJlZXBlZCBldmVyeSB0aW1lIGhlIHJlYWNoZWQgYW4gaW50ZXJzZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25jZSBuZWFyIHRoZSBzdGFpcndlbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd2ljZSBuZWFyIHRoZSBsaWJyYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgdGltZXMgd2hlbiBoZSByZWFjaGVkIHRoZSBlYXN0IGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlcXVlbmNlIG1hdHRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgWEkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgSUkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgbmV3LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4mIzM5O3MgZGVhZCB3YXRjaCBndWlkZWQgaGltIHRocm91Z2ggdGhlIHNjaG9vbCB1c2luZyBhIHNlcXVlbmNlIG9mIG9uZSwgdHdvLCBhbmQgdGhyZWUgYmVlcHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBkZWFkIHdhdGNoIGFwcGVhcnMgY2FwYWJsZSBvZiBndWlkaW5nIEtldmluIHRocm91Z2ggdGhlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBUaGUgd2F0Y2ggaXMgbm8gbG9uZ2VyIG9ubHkgcmVhY3RpbmcgdG8KCWV2ZW50cy4gSXQgYXBwZWFycyB0byBiZSBsZWFkaW5nIEtldmluIHNvbWV3aGVyZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQXQgdGhlIGVuZCBvZiB0aGUgaGFsbHdheSBzdG9vZCBhIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBub3RpY2VzIGhhZCBmYWxsZW4gdG8gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcmsgZnJhbWUgbGVhbmVkIGF3YXkgZnJvbSB0aGUgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgdGhpbiBwYWludGVkIHNlYW0gc2hvd2VkIGJlaGluZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHN0dWRlbnRzIHN0b29kIG5lYXJieS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBjYXJyaWVkIGEgd29ybiBsZWF0aGVyIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgd29yZSBhIGdsb3NzeSByZWQgYmFzZWJhbGwgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGhlbGQgYSBzcGlyYWwgbm90ZWJvb2sgYWdhaW5zdCBoaXMgY2hlc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbGwgdGhyZWUgbG9va2VkIGRpcmVjdGx5IGF0IEtldmluJiMzOTtzIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY29uc2lkZXJlZCB0dXJuaW5nIGFyb3VuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdpdGggdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2Ugc3Bva2UgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLZXZpbiBXaW5jaGVzdGVyPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3RvcHBlZCBjb25zaWRlcmluZyBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIGhvdyB0aGUgc3R1ZGVudCBrbm93cyBLZXZpbiYjMzk7cyBuYW1lLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUXVlc3Rpb25zIEtpbW15JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciB0aGV5IGhlYXJkIHRoZSB3YXRjaCBiZWVwLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYm91dCB0aGUgU2lnbmFsJnF1b3Q7Jmd0OyZndDsKCSZsdDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2MyIgbmFtZT0iS2V2aW4gUXVlc3Rpb25zIEtpbW15IiB0YWdzPSIiIHBvc2l0aW9uPSIyNDAwLDkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSBob3cgdGhlIHN0dWRlbnQgd2l0aCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBrbm93cyBLZXZpbiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IGRvIHlvdSBrbm93IG15IG5hbWU/JnF1b3Q7IEtldmluIGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSB3cml0aW5nIHBhZCByZXN0ZWQgaW5zaWRlIGl0IGJlbmVhdGggYSBmYWRlZCB5ZWxsb3cgcmliYm9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm91ciBuYW1lcyBhcHBlYXJlZCBvbiB0aGUgcGFnZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpLSU1NWSZsdDticiZndDsKUllBTiZsdDticiZndDsKU0NPT1QmbHQ7YnImZ3Q7CktFVklOCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaW5hbCBuYW1lIGhhZCBiZWVuIHdyaXR0ZW4gbW9yZSBkYXJrbHkgdGhhbiB0aGUgb3RoZXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcG9pbnRlZCB0b3dhcmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRpZG4mIzM5O3Qgd3JpdGUgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgb3RoZXIgdHdvLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgd2VhcmluZyB0aGUgaGVsbWV0IHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05laXRoZXIgZGlkIEkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBob2xkaW5nIHRoZSBub3RlYm9vayBzYWlkLCAmcXVvdDtJIGNhbiBiYXJlbHkgcmVhZCBteSBvd24gaGFuZHdyaXRpbmcuClRoYXQgZGVmaW5pdGVseSBpc24mIzM5O3QgbWluZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBiYWNrIGF0IHRoZSBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGFyZSB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLaW1teSBXaGl0bW9yZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGluZGljYXRlZCB0aGUgc3R1ZGVudCBpbiB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UnlhbiBHcnVibGVyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGp1c3RlZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Q29ycmVjdCBwcm9udW5jaWF0aW9uLiBJbXBvcnRhbnQgZGV0YWlsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaW5kaWNhdGVkIHRoZSBzdHVkZW50IHdpdGggdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2NvdHQgUmV5bm9sZHMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTY29vdCwmcXVvdDsgUnlhbiBjb3JyZWN0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTY290dCwmcXVvdDsgU2Nvb3Qgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgZGlzYWdyZWVtZW50IGFwcGVhcnMgb25nb2luZywmcXVvdDsgS2ltbXkgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGFsbW9zdCBzbWlsZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbG1vc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSB3YXRjaCBiZWVwZWQgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmluYWwgbmFtZSBvbiBLaW1teSYjMzk7cyBwYWdlIGRhcmtlbmVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O0tpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UgcmVjb3JkZWQgYWxsIGZvdXIgaW52ZXN0aWdhdG9ycyYjMzk7IG5hbWVzIGJlZm9yZSB0aGV5IG1ldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSBjb250YWluZWQgS2V2aW4mIzM5O3MgbmFtZSBiZWZvcmUgdGhlIGdyb3VwIG1ldCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0dyb3VwIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UgaWRlbnRpZmllZCBLZXZpbiwKCVJ5YW4sIFNjb290LCBhbmQgS2ltbXkgYmVmb3JlIGFsbCBmb3VyIGhhZCBtZXQuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29tcGFyZSB3aGF0IGJyb3VnaHQgZXZlcnlvbmUgdG8gdGhlIGhhbGx3YXktJmd0O1RoZSBGb3VyIEludmVzdGlnYXRvcnMgTWVldF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjY0IiBuYW1lPSJUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXQiIHRhZ3M9IiIgcG9zaXRpb249IjI0NzUsMTE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGdyb3VwVW5pdGVkID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkxlZEludmVzdGlnYXRpb24gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYWQgdGhlIGdyb3VwIGluIGNvbXBhcmluZyB0aGUgZm91ciBzZXBhcmF0ZSBteXN0ZXJpZXMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgdGhyZWUgc3R1ZGVudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBoYWQgZXZpZGVuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGhhZCBydWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGhhZCBhIG5vdGVib29rIHRoYXQgYXBwZWFyZWQgY2FwYWJsZSBvZiBhbnN3ZXJpbmcgcXVlc3Rpb25zIG5vYm9keQp3YW50ZWQgdG8gYXNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIGEgaG91c2UgZnVsbCBvZiBzeW1ib2xzLCBhIG1pc3NpbmcgcGhvdG9ncmFwaCwgYSBkZWFkIHdhdGNoLCBhbgpvcmFuZ2UgY2F0LCBhbmQgYSBncm93aW5nIGNlcnRhaW50eSB0aGF0IHRoZSBtb3JuaW5nIGhhZCBub3QgY29udGFpbmVkIGZvdXIKc2VwYXJhdGUgbXlzdGVyaWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgY29udGFpbmVkIG9uZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlcnMgc2ltcGx5IGhhZCBkaWZmZXJlbnQgcGllY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc2V0IGhpcyBiYWNrcGFjayBvbiB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJZiB3ZSYjMzk7cmUgZ29pbmcgdG8gY29tcGFyZSBldmVyeXRoaW5nLCB3ZSBuZWVkIHRvIGRvIGl0IGluIG9yZGVyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBub2RkZWQgaW1tZWRpYXRlbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBZ3JlZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IHF1ZXN0aW9uZWQgd2h5IEtldmluIHNob3VsZCBiZWdpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgc3VycHJpc2VkIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGFsc28gbWFkZSBoaW0gZmVlbCByZXNwb25zaWJsZSBmb3Igd2hhdGV2ZXIgaGFwcGVuZWQgbmV4dC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpIYXJkeSBCb3lzIHJ1bGU6Jmx0O2JyJmd0OwpTdGFydCB3aXRoIHRoZSBjbHVlIHRoYXQgc2hvdWxkIG5vdCBleGlzdC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7CldoaWNoIHNoYXJlZCBjbHVlIHNob3VsZCBLZXZpbiBleGFtaW5lIGZpcnN0PwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29tcGFyZSBldmVyeSB2ZXJzaW9uIG9mIHRoZSBoZXhhZm9pbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRncm91cEZpcnN0RXZpZGVuY2UgPSAmcXVvdDtoZXhhZm9pbHMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb21wYXJlcyB0aGUgSGV4YWZvaWxzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSBwaG90b2dyYXBocyBhbmQgcmVmbGVjdGVkIGZpZ3VyZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7cGhvdG9ncmFwaHMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb21wYXJlcyB0aGUgUGhvdG9ncmFwaHMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0NvbXBhcmUgdGhlIGhpZGRlbiBkb29yd2F5cyBhbmQgYm91bmRhcnkgcnVsZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7Ym91bmRhcmllcyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIENvbXBhcmVzIHRoZSBCb3VuZGFyaWVzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtUZWxsIHRoZSBncm91cCBhYm91dCB0aGUgV2luY2hlc3RlciBob3VzZSBmaXJzdC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRncm91cEZpcnN0RXZpZGVuY2UgPSAmcXVvdDtob3VzZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNoYXJlcyB0aGUgSG91c2UgTXlzdGVyeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjUiIG5hbWU9IktldmluIEFza3MgQWJvdXQgdGhlIFNpZ25hbCIgdGFncz0iIiBwb3NpdGlvbj0iMjQ1MCw3NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgZ3JvdXAgd2FzIGJyb3VnaHQgdG9nZXRoZXIgZGVsaWJlcmF0ZWx5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IGhlYXIgbXkgd2F0Y2g/JnF1b3Q7IEtldmluIGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgY2FycnlpbmcgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2Ugbm9kZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T25lIGJlZXAuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCB3ZWFyaW5nIHRoZSBoZWxtZXQgaGVsZCB1cCB0d28gZmluZ2Vycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZW4gdHdvLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgd2l0aCB0aGUgbm90ZWJvb2sgYWRkZWQ6CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVuIHRocmVlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBkYXJrIHNjcmVlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSBhbGwgaGVhcmQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSB3ZXJlIGFscmVhZHkgZm9sbG93aW5nIHNvbWV0aGluZywmcXVvdDsgdGhlIGhlbG1ldGVkIHN0dWRlbnQgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O091ciBzaGFkb3dzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgaGFkIGV4cGVjdGVkIHRoZSBhbnN3ZXIgdG8gYmVjb21lIG1vcmUgcmVhc29uYWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGRpZCBub3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNeSBzaGFkb3cgbW92ZWQgd3JvbmcsJnF1b3Q7IHRoZSB0YWxsZXIgc3R1ZGVudCBleHBsYWluZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtSeWFuJiMzOTtzIGpvaW5lZCBpdC4gVGhleSBsZWQgdXMgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIHNoYWRvd3Mgc3RyZXRjaGVkIGJlbmVhdGggdGhlIGdyb3VwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZsdW9yZXNjZW50IGxpZ2h0cyBzaG91bGQgaGF2ZSBjYXN0IGFsbCBmb3VyIGluIHRoZSBzYW1lIGRpcmVjdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluJiMzOTtzIHNoYWRvdyBwb2ludGVkIHRvd2FyZCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG90aGVyIHRocmVlIHBvaW50ZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGFuZCB0aGUgb3RoZXIgc3R1ZGVudHMmIzM5OyBzaGFkb3dzIGd1aWRlZCBhbGwgZm91ciB0b3dhcmQgdGhlIHNhbWUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4mIzM5O3Mgc2hhZG93IHBvaW50ZWQgdG93YXJkIHRoZSBoaWRkZW4gcGFzc2FnZSB3aGlsZSB0aGUgb3RoZXIgc2hhZG93cyBwb2ludGVkIHRvd2FyZCBLZXZpbiZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBUaGUgb3RoZXJzIHdlcmUgbGVkIHRvIHRoZSBkb29yd2F5LiBLZXZpbgoJd2FzIGxlZCB0byB0aGUgb3RoZXJzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGF0IGRpZmZlcmVuY2UgbWF0dGVyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBzaW1wbHkgZGlkIG5vdCBrbm93IHdoeSB5ZXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbXBhcmUgd2hhdCBldmVyeW9uZSBkaXNjb3ZlcmVkLSZndDtUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2NiIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIFNlYWxlZCBQYXNzYWdlIiB0YWdzPSIiIHBvc2l0aW9uPSIyNjAwLDkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIHNlYWxlZCBwYXNzYWdlIHJlc2VtYmxlcyB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3RlcHBlZCB0b3dhcmQgdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhaW50ZWQgc2VhbSBmb3JtZWQgYSBkb29yd2F5LXNpemVkIHJlY3RhbmdsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5lYXIgdGhlIGNlbnRlciB3YXMgYSBzaGFsbG93IGNpcmN1bGFyIG1hcmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaXggY3VydmVkIHNlY3Rpb25zIGRpdmlkZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGhleGFmb2lsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gZGlkIG5vdCBuZWVkIGFueW9uZSB0byBleHBsYWluIHRoYXQgcGFydC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIGhhZCBzZWVuIHRoZSBzYW1lIHNoYXBlIG9uIHRoZSBXaW5jaGVzdGVyIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZyb250IGRvb3JmcmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvYWsgdHJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvcmFuZ2UgY2F0JiMzOTtzIHRhZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFuZCBvbmUgb2YgdGhlIHNjaG9vbCBsb2NrZXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgY3JvdWNoZWQgd2l0aG91dCB0b3VjaGluZyBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3byB0aGluIGxpbmVzIG1hcmtlZCBvbmUgb2YgdGhlIHBldGFscy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpJSQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBjaGVja2VkIGhpcyB3YXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY3JlZW4gZmxhc2hlZCBvbmNlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClhJCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZW4gaXQgcmV0dXJuZWQgdG8gZGFya25lc3MuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkTnVtYmVycyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7VGhlIHNlYWxlZCBzY2hvb2wgZG9vcndheSBtYXJrZWQgSUkgcmVhY3RlZCB0byBLZXZpbiYjMzk7cyB3YXRjaCBieSBkaXNwbGF5aW5nIFhJJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgaGlkZGVuIHNjaG9vbCBwYXNzYWdlIGNvbm5lY3RlZCBSb21hbiBudW1lcmFscyBJSSBhbmQgWEkgdGhyb3VnaCBLZXZpbiYjMzk7cyB3YXRjaCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzY2hvb2wgZG9vcndheSBiZWFycyB0aGUgc2FtZQoJaGV4YWZvaWwgYW5kIG51bWVyYWwgSUkgZm91bmQgbmVhciB0aGUgV2luY2hlc3RlciBob3VzZS4gS2V2aW4mIzM5O3Mgd2F0Y2gKCXJlc3BvbmRlZCBieSBkaXNwbGF5aW5nIFhJLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IG1hcmsgaXMgYXQgbXkgaG91c2UsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbGwgdGhyZWUgc3R1ZGVudHMgYmVjYW1lIHF1aWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3Rvb2QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3IgdGhlIGZpcnN0IHRpbWUgdGhhdCBtb3JuaW5nLCBoZSBwb3NzZXNzZWQgaW5mb3JtYXRpb24gdGhlIG90aGVycyBjbGVhcmx5Cm5lZWRlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGVsbCB0aGVtIHdoYXQgaGFwcGVuZWQgYXQgdGhlIFdpbmNoZXN0ZXIgaG91c2UtJmd0O0tldmluIFNoYXJlcyB0aGUgSG91c2UgTXlzdGVyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjY3IiBuYW1lPSJLZXZpbiBTaGFyZXMgdGhlIEhvdXNlIE15c3RlcnkiIHRhZ3M9IiIgcG9zaXRpb249IjI2MDAsMTAyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluU2hhcmVkSG91c2VFdmlkZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VGVsbCB0aGUgZ3JvdXAgd2hhdCBoYXBwZW5lZCBpbnNpZGUgdGhlIFdpbmNoZXN0ZXIgaG91c2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IHN0YXJ0ZWQgYXQgbXkgaG91c2UsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd29yZHMgc291bmRlZCB3b3JzZSB3aGVuIHNwb2tlbiBhbG91ZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHRvbGQgdGhlbSBhYm91dCB0aGUgaGFsbHdheSBsYW1wLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvbGQgYWlyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBob3RvZ3JhcGggZmFsbGluZyBmcm9tIHRoZSBzdGFpcmNhc2Ugd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0aHJlZSBnaXJscyB3aG8gaGFkIGJlZW4gaW5zaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBob3RvZ3JhcGggZGlzYXBwZWFyaW5nIGZyb20gYW4gaW50YWN0IGZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhleGFmb2lsIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3Rlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBSb21hbiBudW1lcmFsIFhJLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdldCBmb290cHJpbnQgb24gdGhlIHN0YWlycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzZWNvbmQgaGV4YWZvaWwgbWFya2VkIElJIG5lYXIgdGhlIGZyb250IGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2xvY2sgZnJvemVuIGF0IDk6MTQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggdGhhdCBzdG9wcGVkLCBiZWVwZWQsIGFuZCBkaXNwbGF5ZWQgaW5mb3JtYXRpb24gd2hlbmV2ZXIgc29tZXRoaW5nCmltcG9zc2libGUgaGFwcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb2JvZHkgbGF1Z2hlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgd2FzIG5ldy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGhhZCBzcGVudCB0aGUgZW50aXJlIG1vcm5pbmcgZWRpdGluZyB0aGUgc3RvcnkgaW5zaWRlIGhpcyBoZWFkLApyZW1vdmluZyBkZXRhaWxzIHRoYXQgc291bmRlZCByaWRpY3Vsb3VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIHRoZSBmaXJzdCB0aW1lLCBoZSB0b2xkIHRoZSBjb21wbGV0ZSB2ZXJzaW9uLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBXaW5jaGVzdGVyIGhvdXNlIGNvbnRhaW5lZCBhIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMgdGhhdCBkaXNhcHBlYXJlZCBmcm9tIGl0cyBmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBXaW5jaGVzdGVyIGhvdXNlIGJlYXJzIGhleGFmb2lscyBtYXJrZWQgWEkgYW5kIElJJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7S2V2aW4mIzM5O3MgY2xvY2tzIGFuZCB3YXRjaCByZXBlYXRlZGx5IHN0b3Agb3IgYWN0aXZhdGUgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O0Egd2V0IGJhcmVmb290IHByaW50IGFwcGVhcmVkIG9uIHRoZSBXaW5jaGVzdGVyIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgV2luY2hlc3RlciBob3VzZSBjb25uZWN0cyB0aGUgdGhyZWUKCWdpcmxzLCBoZXhhZm9pbHMsIFJvbWFuIG51bWVyYWxzLCB3ZXQgdHJhY2VzLCBkaXNhcHBlYXJpbmcgZXZpZGVuY2UsIGFuZAoJS2V2aW4mIzM5O3MgbWFsZnVuY3Rpb25pbmcgd2F0Y2guCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCB0aHJvdWdoIGhlciBub3Rlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBwaG90b2dyYXBoIEkgZm91bmQgYWxzbyBzaG93ZWQgdGhyZWUgZ2lybHMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCB0dXJuZWQgdGhlIG5vdGVib29rIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEUgT05FUyBJTiBUSEUgUElDVFVSRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGp1c3RlZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIG1hdGVyaWFsIG5lYXIgdGhlIGJhdGhyb29tIHNtZWxsZWQgbGlrZSB3ZXQgc29pbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0YXJlZCBhdCB0aGUgY29tYmluZWQgZXZpZGVuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgV2luY2hlc3RlciBob3VzZSBoYWQgbm90IG1lcmVseSBiZWVuIHRoZSBmaXJzdCBsb2NhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyB0aGUgbG9jYXRpb24gZXZlcnkgb3RoZXIgY2x1ZSBrZXB0IHRyeWluZyB0byByZWFjaC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGdyb3VwQ29ubmVjdGVkV2luY2hlc3RlckhvdXNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtTZXBhcmF0ZSBldmlkZW5jZSBmcm9tIHRoZSBzY2hvb2wgcG9pbnRzIGJhY2sgdG8gdGhlIFdpbmNoZXN0ZXIgaG91c2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgVGhlIG15c3RlcnkgZGlkIG5vdCBmb2xsb3cgS2V2aW4gZnJvbQoJaG9tZSB0byBzY2hvb2wuIEl0IHdhcyBhbHJlYWR5IHdhaXRpbmcgYXQgYm90aCBsb2NhdGlvbnMuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGV0IEtldmluIGNvbm5lY3QgdGhlIGV2aWRlbmNlLSZndDtLZXZpbiBCdWlsZHMgdGhlIEdyb3VwIFBhdHRlcm5dXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjgiIG5hbWU9IktldmluIE1lZXRzIHRoZSBUaHJlZSBJbnZlc3RpZ2F0b3JzIiB0YWdzPSIiIHBvc2l0aW9uPSIyNjAwLDY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHRoZSBzdHVkZW50cyBnYXRoZXJlZCBuZWFyIHRoZSBzZWFsZWQgZG9vcndheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGFyZSB5b3U/JnF1b3Q7IEtldmluIGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgd2l0aCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbnN3ZXJlZCBmaXJzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0tpbW15IFdoaXRtb3JlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgaW4gdGhlIGhlbG1ldCBwb2ludGVkIHRvd2FyZCBoaW1zZWxmLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UnlhbiBHcnVibGVyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRhbGwgc3R1ZGVudCBsaWZ0ZWQgdGhlIHNwaXJhbCBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb3R0IFJleW5vbGRzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2Nvb3QgUmV5bm9sZHMsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0lnbm9yZSBoaW0uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgZnJvbSBvbmUgc3R1ZGVudCB0byB0aGUgbmV4dC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doeSBhcmUgeW91IHN0YW5kaW5nIGJlc2lkZSBhIHdhbGwgdGhhdCBhbG1vc3QgbG9va3MgbGlrZSBhIGRvb3I/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCB3YXMgYSBkb29yLCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVjaG5pY2FsbHksIGl0IHJlbWFpbnMgYSBkb29yLCZxdW90OyBSeWFuIGFkZGVkLiAmcXVvdDtJdCBpcyBjdXJyZW50bHkgY2hvb3Npbmcgbm90CnRvIGxvb2sgbGlrZSBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBub2RkZWQgdG93YXJkIEtldmluJiMzOTtzIHdyaXN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2h5IGlzIHlvdXIgZGVhZCB3YXRjaCBiZWVwaW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY292ZXJlZCB0aGUgd2F0Y2ggd2l0aCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgd2FzIGEgZ29vZCBxdWVzdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGhhZCBhY2N1bXVsYXRlZCB0b28gbWFueSBnb29kIHF1ZXN0aW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CldoYXQgaGUgbmVlZGVkIHdlcmUgYmV0dGVyIGFuc3dlcnMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbXBhcmUgd2hhdCBicm91Z2h0IGV2ZXJ5b25lIGhlcmUtJmd0O1RoZSBGb3VyIEludmVzdGlnYXRvcnMgTWVldF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjY5IiBuYW1lPSJLZXZpbiBCdWlsZHMgdGhlIEdyb3VwIFBhdHRlcm4iIHRhZ3M9IiIgcG9zaXRpb249IjI2MDAsMTE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluUmVjb2duaXplZEdyb3VwUGF0dGVybiA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIHNpbmdsZSBleHBsYW5hdGlvbiBjb25uZWN0aW5nIHRoZSBncm91cCYjMzk7cyBldmlkZW5jZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gYXJyYW5nZWQgdGhlIGV2aWRlbmNlIG1lbnRhbGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGFzIGZvdXIgc3Rvcmllcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFzIG9uZSBzZXF1ZW5jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwaG90b2dyYXBoIGRpc2FwcGVhcmVkIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW4gb2xkLWZhc2hpb25lZCBjaGlsZCBhcHBlYXJlZCBvbiB0aGUgcm91dGUgdG8gc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIGVudGVyZWQgb3IgZW1lcmdlZCBuZWFyIHRoZSBib3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGlkZGVuIHBhc3NhZ2Ugb3BlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTHVjaWxsZSYjMzk7cyBuYW1lIGFwcGVhcmVkIG9uIGFuIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGlvbnMgc2hvd2VkIGZvdXIgc3R1ZGVudHMgYW5kIGEgZmlmdGggZmlndXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgZXZlbnQgaW52b2x2ZWQgYSBib3VuZGFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV2ZXJ5IGJvdW5kYXJ5IGNhcnJpZWQgYSBkYW1hZ2VkIGhleGFmb2lsIG9yIGFuIG9sZCBydWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgcm91dGUgZXZlbnR1YWxseSBwb2ludGVkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9yIHRvd2FyZCB0aGUgV2luY2hlc3RlciBob3VzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHdhbnRlZCB0byByZWplY3QgdGhlIGNvbmNsdXNpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSZWplY3RpbmcgaXQgd291bGQgbm90IG1ha2UgaXQgbGVzcyBhY2N1cmF0ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBob3VzZSBpcyB0aGUgY2VudGVyLCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IGludGVycnVwdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHBob3RvZ3JhcGggZGlzYXBwZWFyZWQgdGhlcmUgZmlyc3QuIFRoZSBudW1iZXJzIGFyZSB0aGVyZS4gVGhlIHN5bWJvbHMKYXJlIHRoZXJlLiBUaGUgd2F0Y2ggcmVhY3RzIGJlY2F1c2UgSSBsaXZlIHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IEtldmluJiMzOTtzIGRyYXdpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVuIHdoeSBkaWQgdGhlIHNjaG9vbCBwYXNzYWdlIGNhbGwgZm9yIEx1Y2lsbGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBjb25zaWRlcmVkIHRoZSBxdWVzdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgdGhlIHRocmVlIGdpcmxzIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUgaG91c2UuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTmV3IHdvcmRzIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRSBIT1VTRSBSRU1FTUJFUlMgVEhFSVIgTkFNRVMuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1RoZSBob3VzZSByZW1lbWJlcnMgdGhlaXIgbmFtZXMuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgV2luY2hlc3RlciBob3VzZSByZW1lbWJlcnMgdGhlIHRocmVlIGdpcmxzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGhvdG9ncmFwaHMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29tcGxldGUgd29ya2luZyBwYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBUaGUgV2luY2hlc3RlciBob3VzZSBpcyBjb25uZWN0ZWQKCXRvIHRoZSB0aHJlZSBnaXJscywgd2hpbGUgdGhlIHNjaG9vbCYjMzk7cyBkYW1hZ2VkIGJvdW5kYXJpZXMgcHJvdmlkZSByb3V0ZXMKCXRocm91Z2ggd2hpY2ggc29tZXRoaW5nIGlzIGF0dGVtcHRpbmcgdG8gcmV0dXJuLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCB0aGUgc2VhbGVkIGRvb3J3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtSZXR1cm4gZnJvbSB3aGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluJiMzOTtzIHdhdGNoIGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjcmVlbiBsaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKOToxNAombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSBudW1iZXJzIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKMTY3OAombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGlzbiYjMzk7dCBhIHRpbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBrZXB0IGhpcyBleWVzIG9uIHRoZSB3YXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZvdXIgZGlnaXRzIHJlbWFpbmVkIHZpc2libGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCYjMzk7cyBhIHllYXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZpbmQgb3V0IHdoYXQgaGFwcGVuZWQgaW4gMTY3OC0mZ3Q7S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzAiIG5hbWU9IktldmluIENvbXBhcmVzIHRoZSBQaG90b2dyYXBocyIgdGFncz0iIiBwb3NpdGlvbj0iMjU3NSwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZ3JvdXBDb21wYXJlZFBob3RvZ3JhcGhzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciBldmVyeSBpbWFnZSBzaG93cyB0aGUgc2FtZSB0aHJlZSBmaWd1cmVzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLZXZpbiBkZXNjcmliZWQgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBmcm9tIHRoZSBXaW5jaGVzdGVyIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGdpcmxzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT2xkLWZhc2hpb25lZCBjbG90aGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbWFnZSBoYWQgaHVuZyBpbnNpZGUgdGhlIGhvdXNlIGJlZm9yZSBkaXNhcHBlYXJpbmcgZnJvbSBhbiB1bmRhbWFnZWQKZnJhbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkZXNjcmliZWQgdGhlIDE5Mzggc2Nob29sIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGluc2lkZSBhbiB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVpciBwb3NpdGlvbnMgY2hhbmdlZCB3aGlsZSBzaGUgZXhhbWluZWQgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBuYW1lIHNoaWZ0ZWQgYmV0d2VlbiBMdWNpbGxlIGFuZCBMdWN5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2hvd2VkIEtldmluIHRoZSBub3RlYm9vayBtZXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRSBPTkVTIElOIFRIRSBQSUNUVVJFLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiByZW1lbWJlcmVkIHRoZSBmYWNlIGluIHRoZSBidXMgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbnNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBhbHNvIHJlbWVtYmVyZWQgdGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgd2hvIGhhZCBhcHBlYXJlZCBpbnNpZGUgdGhlCnNjaG9vbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1BpY3R1cmVzIGFyZW4mIzM5O3QgaG9sZGluZyB0aGVtLCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG90aGVycyBsb29rZWQgYXQgaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhleSYjMzk7cmUgdXNpbmcgYW55dGhpbmcgdGhhdCByZWZsZWN0cyBvciByZWNvcmRzIGFuIGltYWdlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UGhvdG9ncmFwaHMsJnF1b3Q7IEtpbW15IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaW5kb3dzLCZxdW90OyBTY29vdCBhZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Bvc3NpYmx5IHBvbGlzaGVkIGZsb29ycywmcXVvdDsgUnlhbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IGhpcyBkZWFkIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QW5kIHNjcmVlbnMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgdGhyZWUgZmlndXJlcyBjYW4gbW92ZSB0aHJvdWdoIHBob3RvZ3JhcGhzLCB3aW5kb3dzLCByZWZsZWN0aW9ucywgYW5kIHBvc3NpYmx5IHNjcmVlbnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgbWlzc2luZyBob3VzZSBwaG90b2dyYXBoIGFuZCBjaGFuZ2luZyBzY2hvb2wgcGhvdG9ncmFwaCBzaG93IHRoZSBzYW1lIHRocmVlIGZpZ3VyZXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkZWR1Y3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB0aHJlZSBnaXJscyBhcmUgbm90IGNvbmZpbmVkIHRvIG9uZQoJcGhvdG9ncmFwaC4gVGhlIHRocmVlIGdpcmxzIGNhbiBhcHBlYXIgdGhyb3VnaCBzdXJmYWNlcyB0aGF0IHByZXNlcnZlIG9yCglyZWZsZWN0IGFuIGltYWdlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBzdHVkaWVkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IGZpZ3VyZWQgdGhhdCBvdXQgcXVpY2tseS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCB0b3dhcmQgdGhlIGdsYXNzIGNvdmVyaW5nIHRoZSBidWxsZXRpbiBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kmIzM5O3ZlIGhhZCBwcmFjdGljZSB0b2RheS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGV0IEtldmluIGNvbm5lY3QgdGhlIHJlbWFpbmluZyBldmlkZW5jZS0mZ3Q7S2V2aW4gQnVpbGRzIHRoZSBHcm91cCBQYXR0ZXJuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzEiIG5hbWU9IktldmluIENvbXBhcmVzIHRoZSBCb3VuZGFyaWVzIiB0YWdzPSIiIHBvc2l0aW9uPSIyODI1LDE1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkQm91bmRhcmllcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHNjaG9vbCBhbmQgV2luY2hlc3RlciBob3VzZSBib3VuZGFyaWVzIGNvbnRhaW4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gZXhwbGFpbmVkIHRoZSBwcmluY2lwYWwmIzM5O3MgYnJhc3MgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlY3JldGFyeSB3b3VsZCBub3QgcmVhY2ggYWNyb3NzIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUGVybWlzc2lvbiBoYWQgYmVlbiByZXF1aXJlZCBiZWZvcmUgUnlhbiBlbnRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9mZmljZSBjaGFuZ2VkIHdoZW4gUnlhbiBxdWVzdGlvbmVkIGl0cyBydWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGV4cGxhaW5lZCB0aGUgaGlkZGVuIHBhc3NhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGV4YWZvaWwgd2FzIG5vdCBhbiBpbnZpdGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGEgd2FybmluZyBpbnRlbmRlZCB0byBrZWVwIGEgY3Jvc3NpbmcgY2xvc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgZXhwbGFpbmVkIGhvdyB0aGUgZmlmdGggcmVmbGVjdGlvbiBoYWQgYXR0ZW1wdGVkIHRvIGNyb3NzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gdGhvdWdodCBhYm91dCB0aGUgV2luY2hlc3RlciBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNsb3NldCBkb29yIG9wZW5pbmcgYWZ0ZXIgYmVpbmcgbGVmdCB1bmxhdGNoZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY29sZCBhaXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBkaXNhcHBlYXJpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZnJvbnQtZG9vciBoZXhhZm9pbCB3b3JuIG5lYXJseSBzbW9vdGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgcnVsZXMgYXJlbiYjMzk7dCBtZWFudCB0byBrZWVwIHVzIG91dCwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdCBlbnRpcmVseS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkmIzM5O3JlIG1lYW50IHRvIGtlZXAgc29tZXRoaW5nIGVsc2UgaW4uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjb25zaWRlcmVkIHRoZSBjb25jbHVzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T3Iga2VlcCBzb21ldGhpbmcgZnJvbSBjcm9zc2luZyBiZXR3ZWVuIHBsYWNlcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCB0b3dhcmQgdGhlIHNlYWxlZCBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzIGhvdXNlIGhhZCB0aGUgc2FtZSBwcm90ZWN0aW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgb2xkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3JlIGRhbWFnZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbG1vc3QgZ29uZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1RoZSBzY2hvb2wgYW5kIFdpbmNoZXN0ZXIgaG91c2UgdXNlIHJlbGF0ZWQgcnVsZXMgdG8gY29udHJvbCBzdXBlcm5hdHVyYWwgY3Jvc3NpbmdzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIHdvcm4gaGV4YWZvaWxzIHN1Z2dlc3QgbXVsdGlwbGUgcHJvdGVjdGl2ZSBib3VuZGFyaWVzIGFyZSBmYWlsaW5nJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZGVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2Nob29sIGFuZCBXaW5jaGVzdGVyIGhvdXNlIHdlcmUKCWJvdGggcHJvdGVjdGVkIGJ5IHJ1bGVzIGdvdmVybmluZyBlbnRyeSwgcGVybWlzc2lvbiwgYW5kIHN1cGVybmF0dXJhbAoJY3Jvc3NpbmdzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgdGhlIHdvcm4gc3ltYm9sIGJlaGluZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGhhcHBlbnMgd2hlbiBvbmUgZGlzYXBwZWFycyBjb21wbGV0ZWx5PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3VzcGVjdGVkIHRoZXkgYWxyZWFkeSBrbmV3LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZXQgS2V2aW4gY29ubmVjdCB0aGUgY29tcGxldGUgcGF0dGVybi0mZ3Q7S2V2aW4gQnVpbGRzIHRoZSBHcm91cCBQYXR0ZXJuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzIiIG5hbWU9IktldmluIFNlZXMgdGhlIE9sZCBCcmVja2VucmlkZ2UgUmVmbGVjdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iMjg3NSwxMzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSBLZXZpbiYjMzk7cyB3YXRjaCBkaXNwbGF5ZWQgdGhlIHllYXIgMTY3OCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHdhdGNoIGNvbnRpbnVlZCBkaXNwbGF5aW5nOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CjE2NzgKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcHJlc3NlZCBvbmUgb2YgdGhlIGJ1dHRvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBwcmVzc2VkIGFub3RoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyZWVuIHdlbnQgZGFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBnbGFzcyBjb3ZlcmluZyB0aGUgYnVsbGV0aW4tYm9hcmQgcG9zdGVyIGNoYW5nZWQgd2l0aCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgaGFsbHdheSBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY2hvb2wgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbiB0aGVpciBwbGFjZSBzdG9vZCBhIG5hcnJvdyBkaXJ0IHJvYWQgYmVuZWF0aCBhIGRhcmsgc2t5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV29vZGVuIGhvdXNlcyBsaW5lZCBib3RoIHNpZGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9uZSBoYWQgZWxlY3RyaWMgbGlnaHRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTGFudGVybnMgYnVybmVkIGJlaGluZCBzZXZlcmFsIHdpbmRvd3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm91ciBzdHVkZW50cyByZW1haW5lZCB2aXNpYmxlIGluIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZXkgc3Rvb2QgaW4gdGhlIG1vZGVybiBoYWxsd2F5IHdoaWxlIHRoZWlyIHJlZmxlY3Rpb25zIHN0b29kIG9uIHRoZSBvbGQKcm9hZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gYWRqdXN0ZWQgaGlzIGhlbG1ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IHRoZSBoYWxsd2F5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IG5vdy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGtlcHQgaGlzIGF0dGVudGlvbiBvbiB0aGUgcmVmbGVjdGVkIHRvd24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb2xkIHJvYWQgbG9va2VkIGZhbWlsaWFyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGJlY2F1c2UgS2V2aW4gaGFkIHNlZW4gaXQgYmVmb3JlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVjYXVzZSB0aGUgcm9hZCBmb2xsb3dlZCB0aGUgc2FtZSBjdXJ2ZSBhcyBXaW5jaGVzdGVyIFN0cmVldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsYXJnZXN0IGhvdXNlIHN0b29kIGF0IHRoZSBlZGdlIG9mIGEgZmllbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbiBlbm9ybW91cyBvYWsgdHJlZSByb3NlIGJlc2lkZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0b3BwZWQgYnJlYXRoaW5nIGZvciBhIG1vbWVudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbXkgaG91c2UuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgZnJvbSB0aGUgcmVmbGVjdGlvbiB0byBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FyZSB5b3Ugc3VyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSByb29mIGlzIGRpZmZlcmVudC4gVGhlIHBvcmNoIGlzbiYjMzk7dCB0aGVyZS4gQnV0IHRoZSBmb3VuZGF0aW9uIGlzIHRoZQpzYW1lLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcG9pbnRlZCB0b3dhcmQgdGhlIHJlZmxlY3RlZCBmaWVsZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuZCB0aGF0IGlzIHRoZSBvYWsgdHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgaGFsbHdheSByZWZsZWN0aW9uIHNob3dlZCBCcmVja2VucmlkZ2UgYW5kIHRoZSBXaW5jaGVzdGVyIHByb3BlcnR5IGFzIHRoZXkgYXBwZWFyZWQgaW4gMTY3OCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7VGhlIFdpbmNoZXN0ZXIgaG91c2UgYW5kIG9hayB0cmVlIG9jY3VwaWVkIGFuIGltcG9ydGFudCBsb2NhdGlvbiBpbiBCcmVja2VucmlkZ2UgYnkgMTY3OCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggcmV2ZWFsZWQgYSByZWZsZWN0aW9uIG9mIHRoZSBXaW5jaGVzdGVyIHByb3BlcnR5IGluIDE2NzgmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtIaXN0b3JpY2FsIHZpc2lvbjombHQ7L3N0cm9uZyZndDsgS2V2aW4mIzM5O3Mgd2F0Y2ggdHJpZ2dlcmVkIGEgcmVmbGVjdGlvbiBvZgoJQnJlY2tlbnJpZGdlIGluIDE2NzgsIGluY2x1ZGluZyBhbiBlYXJsaWVyIHN0cnVjdHVyZSBvbiB0aGUgV2luY2hlc3RlcgoJcHJvcGVydHkgYW5kIHRoZSBzYW1lIG9hayB0cmVlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpGaWd1cmVzIG1vdmVkIGFsb25nIHRoZSBkaXJ0IHJvYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IGNhcnJpZWQgbGFudGVybnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIHdvcmUgbG9uZyBkYXJrIGNvYXRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHBlcnNvbiBzdG9wcGVkIG91dHNpZGUgdGhlIHJlZmxlY3RlZCBXaW5jaGVzdGVyIHByb3BlcnR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBrbmVsdCBhbmQgY2FydmVkIGEgaGV4YWZvaWwgaW50byBhIHdvb2RlbiBwb3N0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5vdGhlciBmaWd1cmUgd2F0Y2hlZCBmcm9tIGJlbmVhdGggdGhlIG9hayB0cmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdhdGNoaW5nIGZpZ3VyZSB3b3JlIGEgaG9vZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGNvdWxkIG5vdCBzZWUgYSBmYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhvb2RlZCBmaWd1cmUgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgbGFudGVybiBpbiB0aGUgcmVmbGVjdGVkIHRvd24gd2VudCBkYXJrLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2V2aW4gZXhhbWluZT8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3R1ZHkgdGhlIGhleGFmb2lsIGJlaW5nIGNhcnZlZCBpbnRvIHRoZSBwb3N0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucGF0dGVybiArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gU3R1ZGllcyB0aGUgRmlyc3QgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1dhdGNoIHRoZSBob29kZWQgZmlndXJlIGJlbmVhdGggdGhlIG9hayB0cmVlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gV2F0Y2hlcyB0aGUgT2FrIFRyZWUgRmlndXJlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgS2ltbXkgdG8gcmVjb3JkIHRoZSBvbGQgdG93biBiZWZvcmUgaXQgZGlzYXBwZWFycy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFByZXNlcnZlcyB0aGUgMTY3OCBWaXNpb24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1NlYXJjaCB0aGUgcmVmbGVjdGlvbiBmb3IgdGhlIHRocmVlIGdpcmxzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3MyIgbmFtZT0iS2V2aW4gU3R1ZGllcyB0aGUgRmlyc3QgSGV4YWZvaWwiIHRhZ3M9IiIgcG9zaXRpb249IjIzNTAsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRIZXhhZm9pbHMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgd2FzIG1hcmtlZCBpbiAxNjc4JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLZXZpbiBmb2N1c2VkIG9uIHRoZSBwZXJzb24gY2FydmluZyB0aGUgd29vZGVuIHBvc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNpcmNsZSBmaXJzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gc2l4IGN1cnZlZCBsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgY2FydmluZyBtYXRjaGVkIHRoZSB3b3JuIG1hcmsgb24gdGhlIFdpbmNoZXN0ZXIgYmFuaXN0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGVyc29uIGNvbXBsZXRlZCBmaXZlIHBldGFscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlZm9yZSB0aGUgc2l4dGggY291bGQgYmUgZmluaXNoZWQsIHRoZSBob29kZWQgZmlndXJlIGJlbmVhdGggdGhlIG9hayByYWlzZWQKb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2FydmluZyB0b29sIGJyb2tlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBhdCB0aGUgcG9zdCBmZWxsIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHVuZmluaXNoZWQgaGV4YWZvaWwgYmVnYW4gdHVybmluZyBibGFjayBhdCBpdHMgZWRnZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgYXQgdGhlIG1vZGVybiBzZWFtIGJlaGluZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2Nob29sIGhleGFmb2lsIGRhcmtlbmVkIGluIHRoZSBzYW1lIHBsYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGRhbWFnZSBpc24mIzM5O3QgZnJvbSBhZ2UsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgdGhlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21ldGhpbmcgaW50ZXJydXB0ZWQgdGhlIGNhcnZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtObywmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvbWV0aGluZyBwcmV2ZW50ZWQgaXQgZnJvbSBiZWluZyBjb21wbGV0ZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkmIzM5O3MgaGV4YWZvaWwgd2FzIGRlbGliZXJhdGVseSBpbnRlcnJ1cHRlZCBkdXJpbmcgaXRzIGNyZWF0aW9uIGluIDE2NzgmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O0RhbWFnZSB0byB0aGUgbW9kZXJuIGhleGFmb2lscyByZXBlYXRzIGRhbWFnZSB2aXNpYmxlIGluIHRoZSAxNjc4IHJlZmxlY3Rpb24mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkZWR1Y3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IEF0IGxlYXN0IG9uZSBwcm90ZWN0aXZlIGhleGFmb2lsIHdhcwoJZGVsaWJlcmF0ZWx5IGRhbWFnZWQgb3IgbGVmdCBpbmNvbXBsZXRlLiBUaGUgZmFpbGluZyBwcm90ZWN0aW9uIG1heSBub3QgYmUKCXRoZSByZXN1bHQgb2Ygb3JkaW5hcnkgYWdlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSB0dXJuZWQgdG93YXJkIHRoZSByZWZsZWN0aXZlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQWx0aG91Z2ggdGhlIGZpZ3VyZSBzdG9vZCBpbnNpZGUgdGhlIGltYWdlLCBLZXZpbiBmZWx0IGNlcnRhaW4gaXQgd2FzIGxvb2tpbmcKZGlyZWN0bHkgYXQgaGltLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB3aGF0IGhhcHBlbnMgdG8gdGhlIHRvd24tJmd0O0tldmluIFdpdG5lc3NlcyB0aGUgV2l0Y2ggV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjc0IiBuYW1lPSJLZXZpbiBXaXRuZXNzZXMgdGhlIFdpdGNoIFdhcm5pbmciIHRhZ3M9IiIgcG9zaXRpb249IjIzNzUsMTg3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ludGVycHJldCB0aGUgd2FybmluZyBoaWRkZW4gaW5zaWRlIHRoZSAxNjc4IHJlZmxlY3Rpb24mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgdG93biBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hhZG93cyBzcHJlYWQgZnJvbSBiZW5lYXRoIHRoZSBvYWsgdHJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZXkgY3Jvc3NlZCB0aGUgZGlydCByb2FkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBjbGltYmVkIHRoZSBzaWRlcyBvZiB0aGUgd29vZGVuIGJ1aWxkaW5ncy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBsYW50ZXJuIHJlbGl0IGluc2lkZSB0aGUgV2luY2hlc3RlciBzdHJ1Y3R1cmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBlcnNvbiBzdG9vZCBiZXNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGVyc29uIGhlbGQgYSBib29rIGluIG9uZSBoYW5kIGFuZCBhIGNhcnZpbmcgdG9vbCBpbiB0aGUgb3RoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSBzdGVwcGVkIGF3YXkgZnJvbSB0aGUgb2FrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgZmlndXJlcyBmb2xsb3dlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZXJzb24gaW5zaWRlIHRoZSBob3VzZSBwcmVzc2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIHVuZmluaXNoZWQKaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3ltYm9sIGJyaWdodGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2hhZG93IHN0b3BwZWQgYXQgdGhlIHByb3BlcnR5IGxpbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSBkaWQgbm90LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgY3Jvc3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0aW9uIHNob29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1vZGVybiBoYWxsd2F5IGxpZ2h0cyBmbGlja2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiYjMzk7cyB3YXRjaCBiZWdhbiBiZWVwaW5nIHJhcGlkbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNvdmVyZWQgdGhlIGZyb250IG9mIHRoZSBoZWxtZXQgd2l0aCBib3RoIGhhbmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QmIzM5O3Mgbm90ZWJvb2sgcGFnZXMgdHVybmVkIGJ5IHRoZW1zZWx2ZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSYjMzk7cyBwZW5jaWwgbW92ZWQgYWNyb3NzIHRoZSB3cml0aW5nIHBhZCB3aXRob3V0IHRvdWNoaW5nIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcmVtYWluZWQgZm9jdXNlZCBvbiB0aGUgcmVmbGVjdGVkIGhvdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBpbnNpZGUgdGhlIGhvdXNlIGxvb2tlZCB0b3dhcmQgdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiYjMzk7cyBtb3V0aCBtb3ZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIHNvdW5kIGVtZXJnZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiB3YXRjaGVkIHRoZSB3b3JkcyBmb3JtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRSBXSVRDSEVTIEFSRSBJTlNJREUgVEhFIFRPV04uCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtzZXQgJGdyb3VwRGlzY292ZXJlZFdpdGNoRXZpZGVuY2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTmFtZWRXaXRjaFRoZW9yeSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O0EgZmlndXJlIGluIHRoZSAxNjc4IHJlZmxlY3Rpb24gd2FybmVkIHRoYXQgd2l0Y2hlcyB3ZXJlIGluc2lkZSBCcmVja2VucmlkZ2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSAxNjc4IHJlZmxlY3Rpb24gY29ubmVjdGVkIHRoZSBXaW5jaGVzdGVyIHByb3BlcnR5IHdpdGggd2l0Y2hlcyBpbiBCcmVja2VucmlkZ2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXYXJuaW5nIGZyb20gMTY3ODombHQ7L3N0cm9uZyZndDsgVGhlIHJlZmxlY3RlZCBmaWd1cmUgd2FybmVkIEtldmluIHRoYXQKCXdpdGNoZXMgd2VyZSBhbHJlYWR5IGluc2lkZSBCcmVja2VucmlkZ2UuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBtZXNzYWdlIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBuZXcgb25lIGZvcm1lZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEVZIE5FVkVSIExFRlQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0aW9uIHdlbnQgZGFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvcmRpbmFyeSBoYWxsd2F5IHJldHVybmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIHNldmVyYWwgc2Vjb25kcywgbm9ib2R5IHNwb2tlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBvdGhlciB0aHJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IHNhaWQgd2l0Y2hlcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG93ZXJlZCBoaXMgaGFuZHMgZnJvbSB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSB3YXMgaG9waW5nIHdlIGhhZCBhbGwgYWdyZWVkIG5vdCB0byB1c2UgdGhhdCB3b3JkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2UgZGlkbiYjMzk7dCBhZ3JlZSB0byB0aGF0LCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2Ugc2hvdWxkIGhhdmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCB0dXJuZWQgdGhlIG5vdGVib29rIHRvd2FyZCB0aGUgZ3JvdXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG5ldyBzZW50ZW5jZSBoYWQgYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKT05FIE9GIFRIRU0gS05PV1MgWU9VIEFSRSBUT0dFVEhFUi4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tEZXRlcm1pbmUgd2hvIGNhbiBleHBsYWluIHRoZSB3YXJuaW5nLSZndDtLZXZpbiBJZGVudGlmaWVzIE1yIEFzaHRvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjc1IiBuYW1lPSJLZXZpbiBXYXRjaGVzIHRoZSBPYWsgVHJlZSBGaWd1cmUiIHRhZ3M9IiIgcG9zaXRpb249IjI2MDAsMTcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aG8gaXMgd2F0Y2hpbmcgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHdhdGNoZWQgdGhlIGhvb2RlZCBmaWd1cmUgYmVuZWF0aCB0aGUgb2FrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBzdG9vZCBjb21wbGV0ZWx5IHN0aWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV2luZCBtb3ZlZCB0aGUgYnJhbmNoZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbG9uZyBjbG90aGluZyBkaWQgbm90IG1vdmUgd2l0aCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgc21hbGxlciBmaWd1cmVzIHN0b29kIGZhcnRoZXIgYmFjayBhbW9uZyB0aGUgcm9vdHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBjb3VsZCBzZWUgb25seSB0aGVpciBvdXRsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSB0YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHNsaWdodGx5IHNob3J0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc21hbGwgZW5vdWdoIHRvIGJlIGEgY2hpbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSBleHRlbmRlZCBvbmUgaGFuZCB0b3dhcmQgdGhlIHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZXMgc3RlcHBlZCBpbnRvIHRoZSBvYWsmIzM5O3Mgc2hhZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBkaWQgbm90IGVtZXJnZSBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbGVhbmVkIHRvd2FyZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaHJlZSBnaXJscy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzYW1lIHRocmVlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgb3BlbmVkIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5ldyB3cml0aW5nIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRVkgV0VSRSBOT1QgVEhFIEZJUlNULgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtUaGV5IHdlcmUgbm90IHRoZSBmaXJzdC4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaHJlZSBmaWd1cmVzIGVudGVyZWQgdGhlIG9hayB0cmVlJiMzOTtzIHNoYWRvdyBpbiB0aGUgMTY3OCByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgdGhyZWUgZ2lybHMgbWF5IGJlIHJlcGVhdGluZyBzb21ldGhpbmcgdGhhdCBiZWdhbiB3aXRoIGVhcmxpZXIgZmlndXJlcyBpbiAxNjc4JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RWFybGllciBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBmaWd1cmVzIGFwcGVhcmVkIGJlc2lkZSB0aGUgb2FrCglpbiAxNjc4LCBzdWdnZXN0aW5nIHRoYXQgdGhlIHRocmVlIGdpcmxzIGNvbm5lY3RlZCB3aXRoIHRoZSBtb2Rlcm4KCXBob3RvZ3JhcGhzIHdlcmUgbm90IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG15c3RlcnkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0YXJlZCBhdCB0aGUgd29yZHMgaW5zaWRlIFNjb290JiMzOTtzIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSWYgdGhlIHRocmVlIGdpcmxzIHdlcmUgbm90IHRoZSBmaXJzdCwgdGhlbiBzb21ldGhpbmcgb2xkZXIgaGFkIHVzZWQgdGhlIHNhbWUKcGF0dGVybi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbV2F0Y2ggd2hhdCBoYXBwZW5zIHRvIHRoZSB0b3duLSZndDtLZXZpbiBXaXRuZXNzZXMgdGhlIFdpdGNoIFdhcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3NiIgbmFtZT0iS2V2aW4gUHJlc2VydmVzIHRoZSAxNjc4IFZpc2lvbiIgdGFncz0iIiBwb3NpdGlvbj0iMjgyNSwxNzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJlc2VydmUgZXZpZGVuY2Ugb2YgdGhlIHJlZmxlY3RlZCB0b3duIGJlZm9yZSBpdCBjaGFuZ2VzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXcml0ZSBkb3duIGV2ZXJ5dGhpbmcsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IGFzayB3aHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBvcGVuZWQgYWNyb3NzIG9uZSBhcm0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSByZWNvcmRlZCB0aGUgZGlydCByb2FkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGVhcmx5IFdpbmNoZXN0ZXIgc3RydWN0dXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9hayB0cmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBjYXJ2aW5nIHRoZSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBob29kZWQgZmlndXJlIHdhdGNoaW5nIGZyb20gdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBjb3VudGVkIHRoZSB2aXNpYmxlIGJ1aWxkaW5ncy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHNrZXRjaGVkIHRoZSBwb3NpdGlvbnMgb2YgdGhlIGZpZ3VyZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiB3YXRjaGVkIHRoZSBlbnRpcmUgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgYmVjYW1lIEtldmluJiMzOTtzIHJvbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3Qgd3JpdGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBjb3VudGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBkcmF3aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2VlaW5nIGhvdyBldmVyeSBwaWVjZSBtb3ZlZCB0b2dldGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dhaXQsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBzdG9wcGVkIHdyaXRpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGxhbnRlcm5zLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgYnVpbGRpbmcgaGFkIGdvbmUgZGFyayBleGNlcHQgdGhyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGhyZWUgaWxsdW1pbmF0ZWQgd2luZG93cyBmb3JtZWQgYSB0cmlhbmdsZSBhcm91bmQgdGhlIFdpbmNoZXN0ZXIKcHJvcGVydHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGRpZmZlcmVudCBmaWd1cmUgc3Rvb2QgaW5zaWRlIGVhY2ggd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRWFjaCBmaWd1cmUgcmFpc2VkIG9uZSBoYW5kIGF0IHRoZSBzYW1lIHRpbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdW5maW5pc2hlZCBoZXhhZm9pbCBvbiB0aGUgV2luY2hlc3RlciBwb3N0IGNyYWNrZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhyZWUgZmlndXJlcyBpbiBzZXBhcmF0ZSBidWlsZGluZ3MgYWN0ZWQgdG9nZXRoZXIgYWdhaW5zdCB0aGUgV2luY2hlc3RlciBwcm9wZXJ0eSYjMzk7cyBoZXhhZm9pbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7VGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgd2FzIHN1cnJvdW5kZWQgYnkgdGhyZWUgY29vcmRpbmF0ZWQgZmlndXJlcyBpbiAxNjc4JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3Mgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRocmVlIGZpZ3VyZXMgcG9zaXRpb25lZCBhcm91bmQgdGhlCglXaW5jaGVzdGVyIHByb3BlcnR5IGFjdGVkIHRvZ2V0aGVyIHdoZW4gaXRzIHByb3RlY3RpdmUgc3ltYm9sIGZhaWxlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIGFza2VkIEtpbW15IHRvIHByZXNlcnZlIHRoZSBkZXRhaWxzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCBkZWNpc2lvbiBnYXZlIHRoZSBncm91cCBhIHJlY29yZCB0aGUgcmVmbGVjdGlvbiBjb3VsZCBub3QgZXJhc2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhdGNoIHdoYXQgaGFwcGVucyB0byB0aGUgdG93bi0mZ3Q7S2V2aW4gV2l0bmVzc2VzIHRoZSBXaXRjaCBXYXJuaW5nXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzciIG5hbWU9IktldmluIFNlYXJjaGVzIGZvciB0aGUgVGhyZWUgR2lybHMiIHRhZ3M9IiIgcG9zaXRpb249IjI3MDAsMTkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBnaXJscyBmcm9tIHRoZSBwaG90b2dyYXBocyBleGlzdGVkIGluIDE2NzgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHNlYXJjaGVkIHRoZSByZWZsZWN0ZWQgcm9hZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvbGQtZmFzaGlvbmVkIGdpcmxzIHdlcmUgbm90IG5lYXIgdGhlIGhvdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSB3ZXJlIG5vdCBiZXNpZGUgdGhlIHdvb2RlbiBwb3N0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSB3ZXJlIG5vdCBzdGFuZGluZyBiZW5lYXRoIHRoZSBvYWsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIEtldmluIHNhdyB0aHJlZSBmYWNlcyBpbiBzZXBhcmF0ZSB3aW5kb3dzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGZpZ3VyZSB3b3JlIGEgZ3JlZW4gcmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFub3RoZXIgd29yZSBhIHB1cnBsZSByaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRoaXJkIHdvcmUgYSByZWQgcmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmYWNlcyBkaWQgbm90IG1hdGNoIHRoZSBnaXJscyBmcm9tIHRoZSBzY2hvb2wgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBhcnJhbmdlbWVudCBkaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHJpbmdzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUgcGF0dGVybiB3aXRoIGRpZmZlcmVudCBwZW9wbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgZ2lybHMgd2VyZW4mIzM5O3QgYWxpdmUgaW4gMTY3OCwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVuIHdobyBhcmUgdGhvc2UgcGVvcGxlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBkb24mIzM5O3Qga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHdhdGNoZWQgdGhlIHRocmVlIHJlZmxlY3RlZCBmaWd1cmVzIHJhaXNlIHRoZWlyIGhhbmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QnV0IHdoYXRldmVyIGhhcHBlbmVkIHRvIHRoZSBnaXJscyBoYXBwZW5lZCBiZWZvcmUgdGhlbSB0b28uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRncm91cENvbm5lY3RlZEx1Y2lsbGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaHJlZSByaW5nLXdlYXJpbmcgZmlndXJlcyBhcHBlYXJlZCBhcm91bmQgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgaW4gdGhlIDE2NzggcmVmbGVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7VGhlIHRocmVlIHBob3RvZ3JhcGhlZCBnaXJscyBhcHBlYXIgdG8gcmVwZWF0IGEgcGF0dGVybiBpbnZvbHZpbmcgdGhyZWUgZWFybGllciBmaWd1cmVzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZGVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgdGhyZWUgZ2lybHMgbWF5IGJlIGNvbm5lY3RlZCB3aXRoCgl0aHJlZSBlYXJsaWVyIHBlb3BsZSBpbnZvbHZlZCBpbiB0aGUgZXZlbnRzIG9mIDE2NzguCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgd2VhcmluZyB0aGUgcmVkIHJpbmcgdHVybmVkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgZmFjZSByZW1haW5lZCBpbmRpc3RpbmN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZCBzdG9uZSBkaWQgbm90LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB3aGF0IGhhcHBlbnMgdG8gdGhlIHRvd24tJmd0O0tldmluIFdpdG5lc3NlcyB0aGUgV2l0Y2ggV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjc4IiBuYW1lPSJLZXZpbiBJZGVudGlmaWVzIE1yIEFzaHRvbiIgdGFncz0iIiBwb3NpdGlvbj0iMjM3NSwyMDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZ3JvdXBOZWVkc01yQXNodG9uID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSBzb21lb25lIHdobyB1bmRlcnN0YW5kcyBCcmVja2VucmlkZ2UmIzM5O3Mgd2l0Y2ggaGlzdG9yeSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcmVhZCB0aGUgbm90ZWJvb2sgbWVzc2FnZSBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBvZiB0aGVtIGtuZXcgdGhlIGdyb3VwIHdhcyB0b2dldGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgbWVhbnQgdGhlIGdyb3VwIGhhZCBiZWVuIG9ic2VydmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUG9zc2libHkgZ3VpZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUG9zc2libHkgYXNzZW1ibGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBkYXJrIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHdhdGNoIGJyb3VnaHQgbWUgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzaGFkb3dzIGJyb3VnaHQgdXMgaGVyZSwmcXVvdDsgU2Nvb3Qgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O015IHJlcG9ydGVyJiMzOTtzIGNhc2Ugd3JvdGUgYWxsIGZvdXIgbmFtZXMsJnF1b3Q7IEtpbW15IGFkZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgdG93YXJkIHRoZSBzZWFsZWQgcGFzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvbWV0aGluZyB3YW50ZWQgdXMgaW4gdGhlIHNhbWUgbG9jYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcXVlc3Rpb24gd2FzIG5vIGxvbmdlciB3aGV0aGVyIHRoZSBmb3VyIGV2ZW50cyB3ZXJlIGNvbm5lY3RlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBxdWVzdGlvbiB3YXMgd2hvIGhhZCBjb25uZWN0ZWQgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCB0aHJvdWdoIHRoZSBhcmNoaXZlIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2UgbmVlZCBzb21lb25lIHdobyBrbm93cyB3aGF0IGhhcHBlbmVkIGluIDE2NzguJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPciBzb21lb25lIHdobyBrbm93cyB3aGF0IHRoZSBoZXhhZm9pbHMgbWVhbiwmcXVvdDsgU2Nvb3Qgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHJlbWVtYmVyZWQgYSBjbGFzc3Jvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNoYWxrYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHRlYWNoZXIgZHJhd2luZyBhIGNpcmNsZSB3aXRoIHNpeCBjdXJ2ZWQgbGluZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNci4gQXNodG9uIGhhZCBub3QgZHJhd24gdGhlIHN5bWJvbCBsaWtlIHNvbWVvbmUgY29weWluZyBpdCBmcm9tIGEgYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1yLiBBc2h0b24gaGFkIGRyYXduIGl0IGZyb20gbWVtb3J5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTXIuIEFzaHRvbiBoYWQgYWRkZWQgYSBzbWFsbCBub3RjaCBiZXNpZGUgb25lIHBldGFsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUga2luZCBvZiBkZXRhaWwgS2V2aW4gaGFkIGZvdW5kIG9uIHRoZSBXaW5jaGVzdGVyIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTXIuIEFzaHRvbiBoYWQgYWxzbyB3YXRjaGVkIEtldmluJiMzOTtzIHJlYWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHdpdGggY29uZnVzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV2l0aCByZWNvZ25pdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01yLiBBc2h0b24sJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgdXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNeSBoaXN0b3J5IHRlYWNoZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBwb2ludGVkIHRvd2FyZCB0aGUgaGV4YWZvaWwgZHJhd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hlIGtub3dzIHRoaXMgc3ltYm9sLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TG90cyBvZiBoaXN0b3J5IHRlYWNoZXJzIGtub3cgb2xkIHN5bWJvbHMsJnF1b3Q7IFNjb290IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3QgbGlrZSB0aGlzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcmVtZW1iZXJlZCB0aGUgZXhhY3Qgd2F5IE1yLiBBc2h0b24gaGFkIHRhcHBlZCBvbmUgcGV0YWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBwZXRhbCB0aGF0IGNvbnRhaW5lZCB0aGUgaGlkZGVuIG51bWVyYWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIZSBrbm93cyB3aGVyZSB0byBsb29rLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBjb25zaWRlcmVkIHRoZSBzdGF0ZW1lbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEb2VzIGhlIGtub3cgYWJvdXQgd2l0Y2hlcz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgcmVmbGVjdGVkIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZCB0b3duIGhhZCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY2xhc3Nyb29tIGFwcGVhcmVkIGluIGl0cyBwbGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1yLiBBc2h0b24gc3Rvb2QgYXQgdGhlIGNoYWxrYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGVkIHRlYWNoZXIgZHJldyBhIGhleGFmb2lsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVuZWF0aCBpdCwgTXIuIEFzaHRvbiB3cm90ZSBvbmUgd29yZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpXSVRDSEVTCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIHJlZmxlY3RlZCBNci4gQXNodG9uIHR1cm5lZCB0b3dhcmQgS2V2aW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGlvbiByYWlzZWQgb25lIGhhbmQgYW5kIHBvaW50ZWQgdG93YXJkIHRoZSBzY2hvb2wgbGlicmFyeS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O01yLiBBc2h0b24ga25vd3MgdGhlIGhleGFmb2lsIGFuZCBCcmVja2VucmlkZ2UmIzM5O3MgaGlzdG9yeSBvZiB3aXRjaGVzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIHJlZmxlY3Rpb24gZGlyZWN0ZWQgdGhlIGdyb3VwIHRvd2FyZCBNci4gQXNodG9uIGFuZCB0aGUgc2Nob29sIGxpYnJhcnkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOZXh0IGxlYWQ6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBc2h0b24gYXBwZWFycyB0byB1bmRlcnN0YW5kIHRoZSBoZXhhZm9pbHMsCgl0aGUgaGlzdG9yeSBvZiAxNjc4LCBhbmQgQnJlY2tlbnJpZGdlJiMzOTtzIGNvbm5lY3Rpb24gd2l0aCB3aXRjaGVzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgYXQgS2ltbXksIFJ5YW4sIGFuZCBTY29vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dlIG5lZWQgdG8gdGFsayB0byBNci4gQXNodG9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgdGhlIGZpbmFsIHdhcm5pbmctJmd0O0NoYXB0ZXIgNiBDbGlmZmhhbmdlcl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjc5IiBuYW1lPSJDaGFwdGVyIDYgQ2xpZmZoYW5nZXIiIHRhZ3M9IiIgcG9zaXRpb249IjIzNzUsMjEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBNci4gQXNodG9uIGFuZCBsZWFybiB0aGUgdHJ1dGggYWJvdXQgdGhlIHdpdGNoZXMgb2YgQnJlY2tlbnJpZGdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGlvbiBvZiBNci4gQXNodG9uIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGdsYXNzIHJldHVybmVkIHRvIG5vcm1hbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHNhdyBmb3VyIHN0dWRlbnRzIHN0YW5kaW5nIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGltc2VsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gZmlmdGggZmlndXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY29udGludWVkIHdhdGNoaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSByZXR1cm5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHN0b29kIGRpcmVjdGx5IGJlaGluZCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiB0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSB3YXMgZW1wdHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbiB0aGUgZ2xhc3MsIHRoZSBmaWd1cmUgbGVhbmVkIGNsb3NlIHRvIEtldmluJiMzOTtzIHJlZmxlY3RlZCBlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHZvaWNlIHdoaXNwZXJlZCBmcm9tIGluc2lkZSB0aGUgd2FsbDoKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01yLiBBc2h0b24gcmVtZW1iZXJzIHRoZSBsYXN0IHRpbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBmYWNlZCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBsYXN0IHRpbWU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcga25vY2tlZCBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3aWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgdGltZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggYWN0aXZhdGVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cjk6MTQKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGRpc3BsYXkgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEUgV0lUQ0hFUyBLTk9XIFlPVVIgSE9VU0UgSVMgT1BFTgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBzdG9wcGVkIGJyZWF0aGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBiYW5pc3RlciBoZXhhZm9pbCB3YXMgYWxtb3N0IGdvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZnJvbnQtZG9vciBtYXJrIGhhZCBiZWVuIHBhaW50ZWQgb3Zlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwaG90b2dyYXBoIGhhZCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFiYmllIHdvdWxkIHJldHVybiBob21lIHRoYXQgYWZ0ZXJub29uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG15c3Rlcnkgd2FzIG5vIGxvbmdlciBvbmx5IGFib3V0IHdoYXQgaGFwcGVuZWQgaW4gMTY3OC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBhYm91dCB3aGF0IGNvdWxkIGVudGVyIHRoZSBXaW5jaGVzdGVyIGhvdXNlIG5vdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNsb3NlZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gdGlnaHRlbmVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBoZWxkIHRoZSBub3RlYm9vayBhZ2FpbnN0IGhpcyBjaGVzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHBpY2tlZCB1cCBoaXMgYmFja3BhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSB3YXMgc3RpbGwgYWZyYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZlYXIgaGFkIG5vdCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBlbHNlIGhhZCBhcHBlYXJlZCBiZXNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBwZW9wbGUgd2hvIGhhZCBzZWVuIGVub3VnaCB0byBiZWxpZXZlIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCB0b3dhcmQgdGhlIGxpYnJhcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMZXQmIzM5O3MgZmluZCBNci4gQXNodG9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZvdXIgc3R1ZGVudHMgc3RhcnRlZCBkb3duIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVoaW5kIHRoZW0sIHRoZSBzZWFsZWQgcGFzc2FnZSBvcGVuZWQgb25lIGluY2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGhhbmQgd2VhcmluZyBhIGRhcmsgcmVkIHJpbmcgcmVhY2hlZCB0aHJvdWdoIHRoZSBnYXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBsaWdodHMgd2VudCBvdXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VuZCBvZiB0aGUgVGVhc2VyJmx0Oy9kaXYmZ3Q7CgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIFdpdGNoZXMgTmV2ZXIgTGVmdCZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCUtldmluIGFuZCB0aGUgb3RoZXJzIGhhdmUgZm91bmQgdGhlIGZpcnN0IGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUKCQlXaW5jaGVzdGVyIGhvdXNlLCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCwgYW5kIHRoZSB3aXRjaGVzIHdobwoJCWFycml2ZWQgY2VudHVyaWVzIGFnby4KCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJVGhlIG15c3RlcnkgY29udGludWVzIGluCgkJJmx0O3N0cm9uZyZndDtUaGUgUmV0dXJuIG9mIHRoZSBCbGFja3dvb2QgV2l0Y2gmbHQ7L3N0cm9uZyZndDsuCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXZpZXcgRXBpc29kZSBPbmUtJmd0O0NoYXB0ZXIgNiBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODAiIG5hbWU9IkNoYXB0ZXIgNiBTdW1tYXJ5IiB0YWdzPSIiIHBvc2l0aW9uPSIyMzc1LDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0VuZCBvZiBFcGlzb2RlIE9uZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb250aW51ZSB0aGUgY29tcGxldGUgbXlzdGVyeSBpbiB0aGUgbm92ZWwmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBPbmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtGb3VyIFN0b3JpZXMsIE9uZSBXYXJuaW5nJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDsKCQlXaGF0IHRoZSBpbnZlc3RpZ2F0b3JzIGRpc2NvdmVyZWQKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXBpc29kZSBPbmUgZGlzY292ZXJpZXM6Jmx0Oy9zdHJvbmcmZ3Q7CgoJJmx0O3VsJmd0OwoJCSZsdDtsaSZndDtUaGUgV2luY2hlc3RlciBob3VzZSBvbmNlIGNvbnRhaW5lZCBhIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHBob3RvZ3JhcGggZGlzYXBwZWFyZWQgd2l0aG91dCBsZWF2aW5nIGl0cyBmcmFtZSBkYW1hZ2VkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0hleGFmb2lscyBtYXJrIGJvdW5kYXJpZXMgYXQgdGhlIFdpbmNoZXN0ZXIgaG91c2UgYW5kIHNjaG9vbC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUga25vd24gaGV4YWZvaWxzIGFyZSB3b3JuLCBkYW1hZ2VkLCBoaWRkZW4sIG9yIGluY29tcGxldGUuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7Um9tYW4gbnVtZXJhbHMgSUkgYW5kIFhJIGNvbm5lY3Qgc2V2ZXJhbCBtYXJrZWQgbG9jYXRpb25zLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0tldmluJiMzOTtzIGRlYWQgd2F0Y2ggcmVhY3RzIHRvIHN1cGVybmF0dXJhbCBldmVudHMgYW5kIHJlcGVhdGVkbHkgZGlzcGxheXMgOToxNC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgc2Nob29sIGNvbnRhaW5zIGEgc2VhbGVkIHBhc3NhZ2Ugb21pdHRlZCBmcm9tIG1vZGVybiBmbG9vciBwbGFucy4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtMdWNpbGxlIFZhbGUgYW5zd2VyZWQgYXR0ZW5kYW5jZSB3aXRoIHRocmVlIGtub2NrcyBmcm9tIGluc2lkZSBhIHdhbGwuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHRocmVlIGdpcmxzIGNhbiBhcHBlYXIgdGhyb3VnaCBwaG90b2dyYXBocyBhbmQgcmVmbGVjdGlvbnMuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7QSBmaWZ0aCBmaWd1cmUgYXR0ZW1wdGVkIHRvIGNyb3NzIHRocm91Z2ggdGhlIGhpZGRlbiBwYXNzYWdlLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBXaW5jaGVzdGVyIHByb3BlcnR5IHdhcyBhbHJlYWR5IGltcG9ydGFudCBpbiAxNjc4LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RocmVlIGVhcmxpZXIgZmlndXJlcyBhY3RlZCB0b2dldGhlciBhZ2FpbnN0IGl0cyBwcm90ZWN0aXZlIGJvdW5kYXJ5LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0Egd2FybmluZyBmcm9tIDE2Nzggc3RhdGVkIHRoYXQgd2l0Y2hlcyB3ZXJlIGluc2lkZSBCcmVja2VucmlkZ2UuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHdhcm5pbmcgYWxzbyBzdGF0ZWQgdGhhdCB0aGUgd2l0Y2hlcyBuZXZlciBsZWZ0LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O01yLiBBc2h0b24ga25vd3MgdGhlIGhleGFmb2lsIGFuZCBtYXkga25vdyB3aGF0IGhhcHBlbmVkIHByZXZpb3VzbHkuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7QSBmaWd1cmUgd2VhcmluZyBhIHJlZCByaW5nIGJlZ2FuIGNyb3NzaW5nIGFmdGVyIHRoZSBncm91cCBsZWZ0LiZsdDsvbGkmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBiZWdhbiB0aGUgbW9ybmluZyB3aXRoIGEgcGxhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkdldCBBYmJpZSB0byBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBdm9pZCBiZWluZyBsYXRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRG8gbm90IGF0dHJhY3QgYXR0ZW50aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBsYW4gZmFpbGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW4gaXRzIHBsYWNlLCBLZXZpbiBmb3VuZCB0aHJlZSBwZW9wbGUgd2lsbGluZyB0byBmb2xsb3cgdGhlIG15c3Rlcnkgd2l0aApoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbmV4dCBhbnN3ZXIgYmVsb25ncyB0byBNci4gQXNodG9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5leHQgZGFuZ2VyIG1heSBhbHJlYWR5IGJlIHdhaXRpbmcgaW5zaWRlIHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Jvb2stc2lkZWJhci1jb3B5JnF1b3Q7Jmd0OwoJQ29udGludWUgdGhlIG15c3RlcnkgaW4gdGhlIGNvbXBsZXRlIG5vdmVsLgombHQ7L2RpdiZndDsKCiZsdDthIGNsYXNzPSZxdW90O2Jvb2stc2lkZWJhci1idXR0b24mcXVvdDsKCWhyZWY9JnF1b3Q7aHR0cHM6Ly9hbXpuLnRvLzRkZzdGRkkmcXVvdDsKCXRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsKCXJlbD0mcXVvdDtub29wZW5lciBub3JlZmVycmVyJnF1b3Q7Jmd0OwoJQ29udGludWUgb24gS2luZGxlCiZsdDsvYSZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4MSIgbmFtZT0iTXlzdGVyeSBLaXQgLSBDYXNlIEZpbGUiIHRhZ3M9IiIgcG9zaXRpb249Ijc1LDEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tY2FzZS1maWxlLXBhZ2UmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKCQkmbHQ7aDEmZ3Q7Q2FzZSBGaWxlJmx0Oy9oMSZndDsKCQkmbHQ7cCZndDsKCQkJQSBxdWljayBsb29rIGF0IHRoZSBteXN0ZXJ5IGFzIGl0IGN1cnJlbnRseSBzdGFuZHMuCgkJJmx0Oy9wJmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWZvbGRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZvbGRlci10YWImcXVvdDsmZ3Q7Q2FzZSAwMSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtZmlsZS1ncmlkJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtY2FyZCZxdW90OyZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtDdXJyZW50IG15c3RlcnkmbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQlUaGUgU3RyYW5nZSBGaXJzdCBEYXkKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWxhYmVsJnF1b3Q7Jmd0O0NoYXB0ZXImbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRjaGFwdGVyICZndDsgMCZndDsmZ3Q7CgkJCQkJCSRjaGFwdGVyCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJT3BlbmluZwoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWxhYmVsJnF1b3Q7Jmd0O1BsYXlpbmcgYXMmbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRwb3YmZ3Q7Jmd0OwoJCQkJCQkkcG92CgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJVGhlIGludmVzdGlnYXRvcnMKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtY2FyZCZxdW90OyZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtDdXJyZW50IGxvY2F0aW9uJmx0Oy9kaXYmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdmFsdWUmcXVvdDsmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkbG9jYXRpb24mZ3Q7Jmd0OwoJCQkJCQkkbG9jYXRpb24KCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlCcmVja2VucmlkZ2UKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtXaGF0IHRvIGRvIG5leHQmbHQ7L2RpdiZndDsKCQkJJmx0O3AmZ3Q7CgkJCQkmbHQ7Jmx0O2lmICRvYmplY3RpdmUmZ3Q7Jmd0OwoJCQkJCSRvYmplY3RpdmUKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJQ29udGludWUgaW52ZXN0aWdhdGluZyB0aGUgbXlzdGVyeS4KCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWxzJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWwmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkcGxheWVyQ2x1ZXMmZ3Q7Jmd0OwoJCQkJCQkkcGxheWVyQ2x1ZXMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvc3BhbiZndDsKCQkJCUNsdWVzIGZvdW5kCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLXRvdGFsJnF1b3Q7Jmd0OwoJCQkJJmx0O3NwYW4mZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJHNoYXJlZENsdWVzJmd0OyZndDsKCQkJCQkJJHNoYXJlZENsdWVzLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQlDbHVlcyBzaGFyZWQKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWwmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyZndDsmZ3Q7CgkJCQkJCSRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQlDb25uZWN0aW9ucyBtYWRlCgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwogICAgICAgIAogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1wcm9ncmVzcyZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1wcm9ncmVzcy10aXRsZSZxdW90OyZndDsKCQlDYXNlIFByb2dyZXNzCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3MtdHJhY2smcXVvdDsmZ3Q7CgkJJmx0OyZsdDtmb3IgX2Nhc2VDaGFwdGVyID0gMTsgX2Nhc2VDaGFwdGVyICZsdDs9IDY7IF9jYXNlQ2hhcHRlcisrJmd0OyZndDsKCQkJJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSBvciBfY2FzZUNoYXB0ZXIgJmx0OyAkY2hhcHRlciZndDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCBpcy1jb21wbGV0ZSZxdW90OyZndDsKCQkJCQlDaGFwdGVyICZsdDsmbHQ7PSBfY2FzZUNoYXB0ZXImZ3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0NvbXBsZXRlJmx0Oy9zcGFuJmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7Jmx0O2Vsc2VpZiBfY2FzZUNoYXB0ZXIgaXMgJGNoYXB0ZXImZ3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXByb2dyZXNzLXN0ZXAgaXMtY3VycmVudCZxdW90OyZndDsKCQkJCQlDaGFwdGVyICZsdDsmbHQ7PSBfY2FzZUNoYXB0ZXImZ3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0N1cnJlbnQmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCBpcy1sb2NrZWQmcXVvdDsmZ3Q7CgkJCQkJQ2hhcHRlciAmbHQ7Jmx0Oz0gX2Nhc2VDaGFwdGVyJmd0OyZndDsKCQkJCQkmbHQ7c3BhbiZndDtXYWl0aW5nJmx0Oy9zcGFuJmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXByb2dyZXNzLXN1bW1hcnkmcXVvdDsmZ3Q7CgkJJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7CgkJCUVwaXNvZGUgT25lIGludmVzdGlnYXRpb24gY29tcGxldGUuCgkJJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0OyAwJmd0OyZndDsKCQkJQ3VycmVudGx5IGludmVzdGlnYXRpbmcgQ2hhcHRlciAkY2hhcHRlciBvZiA2LgoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVRoZSBpbnZlc3RpZ2F0aW9uIGhhcyBub3QgYmVndW4uCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKCQkmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjgyIiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIENsdWUgQm9hcmQiIHRhZ3M9IiIgcG9zaXRpb249IjI3NSwxNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlIGJtLWNsdWUtYm9hcmQtcGFnZSZxdW90OyZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2Uta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBNeXN0ZXJ5IEtpdCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDtoMSZndDtDbHVlIEJvYXJkJmx0Oy9oMSZndDsKICAgICAgICAmbHQ7cCZndDtFdmVyeSBzdHJhbmdlIGRldGFpbCBkZXNlcnZlcyBhIHBsYWNlIG9uIHRoZSBib2FyZC4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtc3VtbWFyeSZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtc3VtbWFyeS1pdGVtJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRwbGF5ZXJDbHVlcyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJHBsYXllckNsdWVzLmxlbmd0aAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgQ2x1ZXMgRm91bmQKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXN1bW1hcnktaXRlbSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBTaGFyZWRFdmlkZW5jZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBTaGFyZWQgQ2x1ZXMKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXN1bW1hcnktaXRlbSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBDb25uZWN0aW9ucwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0OyZsdDtpZiBkZWYgJHBsYXllckNsdWVzIGFuZCAkcGxheWVyQ2x1ZXMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7Ym0tbGF0ZXN0LWNsdWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbGF0ZXN0LWNsdWUtbGFiZWwmcXVvdDsmZ3Q7TGF0ZXN0IERpc2NvdmVyeSZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxhdGVzdC1jbHVlLXRleHQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oz0gJHBsYXllckNsdWVzWyRwbGF5ZXJDbHVlcy5sZW5ndGggLSAxXSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvc2VjdGlvbiZndDsKICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtYm9hcmQmcXVvdDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHBsYXllckNsdWVzIGFuZCAkcGxheWVyQ2x1ZXMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1ib2FyZC1jb3VudCZxdW90OyZndDsKICAgICAgICAgICAgICAgIENvbGxlY3RlZCBFdmlkZW5jZQogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1jYXJkLWdyaWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2ZvciBfY2x1ZUluZGV4ID0gMDsgX2NsdWVJbmRleCAmbHQ7ICRwbGF5ZXJDbHVlcy5sZW5ndGg7IF9jbHVlSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtcGluJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbHVlICZsdDsmbHQ7PSBfY2x1ZUluZGV4ICsgMSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtdGV4dCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7PSAkcGxheWVyQ2x1ZXNbX2NsdWVJbmRleF0mZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtZW1wdHkmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtZW1wdHktc3ltYm9sJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtObyBjbHVlcyBoYXZlIGJlZW4gY29sbGVjdGVkIHlldC4mbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0OwogICAgICAgICAgICAgICAgICAgIEludmVzdGlnYXRlIGNhcmVmdWxseS4gVGhlIGZpcnN0IGNsdWUgbWF5IGJlIGhpZGluZwogICAgICAgICAgICAgICAgICAgIGluIGFuIG9yZGluYXJ5IHBsYWNlLgogICAgICAgICAgICAgICAgJmx0Oy9wJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgZGVmICRncm91cFNoYXJlZEV2aWRlbmNlIGFuZCAkZ3JvdXBTaGFyZWRFdmlkZW5jZS5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7Ym0tc2hhcmVkLWV2aWRlbmNlLXNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7U2hhcmVkIEV2aWRlbmNlJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwIGNsYXNzPSZxdW90O2JtLWJvYXJkLXNlY3Rpb24tbm90ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICBUaGVzZSBjbHVlcyBoYXZlIGJlZW4gYnJvdWdodCB0byB0aGUgZ3JvdXAuCiAgICAgICAgICAgICAgICAmbHQ7L3AmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zaGFyZWQtZXZpZGVuY2UtbGlzdCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2ZvciBfc2hhcmVkSW5kZXggPSAwOyBfc2hhcmVkSW5kZXggJmx0OyAkZ3JvdXBTaGFyZWRFdmlkZW5jZS5sZW5ndGg7IF9zaGFyZWRJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zaGFyZWQtZXZpZGVuY2UtY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7KyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7PSAkZ3JvdXBTaGFyZWRFdmlkZW5jZVtfc2hhcmVkSW5kZXhdJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyBhbmQgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLWNvbm5lY3Rpb25zLXNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7Q29uZmlybWVkIENvbm5lY3Rpb25zJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwIGNsYXNzPSZxdW90O2JtLWJvYXJkLXNlY3Rpb24tbm90ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICBUaGVzZSBwaWVjZXMgb2YgZXZpZGVuY2UgYXJlIG5vdyBrbm93biB0byBiZSBsaW5rZWQuCiAgICAgICAgICAgICAgICAmbHQ7L3AmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jb25uZWN0aW9uLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX2Nvbm5lY3Rpb25JbmRleCA9IDA7IF9jb25uZWN0aW9uSW5kZXggJmx0OyAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucy5sZW5ndGg7IF9jb25uZWN0aW9uSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29ubmVjdGlvbi1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsqJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDs9ICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zW19jb25uZWN0aW9uSW5kZXhdJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgIFtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4MyIgbmFtZT0iTXlzdGVyeSBLaXQgLSBOb3RlYm9vayIgdGFncz0iIiBwb3NpdGlvbj0iODAwLDYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tbm90ZWJvb2stcGFnZSZxdW90OyZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2Uta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBNeXN0ZXJ5IEtpdCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDtoMSZndDtJbnZlc3RpZ2F0b3ImIzM5O3MgTm90ZWJvb2smbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O05vdGVzLCBvYnNlcnZhdGlvbnMsIGFuZCBkZXRhaWxzIHdvcnRoIHJlbWVtYmVyaW5nLiZsdDsvcCZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc3VtbWFyeSZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW5vdGVib29rLXN1bW1hcnktY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcG92IGFuZCAkcG92Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAkcG92CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIEdyb3VwCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgQ3VycmVudCBGaWxlCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRwbGF5ZXJDbHVlcyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJHBsYXllckNsdWVzLmxlbmd0aAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgQ2x1ZXMgUmVjb3JkZWQKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zdW1tYXJ5LWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHNoYXJlZENsdWVzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAkc2hhcmVkQ2x1ZXMubGVuZ3RoCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBDbHVlcyBTaGFyZWQKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc2hlZXQmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1ob2xlcyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc2VjdGlvbiZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2gyJmd0O1BlcnNvbmFsIE5vdGVzJmx0Oy9oMiZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJHBvdiBpcyAmcXVvdDtLZXZpbiZxdW90OyBhbmQgZGVmICRrbm93bGVkZ2UuS2V2aW4gYW5kICRrbm93bGVkZ2UuS2V2aW4ubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7b2wgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stbGlzdCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2ZvciBfbm90ZUluZGV4ID0gMDsgX25vdGVJbmRleCAmbHQ7ICRrbm93bGVkZ2UuS2V2aW4ubGVuZ3RoOyBfbm90ZUluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7Jmx0OyZsdDs9ICRrbm93bGVkZ2UuS2V2aW5bX25vdGVJbmRleF0mZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvb2wmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2VpZiAkcG92IGlzICZxdW90O1J5YW4mcXVvdDsgYW5kIGRlZiAka25vd2xlZGdlLlJ5YW4gYW5kICRrbm93bGVkZ2UuUnlhbi5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9ub3RlSW5kZXggPSAwOyBfbm90ZUluZGV4ICZsdDsgJGtub3dsZWRnZS5SeWFuLmxlbmd0aDsgX25vdGVJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyZsdDsmbHQ7PSAka25vd2xlZGdlLlJ5YW5bX25vdGVJbmRleF0mZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvb2wmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2VpZiAkcG92IGlzICZxdW90O0tpbW15JnF1b3Q7IGFuZCBkZWYgJGtub3dsZWRnZS5LaW1teSBhbmQgJGtub3dsZWRnZS5LaW1teS5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9ub3RlSW5kZXggPSAwOyBfbm90ZUluZGV4ICZsdDsgJGtub3dsZWRnZS5LaW1teS5sZW5ndGg7IF9ub3RlSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtsaSZndDsmbHQ7Jmx0Oz0gJGtub3dsZWRnZS5LaW1teVtfbm90ZUluZGV4XSZndDsmZ3Q7Jmx0Oy9saSZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9vbCZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7U2Nvb3QmcXVvdDsgYW5kIGRlZiAkc2Nvb3ROb3RlYm9va0VudHJpZXMgYW5kICRzY29vdE5vdGVib29rRW50cmllcy5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9ub3RlSW5kZXggPSAwOyBfbm90ZUluZGV4ICZsdDsgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aDsgX25vdGVJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyZsdDsmbHQ7PSAkc2Nvb3ROb3RlYm9va0VudHJpZXNbX25vdGVJbmRleF0mZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvb2wmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJHBsYXllckNsdWVzIGFuZCAkcGxheWVyQ2x1ZXMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7b2wgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stbGlzdCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2ZvciBfbm90ZUluZGV4ID0gMDsgX25vdGVJbmRleCAmbHQ7ICRwbGF5ZXJDbHVlcy5sZW5ndGg7IF9ub3RlSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtsaSZndDsmbHQ7Jmx0Oz0gJHBsYXllckNsdWVzW19ub3RlSW5kZXhdJmd0OyZndDsmbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L29sJmd0OwoKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stZW1wdHkmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgTm90aGluZyBoYXMgYmVlbiB3cml0dGVuIGRvd24geWV0LgogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgZGVmICRzaGFyZWRDbHVlcyBhbmQgJHNoYXJlZENsdWVzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zZWN0aW9uIGJtLW5vdGVib29rLXNoYXJlZC1zZWN0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NoYXJlZCBDbHVlcyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zZWN0aW9uLW5vdGUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gdGhhdCBoYXMgYmVlbiBzaGFyZWQgYmV0d2VlbiBpbnZlc3RpZ2F0b3JzLgogICAgICAgICAgICAgICAgJmx0Oy9wJmd0OwoKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9zaGFyZWRJbmRleCA9IDA7IF9zaGFyZWRJbmRleCAmbHQ7ICRzaGFyZWRDbHVlcy5sZW5ndGg7IF9zaGFyZWRJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyZsdDsmbHQ7PSAkc2hhcmVkQ2x1ZXNbX3NoYXJlZEluZGV4XSZndDsmZ3Q7Jmx0Oy9saSZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9vbCZndDsKICAgICAgICAgICAgJmx0Oy9zZWN0aW9uJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMgYW5kICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zZWN0aW9uIGJtLW5vdGVib29rLWNvbm5lY3Rpb25zLXNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7Q29ubmVjdGlvbnMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc2VjdGlvbi1ub3RlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIENvbmNsdXNpb25zIHN1cHBvcnRlZCBieSBtb3JlIHRoYW4gb25lIHBpZWNlIG9mIGV2aWRlbmNlLgogICAgICAgICAgICAgICAgJmx0Oy9wJmd0OwoKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9jb25uZWN0aW9uSW5kZXggPSAwOyBfY29ubmVjdGlvbkluZGV4ICZsdDsgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoOyBfY29ubmVjdGlvbkluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7Jmx0OyZsdDs9ICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zW19jb25uZWN0aW9uSW5kZXhdJmd0OyZndDsmbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L29sJmd0OwogICAgICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgIFtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4NCIgbmFtZT0iTXlzdGVyeSBLaXQgLSBUb3duIE1hcCIgdGFncz0iIiBwb3NpdGlvbj0iOTUwLDQ3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tbWFwLXBhZ2UmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7aDEmZ3Q7VG93biBNYXAmbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O0xvY2F0aW9ucyBhcHBlYXIgYXMgdGhlIGludmVzdGlnYXRpb24gcmVhY2hlcyB0aGVtLiZsdDsvcCZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLXN1bW1hcnkmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gNiZndDsmZ3Q7NQogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gNSZndDsmZ3Q7NAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gNCZndDsmZ3Q7MwogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gMiZndDsmZ3Q7MgogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gMSZndDsmZ3Q7MQogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDswCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgTG9jYXRpb25zIEZvdW5kCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLXN1bW1hcnktY2FyZCBibS1tYXAtc3VtbWFyeS1jdXJyZW50JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGxvY2F0aW9uJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAkbG9jYXRpb24KICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgTm90IHlldCBrbm93bgogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgIEN1cnJlbnQgTG9jYXRpb24KICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LW1hcCZxdW90OyBhcmlhLWxhYmVsPSZxdW90O01hcCBvZiBkaXNjb3ZlcmVkIEJyZWNrZW5yaWRnZSBsb2NhdGlvbnMmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtcGF0aCBibS1tYXAtcGF0aC1tYWluJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtcGF0aCBibS1tYXAtcGF0aC1zY2hvb2wmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW1hcC1wYXRoIGJtLW1hcC1wYXRoLXdvb2RzJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gMSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLWhvdXNlJmx0OyZsdDtpZiBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7d2luY2hlc3RlciBob3VzZSYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7a2l0Y2hlbiYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7c3RhaXJjYXNlJiMzOTspJmd0OyZndDsgaXMtY3VycmVudCZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDsxJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtXaW5jaGVzdGVyIEhvdXNlJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7VGhlIG15c3RlcnkgYmVnaW5zIGhlcmUuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLWhvdXNlIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1Vua25vd24gTG9jYXRpb24mbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtOb3QgeWV0IGRpc2NvdmVyZWQuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlciAmZ3Q7PSAyJmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1kaXNjb3ZlcnktbG9jYXRpb24gYm0tbG9jYXRpb24tZWxlbWVudGFyeSZsdDsmbHQ7aWYgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O2VsZW1lbnRhcnkmIzM5OykmZ3Q7Jmd0OyBpcy1jdXJyZW50Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0OzImbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O0VsZW1lbnRhcnkgU2Nob29sJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7QWJiaWUmIzM5O3MgZGVzdGluYXRpb24gdGhhdCBtb3JuaW5nLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWRpc2NvdmVyeS1sb2NhdGlvbiBibS1sb2NhdGlvbi1lbGVtZW50YXJ5IGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1VuZGlzY292ZXJlZCZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O0NvbnRpbnVlIHRoZSBpbnZlc3RpZ2F0aW9uLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gNCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW1pZGRsZSZsdDsmbHQ7aWYgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O21pZGRsZSBzY2hvb2wmIzM5Oykgb3IgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O21haW4gaGFsbHdheSYjMzk7KSZndDsmZ3Q7IGlzLWN1cnJlbnQmbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1tYXJrZXImcXVvdDsmZ3Q7MyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7TWlkZGxlIFNjaG9vbCZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O1NldmVyYWwgbXlzdGVyaWVzIGJlZ2luIHRvIG92ZXJsYXAuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW1pZGRsZSBpcy1sb2NrZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtVbmRpc2NvdmVyZWQmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtDb250aW51ZSB0aGUgaW52ZXN0aWdhdGlvbi4mbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmICRjaGFwdGVyICZndDs9IDUmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWRpc2NvdmVyeS1sb2NhdGlvbiBibS1sb2NhdGlvbi1wYXNzYWdlJmx0OyZsdDtpZiBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7ZWFzdCBoYWxsJiMzOTspIG9yIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTtoaWRkZW4gcGFzc2FnZSYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7c2VhbGVkIHBhc3NhZ2UmIzM5OykmZ3Q7Jmd0OyBpcy1jdXJyZW50Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0OzQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1NlYWxlZCBFYXN0IEhhbGwmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtBIHBsYWNlIG1pc3NpbmcgZnJvbSBtb2Rlcm4gcGxhbnMuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLXBhc3NhZ2UgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1tYXJrZXImcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7VW5kaXNjb3ZlcmVkJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Q29udGludWUgdGhlIGludmVzdGlnYXRpb24uJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlciAmZ3Q7PSA2Jmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1kaXNjb3ZlcnktbG9jYXRpb24gYm0tbG9jYXRpb24tb2xkLXRvd24mbHQ7Jmx0O2lmIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTsxNjc4JiMzOTspIG9yIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTtvbGQgYnJlY2tlbnJpZGdlJiMzOTspJmd0OyZndDsgaXMtY3VycmVudCZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDs1Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtCcmVja2VucmlkZ2UsIDE2NzgmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtBIHJlZmxlY3Rpb24gb2YgdGhlIHRvd24mIzM5O3MgaGlkZGVuIHBhc3QuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW9sZC10b3duIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1Vua25vd24gVGltZSZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O1RoZSBwYXN0IHJlbWFpbnMgaGlkZGVuLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLWxlZ2VuZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7Ym0tbGVnZW5kLWZvdW5kJnF1b3Q7Jmd0OyZsdDsvaSZndDsgRGlzY292ZXJlZCZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7Ym0tbGVnZW5kLWN1cnJlbnQmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyBDdXJyZW50Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7aSBjbGFzcz0mcXVvdDtibS1sZWdlbmQtbG9ja2VkJnF1b3Q7Jmd0OyZsdDsvaSZndDsgVW5rbm93biZsdDsvc3BhbiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1yZXR1cm4mcXVvdDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgU3RvcnkmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICBbW1JldHVybiB0byB0aGUgVGl0bGUgU2NyZWVuLSZndDtTdGFydF1dCiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODUiIG5hbWU9Ik15c3RlcnkgS2l0IC0gUGVvcGxlIiB0YWdzPSIiIHBvc2l0aW9uPSIxNTAsNTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZSBibS1wZW9wbGUtcGFnZSZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2Uta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBNeXN0ZXJ5IEtpdCZsdDsvZGl2Jmd0OwoJCSZsdDtoMSZndDtJbnZlc3RpZ2F0b3IgRmlsZXMmbHQ7L2gxJmd0OwoJCSZsdDtwJmd0OwoJCQlFYWNoIGludmVzdGlnYXRvciBoYXMgZGlzY292ZXJlZCBhIGRpZmZlcmVudCBwaWVjZSBvZiB0aGUgbXlzdGVyeS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlb3BsZS1ncmlkJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWNhcmQgYm0tcGVyc29uLWtldmluJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1pbml0aWFsJnF1b3Q7Jmd0O0smbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluZm9ybWF0aW9uJnF1b3Q7Jmd0OwoJCQkJJmx0O2gyJmd0O0tldmluIFdpbmNoZXN0ZXImbHQ7L2gyJmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tdG9vbCZxdW90OyZndDtQYXR0ZXJuIENhcmRzJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJTG9va3MgZm9yIGNvbm5lY3Rpb25zIGJldHdlZW4gZXZlbnRzIHRoYXQgc2hvdWxkIG5vdAoJCQkJCW1ha2Ugc2Vuc2UgdG9nZXRoZXIuCgkJCQkmbHQ7L3AmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7VGhpbmdzIEtldmluIGtub3dzOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRrbm93bGVkZ2UgYW5kIGRlZiAka25vd2xlZGdlLktldmluJmd0OyZndDsKCQkJCQkJJGtub3dsZWRnZS5LZXZpbi5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7UGF0dGVybnMgbm90aWNlZDombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50Jmd0OyZndDsKCQkJCQkJJHBhdHRlcm5Db3VudAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWNhcmQgYm0tcGVyc29uLXJ5YW4mcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluaXRpYWwmcXVvdDsmZ3Q7UiZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24taW5mb3JtYXRpb24mcXVvdDsmZ3Q7CgkJCQkmbHQ7aDImZ3Q7UnlhbiBHcnVibGVyJmx0Oy9oMiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXRvb2wmcXVvdDsmZ3Q7U2FmZXR5IEZpbGUmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlSZWNvcmRzIHRocmVhdHMsIHJ1bGVzLCBib3VuZGFyaWVzLCBhbmQgYW55dGhpbmcKCQkJCQl0aGF0IG1heSByZXF1aXJlIGEgYmV0dGVyIHBsYW4uCgkJCQkmbHQ7L3AmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7VGhpbmdzIFJ5YW4ga25vd3M6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJGtub3dsZWRnZSBhbmQgZGVmICRrbm93bGVkZ2UuUnlhbiZndDsmZ3Q7CgkJCQkJCSRrbm93bGVkZ2UuUnlhbi5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7VGhyZWF0cyBpZGVudGlmaWVkOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRyeWFuVGhyZWF0cyZndDsmZ3Q7CgkJCQkJCSRyeWFuVGhyZWF0cy5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7UnVsZXMgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkcnlhblJ1bGVzJmd0OyZndDsKCQkJCQkJJHJ5YW5SdWxlcy5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1jYXJkIGJtLXBlcnNvbi1raW1teSZxdW90OyZndDsKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24taW5pdGlhbCZxdW90OyZndDtLJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1pbmZvcm1hdGlvbiZxdW90OyZndDsKCQkJCSZsdDtoMiZndDtLaW1teSBXaGl0bW9yZSZsdDsvaDImZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi10b29sJnF1b3Q7Jmd0O0ludmVzdGlnYXRpb24gRmlsZSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCUZvbGxvd3MgbGVhZHMsIGNoZWNrcyByZWNvcmRzLCBhbmQgc2VwYXJhdGVzCgkJCQkJc3VzcGljaW9uIGZyb20gY29uZmlybWVkIGZhY3QuCgkJCQkmbHQ7L3AmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7VGhpbmdzIEtpbW15IGtub3dzOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRrbm93bGVkZ2UgYW5kIGRlZiAka25vd2xlZGdlLktpbW15Jmd0OyZndDsKCQkJCQkJJGtub3dsZWRnZS5LaW1teS5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7TGVhZHMgZm9sbG93ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJGtpbW15TGVhZHMmZ3Q7Jmd0OwoJCQkJCQkka2ltbXlMZWFkcy5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7RmFjdHMgY29uZmlybWVkOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRraW1teUZhY3RzJmd0OyZndDsKCQkJCQkJJGtpbW15RmFjdHMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tY2FyZCBibS1wZXJzb24tc2Nvb3QmcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluaXRpYWwmcXVvdDsmZ3Q7UyZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24taW5mb3JtYXRpb24mcXVvdDsmZ3Q7CgkJCQkmbHQ7aDImZ3Q7U2NvdHQgJnF1b3Q7U2Nvb3QmcXVvdDsgUmV5bm9sZHMmbHQ7L2gyJmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tdG9vbCZxdW90OyZndDtQb2NrZXQgTm90ZWJvb2smbHQ7L2RpdiZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlXcml0ZXMgZG93biBkZXRhaWxzIHRoYXQgbWF5IGNoYW5nZSwgZGlzYXBwZWFyLAoJCQkJCW9yIHJlZnVzZSB0byBzdGF5IGZvcmdvdHRlbi4KCQkJCSZsdDsvcCZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1zdGF0dXMmcXVvdDsmZ3Q7CgkJCQkJJmx0O3N0cm9uZyZndDtUaGluZ3MgU2Nvb3Qga25vd3M6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJGtub3dsZWRnZSBhbmQgZGVmICRrbm93bGVkZ2UuU2Nvb3QmZ3Q7Jmd0OwoJCQkJCQkka25vd2xlZGdlLlNjb290Lmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1zdGF0dXMmcXVvdDsmZ3Q7CgkJCQkJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbnMgcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJHNjb290T2JzZXJ2YXRpb25zJmd0OyZndDsKCQkJCQkJJHNjb290T2JzZXJ2YXRpb25zLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1zdGF0dXMmcXVvdDsmZ3Q7CgkJCQkJJmx0O3N0cm9uZyZndDtOb3RlYm9vayBlbnRyaWVzOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRzY29vdE5vdGVib29rRW50cmllcyZndDsmZ3Q7CgkJCQkJCSRzY29vdE5vdGVib29rRW50cmllcy5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0OyZsdDtpZiBkZWYgJGdyb3VwVW5pdGVkIGFuZCAkZ3JvdXBVbml0ZWQmZ3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVvcGxlLW5vdGUmcXVvdDsmZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7VGhlIGludmVzdGlnYXRvcnMgYXJlIG5vdyB3b3JraW5nIHRvZ2V0aGVyLiZsdDsvc3Ryb25nJmd0OwoKCQkJJmx0O2JyJmd0OwoKCQkJU2hhcmVkIGNsdWVzOgoJCQkmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBTaGFyZWRFdmlkZW5jZSZndDsmZ3Q7CgkJCQkkZ3JvdXBTaGFyZWRFdmlkZW5jZS5sZW5ndGgKCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCTAKCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkJJmx0O2JyJmd0OwoKCQkJQ29uZmlybWVkIGNvbm5lY3Rpb25zOgoJCQkmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyZndDsmZ3Q7CgkJCQkkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucy5sZW5ndGgKCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCTAKCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsvZGl2Jmd0OwoJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlb3BsZS1ub3RlJnF1b3Q7Jmd0OwoJCQlUaGUgaW52ZXN0aWdhdG9ycyBoYXZlIG5vdCB5ZXQgYnJvdWdodCBhbGwgdGhlaXIgc2VwYXJhdGUKCQkJZGlzY292ZXJpZXMgdG9nZXRoZXIuCgkJJmx0Oy9kaXYmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKCQkmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjg2IiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIEJhZGdlcyIgdGFncz0iIiBwb3NpdGlvbj0iNDAwLDE3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHBhdHRlcm5Db3VudCAmZ3Q7PSA1Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYmFkZ2VDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSBvciAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJHJ5YW5SdWxlcyBhbmQgJHJ5YW5SdWxlcy5sZW5ndGggJmd0Oz0gMyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyBhbmQgJGtpbW15RmFjdHMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJHNjb290Tm90ZWJvb2tFbnRyaWVzIGFuZCAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkZ3JvdXBVbml0ZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tYmFkZ2VzLXBhZ2UmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7aDEmZ3Q7TXlzdGVyeSBCYWRnZXMmbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O1NwZWNpYWwgZGlzY292ZXJpZXMgYXJlIHJlbWVtYmVyZWQgaGVyZS4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXByb2dyZXNzJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7TXlzdGVyeSBiYWRnZSBwcm9ncmVzcyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXByb2dyZXNzLWNvdW50JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7PSBfYmFkZ2VDb3VudCZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0O29mIDggYmFkZ2VzIGRpc2NvdmVyZWQmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtcHJvZ3Jlc3MtdHJhY2smcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1wcm9ncmVzcy1maWxsJnF1b3Q7IHN0eWxlPSZxdW90O3dpZHRoOiAmbHQ7Jmx0Oz0gKF9iYWRnZUNvdW50IC8gOCkgKiAxMDAmZ3Q7Jmd0OyU7JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1ncmlkJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgJHBhdHRlcm5Db3VudCAmZ3Q7PSA1Jmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2UtYmx1ZSZxdW90OyZndDs1Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7UGF0dGVybiBTZWVrZXImbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7Tm90aWNlIGF0IGxlYXN0IGZpdmUgdW5leHBsYWluZWQgZXZlbnRzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtQYXR0ZXJuIFNlZWtlciZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtOb3RpY2UgbW9yZSB1bmV4cGxhaW5lZCBldmVudHMuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLWdvbGQmcXVvdDsmZ3Q7NiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NpeC1QZXRhbGVkIFNlY3JldCZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtEaXNjb3ZlciBhIGhleGFmb2lsIG1hcmtpbmcuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7RGlzY292ZXJlZCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1sb2NrZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwmcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NpeC1QZXRhbGVkIFNlY3JldCZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtGaW5kIGEgc3ltYm9sIGhpZGRlbiBpbiBhbiBvbGQgcGxhY2UuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJG5vdGljZWRSb21hblhJIG9yICRub3RpY2VkUm9tYW5JSSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLXB1cnBsZSZxdW90OyZndDtYSSZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1RoZSBOdW1iZXIgUmV0dXJucyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtSZWNvZ25pemUgb25lIG9mIHRoZSBteXN0ZXJ5JiMzOTtzIFJvbWFuIG51bWVyYWxzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtUaGUgTnVtYmVyIFJldHVybnMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7V2F0Y2ggZm9yIG51bWJlcnMgd2hlcmUgbnVtYmVycyBzaG91bGQgbm90IGJlLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O1N0aWxsIEhpZGRlbiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcnlhblJ1bGVzIGFuZCAkcnlhblJ1bGVzLmxlbmd0aCAmZ3Q7PSAzJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2UtZ3JlZW4mcXVvdDsmZ3Q7UiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1J1bGVzIE1hdHRlciZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtIZWxwIFJ5YW4gaWRlbnRpZnkgYXQgbGVhc3QgdGhyZWUgaW1wb3J0YW50IHJ1bGVzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtSdWxlcyBNYXR0ZXImbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBSeWFuIHN0dWR5IGJvdW5kYXJpZXMgYW5kIHdhcm5pbmdzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O1N0aWxsIEhpZGRlbiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyBhbmQgJGtpbW15RmFjdHMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWVhcm5lZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCBibS1iYWRnZS1yb3NlJnF1b3Q7Jmd0O0smbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDaGVjayB0aGUgRmFjdHMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBLaW1teSBjb25maXJtIGF0IGxlYXN0IHRocmVlIGZhY3RzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDaGVjayB0aGUgRmFjdHMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBLaW1teSB0dXJuIGxlYWRzIGludG8gZmFjdHMuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgZGVmICRzY29vdE5vdGVib29rRW50cmllcyBhbmQgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aCAmZ3Q7PSAzJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2Utb3JhbmdlJnF1b3Q7Jmd0O1MmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtXcml0ZSBJdCBEb3duJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O1JlY29yZCBhdCBsZWFzdCB0aHJlZSBlbnRyaWVzIGluIFNjb290JiMzOTtzIG5vdGVib29rLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtXcml0ZSBJdCBEb3duJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O1ByZXNlcnZlIGRldGFpbHMgYmVmb3JlIHRoZXkgY2hhbmdlIG9yIGRpc2FwcGVhci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkZ3JvdXBVbml0ZWQmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWVhcm5lZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCBibS1iYWRnZS1ncm91cCZxdW90OyZndDs0Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7RXZlcnlvbmUgSGFzIGEgUGllY2UmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7QnJpbmcgYWxsIGZvdXIgaW52ZXN0aWdhdG9ycyB0b2dldGhlci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtEaXNjb3ZlcmVkJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7RXZlcnlvbmUgSGFzIGEgUGllY2UmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7U29tZSBteXN0ZXJpZXMgbmVlZCBtb3JlIHRoYW4gb25lIGludmVzdGlnYXRvci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLWZpbmFsJnF1b3Q7Jmd0OzEmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDYXNlIE9uZSZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtDb21wbGV0ZSB0aGUgY3VycmVudCBFcGlzb2RlIE9uZSBpbnZlc3RpZ2F0aW9uLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDYXNlIE9uZSZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtGb2xsb3cgdGhlIGN1cnJlbnQgaW52ZXN0aWdhdGlvbiB0byBpdHMgY29uY2x1c2lvbi4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utbm90ZSZxdW90OyZndDsKICAgICAgICBCYWRnZXMgcmVjb2duaXplIGRpc2NvdmVyaWVzIGFuZCBpbnZlc3RpZ2F0aW9uIG1pbGVzdG9uZXMuIFRoZXkgZG8gbm90IGNoYW5nZSB0aGUgc3Rvcnkgb3IgY3JlYXRlIGEgc2NvcmUuCiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcmV0dXJuJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgZGVmICRibVJldHVyblBhc3NhZ2UgYW5kIFN0b3J5LmhhcygkYm1SZXR1cm5QYXNzYWdlKSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIFN0b3J5JnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAkYm1SZXR1cm5QYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgW1tSZXR1cm4gdG8gdGhlIFRpdGxlIFNjcmVlbi0mZ3Q7U3RhcnRdXQogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjg3IiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQiIHRhZ3M9IiIgcG9zaXRpb249IjQyNSwyOTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCBkZWYgJGVhcm5lZEJhZGdlSWRzJmd0OyZndDsmbHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHMgPSBbXSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYmFkZ2VWaWV3ZWRJZHMgPSBzZXR1cC5iYWRnZVZpZXdlZElkcyB8fCBbXSZndDsmZ3Q7CiZsdDsmbHQ7aWYgc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBzZXR1cC5iYWRnZVZpZXdlZElkcy5wdXNoVW5pcXVlKHNldHVwLmFjdGl2ZUJhZGdlTm90aWNlSWQpJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIHNldHVwLmFjdGl2ZUJhZGdlTm90aWNlSWQgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O3NldCBfc3luY2VkQmFkZ2VJZHMgPSAkZWFybmVkQmFkZ2VJZHMuc2xpY2UoKSZndDsmZ3Q7CgombHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50IGFuZCAkcGF0dGVybkNvdW50ICZndDs9IDUgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cGF0dGVybi1zZWVrZXImcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3BhdHRlcm4tc2Vla2VyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCBhbmQgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtzaXgtcGV0YWxlZC1zZWNyZXQmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgKChkZWYgJG5vdGljZWRSb21hblhJIGFuZCAkbm90aWNlZFJvbWFuWEkpIG9yIChkZWYgJG5vdGljZWRSb21hbklJIGFuZCAkbm90aWNlZFJvbWFuSUkpKSBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkcnlhblJ1bGVzIGFuZCAkcnlhblJ1bGVzLmxlbmd0aCAmZ3Q7PSAzIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3J1bGVzLW1hdHRlciZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJGtpbW15RmFjdHMgYW5kICRraW1teUZhY3RzLmxlbmd0aCAmZ3Q7PSAzIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtjaGVjay1mYWN0cyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRzY29vdE5vdGVib29rRW50cmllcyBhbmQgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aCAmZ3Q7PSAzIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkZ3JvdXBVbml0ZWQgYW5kICRncm91cFVuaXRlZCBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkY2hhcHRlcjZDb21wbGV0ZSBhbmQgJGNoYXB0ZXI2Q29tcGxldGUgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FzZS1vbmUmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O2Nhc2Utb25lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgZGVmICRwbGF5ZXJDbHVlcyBhbmQgJHBsYXllckNsdWVzLmxlbmd0aCAmZ3Q7PSA4IGFuZCBub3QgJGdyb3VwVW5pdGVkIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtjYXJlZnVsLWludmVzdGlnYXRvciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRncm91cFNoYXJlZEV2aWRlbmNlIGFuZCAkZ3JvdXBTaGFyZWRFdmlkZW5jZS5sZW5ndGggJmd0Oz0gOCBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjbHVlLWtlZXBlciZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7Y2x1ZS1rZWVwZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50IGFuZCAkcGF0dGVybkNvdW50ICZndDs9IDEwIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3BhdHRlcm4tbWFzdGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtwYXR0ZXJuLW1hc3RlciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgYW5kICRncm91cENvbm5lY3RlZFdpbmNoZXN0ZXJIb3VzZSBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtob3VzZS1yZW1lbWJlcnMmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRncm91cENvbm5lY3RlZEx1Y2lsbGUgYW5kICRncm91cENvbm5lY3RlZEx1Y2lsbGUgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAka2V2aW5TYXdUcmVlRmlndXJlIGFuZCAka2V2aW5TYXdUcmVlRmlndXJlIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3dhdGNoZWQtd29vZHMmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3dhdGNoZWQtd29vZHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkY2hhcHRlcjZDbGlmZmhhbmdlclNlZW4gYW5kICRjaGFwdGVyNkNsaWZmaGFuZ2VyU2VlbiBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9oYXNBbGxTdGFuZGFyZCA9CiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cGF0dGVybi1zZWVrZXImcXVvdDspIGFuZAogICAgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDspIGFuZAogICAgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3J1bGVzLW1hdHRlciZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDspIGFuZAogICAgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDspIGFuZAogICAgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2V2ZXJ5b25lLXBpZWNlJnF1b3Q7KSBhbmQKICAgIF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjYXNlLW9uZSZxdW90OykKJmd0OyZndDsKJmx0OyZsdDtpZiBfaGFzQWxsU3RhbmRhcmQgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y29tcGxldGUtZmlsZSZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7Y29tcGxldGUtZmlsZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHMgPSBfc3luY2VkQmFkZ2VJZHMuc2xpY2UoKSZndDsmZ3Q7CgombHQ7Jmx0O3NldCBfc3RhbmRhcmRFYXJuZWQgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgX3JhcmVFYXJuZWQgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgX3NlY3JldEVhcm5lZCA9IDAmZ3Q7Jmd0OwoKJmx0OyZsdDtmb3IgX2lkIHJhbmdlIFsmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OywgJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7LCAmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OywgJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7LCAmcXVvdDtjaGVjay1mYWN0cyZxdW90OywgJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OywgJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDssICZxdW90O2Nhc2Utb25lJnF1b3Q7XSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcyhfaWQpJmd0OyZndDsmbHQ7Jmx0O3NldCBfc3RhbmRhcmRFYXJuZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoKJmx0OyZsdDtmb3IgX2lkIHJhbmdlIFsmcXVvdDtjYXJlZnVsLWludmVzdGlnYXRvciZxdW90OywgJnF1b3Q7Y2x1ZS1rZWVwZXImcXVvdDssICZxdW90O3BhdHRlcm4tbWFzdGVyJnF1b3Q7LCAmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7XSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcyhfaWQpJmd0OyZndDsmbHQ7Jmx0O3NldCBfcmFyZUVhcm5lZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgombHQ7Jmx0O2ZvciBfaWQgcmFuZ2UgWyZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OywgJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7LCAmcXVvdDt3YXRjaGVkLXdvb2RzJnF1b3Q7LCAmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7XSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcyhfaWQpJmd0OyZndDsmbHQ7Jmx0O3NldCBfc2VjcmV0RWFybmVkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDsvZm9yJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlIGJtLWNhYmluZXQtcGFnZSZxdW90OyZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2Uta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBNeXN0ZXJ5IEtpdCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDtoMSZndDtNeXN0ZXJ5IEJhZGdlIENhYmluZXQmbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O0V2ZXJ5IGJhZGdlIG1hcmtzIHNvbWV0aGluZyBub3RpY2VkLCByZWNvcmRlZCwgY29ubmVjdGVkLCBvciB1bmNvdmVyZWQuJmx0Oy9wJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN1bW1hcnkmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN1bW1hcnktY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0OyZsdDs9ICRlYXJuZWRCYWRnZUlkcy5sZW5ndGgmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgVG90YWwgRWFybmVkCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN1bW1hcnktY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0OyZsdDs9IF9zdGFuZGFyZEVhcm5lZCZndDsmZ3Q7IC8gOCZsdDsvc3BhbiZndDsKICAgICAgICAgICAgU3RhbmRhcmQKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3VtbWFyeS1jYXJkIGlzLXJhcmUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsmbHQ7PSBfcmFyZUVhcm5lZCZndDsmZ3Q7IC8gNCZsdDsvc3BhbiZndDsKICAgICAgICAgICAgUmFyZQogICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdW1tYXJ5LWNhcmQgaXMtc2VjcmV0JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gX3NlY3JldEVhcm5lZCZndDsmZ3Q7IC8gNCZsdDsvc3BhbiZndDsKICAgICAgICAgICAgU2VjcmV0CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0IGJtLWNhYmluZXQtc3RhbmRhcmQmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWhlYWRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXRpZXImcXVvdDsmZ3Q7U3RhbmRhcmQgQ29sbGVjdGlvbiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtJbnZlc3RpZ2F0b3IgQmFkZ2VzJmx0Oy9oMiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1jb3VudCZxdW90OyZndDsmbHQ7Jmx0Oz0gX3N0YW5kYXJkRWFybmVkJmd0OyZndDsgb2YgOCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc2hlbGYmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9iYWRnZSByYW5nZSBbCiAgICAgICAgICAgICAgICBbJnF1b3Q7cGF0dGVybi1zZWVrZXImcXVvdDssICZxdW90O1BhdHRlcm4gU2Vla2VyJnF1b3Q7LCAmcXVvdDs1JnF1b3Q7LCAmcXVvdDtOb3RpY2UgZml2ZSB1bmV4cGxhaW5lZCBldmVudHMuJnF1b3Q7LCAmcXVvdDtibHVlJnF1b3Q7LCAmcXVvdDtwYXR0ZXJuLXNlZWtlci5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OywgJnF1b3Q7U2l4LVBldGFsZWQgU2VjcmV0JnF1b3Q7LCAmcXVvdDs2JnF1b3Q7LCAmcXVvdDtEaXNjb3ZlciBhIGhpZGRlbiBoZXhhZm9pbC4mcXVvdDssICZxdW90O2dvbGQmcXVvdDssICZxdW90O3NpeC1wZXRhbGVkLXNlY3JldC5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O251bWJlci1yZXR1cm5zJnF1b3Q7LCAmcXVvdDtUaGUgTnVtYmVyIFJldHVybnMmcXVvdDssICZxdW90O1hJJnF1b3Q7LCAmcXVvdDtSZWNvZ25pemUgYSByZWN1cnJpbmcgUm9tYW4gbnVtZXJhbC4mcXVvdDssICZxdW90O3B1cnBsZSZxdW90OywgJnF1b3Q7bnVtYmVyLXJldHVybnMucG5nJnF1b3Q7XSwKICAgICAgICAgICAgICAgIFsmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDssICZxdW90O1J1bGVzIE1hdHRlciZxdW90OywgJnF1b3Q7UiZxdW90OywgJnF1b3Q7SGVscCBSeWFuIGlkZW50aWZ5IHRocmVlIHJ1bGVzLiZxdW90OywgJnF1b3Q7Z3JlZW4mcXVvdDssICZxdW90O3J1bGVzLW1hdHRlci5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7LCAmcXVvdDtDaGVjayB0aGUgRmFjdHMmcXVvdDssICZxdW90O0smcXVvdDssICZxdW90O0hlbHAgS2ltbXkgY29uZmlybSB0aHJlZSBmYWN0cy4mcXVvdDssICZxdW90O3Jvc2UmcXVvdDssICZxdW90O2NoZWNrLWZhY3RzLnBuZyZxdW90O10sCiAgICAgICAgICAgICAgICBbJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OywgJnF1b3Q7V3JpdGUgSXQgRG93biZxdW90OywgJnF1b3Q7UyZxdW90OywgJnF1b3Q7UmVjb3JkIHRocmVlIG5vdGVib29rIGVudHJpZXMuJnF1b3Q7LCAmcXVvdDtvcmFuZ2UmcXVvdDssICZxdW90O3dyaXRlLWl0LWRvd24ucG5nJnF1b3Q7XSwKICAgICAgICAgICAgICAgIFsmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OywgJnF1b3Q7RXZlcnlvbmUgSGFzIGEgUGllY2UmcXVvdDssICZxdW90OzQmcXVvdDssICZxdW90O0JyaW5nIHRoZSBpbnZlc3RpZ2F0b3JzIHRvZ2V0aGVyLiZxdW90OywgJnF1b3Q7dGVhbCZxdW90OywgJnF1b3Q7ZXZlcnlvbmUtcGllY2UucG5nJnF1b3Q7XSwKICAgICAgICAgICAgICAgIFsmcXVvdDtjYXNlLW9uZSZxdW90OywgJnF1b3Q7Q2FzZSBPbmUmcXVvdDssICZxdW90OzEmcXVvdDssICZxdW90O0NvbXBsZXRlIEVwaXNvZGUgT25lLiZxdW90OywgJnF1b3Q7YnVyZ3VuZHkmcXVvdDssICZxdW90O2Nhc2Utb25lLnBuZyZxdW90O10KICAgICAgICAgICAgXSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCBfaWQgPSBfYmFkZ2VbMF0mZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9uYW1lID0gX2JhZGdlWzFdJmd0OyZndDsmbHQ7Jmx0O3NldCBfc3ltYm9sID0gX2JhZGdlWzJdJmd0OyZndDsmbHQ7Jmx0O3NldCBfZGVzYyA9IF9iYWRnZVszXSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2NvbG9yID0gX2JhZGdlWzRdJmd0OyZndDsmbHQ7Jmx0O3NldCBfaW1hZ2UgPSBfYmFkZ2VbNV0mZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoX2lkKSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1lYXJuZWQgdGllci1zdGFuZGFyZCBjb2xvci0mbHQ7Jmx0Oz1fY29sb3ImZ3Q7Jmd0OyZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIEBzcmM9JnF1b3Q7JiMzOTtpbWFnZXMvYmFkZ2VzLyYjMzk7ICsgX2ltYWdlJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2gzJmd0OyZsdDsmbHQ7PV9uYW1lJmd0OyZndDsmbHQ7L2gzJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7cCZndDsmbHQ7Jmx0Oz1fZGVzYyZndDsmZ3Q7Jmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O0Vhcm5lZCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1sb2NrZWQgdGllci1zdGFuZGFyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2NhcmVmdWwtaW52ZXN0aWdhdG9yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtoMyZndDsmbHQ7Jmx0Oz1fbmFtZSZndDsmZ3Q7Jmx0Oy9oMyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3AmZ3Q7Jmx0OyZsdDs9X2Rlc2MmZ3Q7Jmd0OyZsdDsvcCZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtOb3QgWWV0IEVhcm5lZCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvc2VjdGlvbiZndDsKCiAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0IGJtLWNhYmluZXQtcmFyZSZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtdGllciZxdW90OyZndDtSYXJlIENvbGxlY3Rpb24mbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7QWR2YW5jZWQgSW52ZXN0aWdhdG9yIEJhZGdlcyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtY291bnQmcXVvdDsmZ3Q7Jmx0OyZsdDs9IF9yYXJlRWFybmVkJmd0OyZndDsgb2YgNCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc2hlbGYmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXJhcmUgY29sb3Itc2lsdmVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9jYXJlZnVsLWludmVzdGlnYXRvci5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtDYXJlZnVsIEludmVzdGlnYXRvciZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7QnVpbGQgYSBzdHJvbmcgY29sbGVjdGlvbiBvZiBjbHVlcyBiZWZvcmUgdGhlIGdyb3VwIHVuaXRlcy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlIEJhZGdlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1sb2NrZWQgdGllci1yYXJlJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9jYXJlZnVsLWludmVzdGlnYXRvci5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtDYXJlZnVsIEludmVzdGlnYXRvciZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7Q29sbGVjdCBtYW55IGNsdWVzIGJlZm9yZSB0aGUgdGVhbSBjb21lcyB0b2dldGhlci4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjbHVlLWtlZXBlciZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1lYXJuZWQgdGllci1yYXJlIGNvbG9yLXNpbHZlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvY2x1ZS1rZWVwZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7Q2x1ZSBLZWVwZXImbHQ7L2gzJmd0OyZsdDtwJmd0O0J1aWxkIGEgc3Vic3RhbnRpYWwgc2hhcmVkIGV2aWRlbmNlIGZpbGUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7UmFyZSBCYWRnZSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtbG9ja2VkIHRpZXItcmFyZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvY2x1ZS1rZWVwZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7Q2x1ZSBLZWVwZXImbHQ7L2gzJmd0OyZsdDtwJmd0O0JyaW5nIG1hbnkgZGlzY292ZXJpZXMgaW50byB0aGUgZ3JvdXAgZmlsZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLW1hc3RlciZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1lYXJuZWQgdGllci1yYXJlIGNvbG9yLXNpbHZlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvcGF0dGVybi1tYXN0ZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7UGF0dGVybiBNYXN0ZXImbHQ7L2gzJmd0OyZsdDtwJmd0O05vdGljZSB0ZW4gdW5leHBsYWluZWQgZXZlbnRzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUgQmFkZ2UmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWxvY2tlZCB0aWVyLXJhcmUmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL3BhdHRlcm4tbWFzdGVyLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O1BhdHRlcm4gTWFzdGVyJmx0Oy9oMyZndDsmbHQ7cCZndDtLZWVwIGZvbGxvd2luZyBLZXZpbiYjMzk7cyB1bmV4cGxhaW5lZCBwYXR0ZXJucy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXJhcmUgY29sb3Itc2lsdmVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9jb21wbGV0ZS1maWxlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0NvbXBsZXRlIENhc2UgRmlsZSZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7RWFybiBhbGwgZWlnaHQgc3RhbmRhcmQgYmFkZ2VzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUgQmFkZ2UmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWxvY2tlZCB0aWVyLXJhcmUmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2NvbXBsZXRlLWZpbGUucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7Q29tcGxldGUgQ2FzZSBGaWxlJmx0Oy9oMyZndDsmbHQ7cCZndDtDb21wbGV0ZSB0aGUgc3RhbmRhcmQgY29sbGVjdGlvbi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L3NlY3Rpb24mZ3Q7CgogICAgJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldCBibS1jYWJpbmV0LXNlY3JldCZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtdGllciZxdW90OyZndDtTZWNyZXQgQ29sbGVjdGlvbiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtIaWRkZW4gQmFkZ2VzJmx0Oy9oMiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1jb3VudCZxdW90OyZndDsmbHQ7Jmx0Oz0gX3NlY3JldEVhcm5lZCZndDsmZ3Q7IG9mIDQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O3AgY2xhc3M9JnF1b3Q7Ym0tc2VjcmV0LWludHJvJnF1b3Q7Jmd0O1NlY3JldCBiYWRnZSBuYW1lcyBhbmQgcmVxdWlyZW1lbnRzIHJlbWFpbiBjb25jZWFsZWQgdW50aWwgZGlzY292ZXJlZC4mbHQ7L3AmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zaGVsZiZxdW90OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtpZiAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7aG91c2UtcmVtZW1iZXJzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXNlY3JldCBjb2xvci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2hvdXNlLXJlbWVtYmVycy5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtUaGUgSG91c2UgUmVtZW1iZXJzJmx0Oy9oMyZndDsmbHQ7cCZndDtDb25uZWN0IHRoZSBXaW5jaGVzdGVyIGhvdXNlIHRvIHRoZSBsYXJnZXIgbXlzdGVyeS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtTZWNyZXQgRm91bmQmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWhpZGRlbiB0aWVyLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc2VjcmV0LWNvdmVyJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7PyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7SGlkZGVuIEJhZGdlJmx0Oy9oMyZndDsmbHQ7cCZndDtSZXF1aXJlbWVudCB1bmtub3duLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1VuZGlzY292ZXJlZCZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAgICAgJmx0OyZsdDtpZiAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXNlY3JldCBjb2xvci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL3RocmVlLWtub2Nrcy5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtUaHJlZSBLbm9ja3MmbHQ7L2gzJmd0OyZsdDtwJmd0O1JlY29nbml6ZSB0aGUgcmVwZWF0ZWQgdGhyZWUta25vY2sgc2lnbmFsLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1NlY3JldCBGb3VuZCZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtaGlkZGVuIHRpZXItc2VjcmV0JnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zZWNyZXQtY292ZXImcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7c3BhbiZndDs/Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtIaWRkZW4gQmFkZ2UmbHQ7L2gzJmd0OyZsdDtwJmd0O1JlcXVpcmVtZW50IHVua25vd24uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7VW5kaXNjb3ZlcmVkJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDt3YXRjaGVkLXdvb2RzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXNlY3JldCBjb2xvci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL3dhdGNoZWQtd29vZHMucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7V2F0Y2hlZCBmcm9tIHRoZSBXb29kcyZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7Tm90aWNlIGEgd2F0Y2hlciBjb25uZWN0ZWQgdG8gdGhlIHRyZWVzIG9yIHJvYWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7U2VjcmV0IEZvdW5kJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1oaWRkZW4gdGllci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXNlY3JldC1jb3ZlciZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0Oz8mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0hpZGRlbiBCYWRnZSZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7UmVxdWlyZW1lbnQgdW5rbm93bi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtVbmRpc2NvdmVyZWQmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O25ldmVyLWxlZnQmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItc2VjcmV0IGNvbG9yLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvbmV2ZXItbGVmdC5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtUaGV5IE5ldmVyIExlZnQmbHQ7L2gzJmd0OyZsdDtwJmd0O1VuY292ZXIgdGhlIHdhcm5pbmcgaGlkZGVuIGluIEJyZWNrZW5yaWRnZSYjMzk7cyBwYXN0LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1NlY3JldCBGb3VuZCZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtaGlkZGVuIHRpZXItc2VjcmV0JnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zZWNyZXQtY292ZXImcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7c3BhbiZndDs/Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtIaWRkZW4gQmFkZ2UmbHQ7L2gzJmd0OyZsdDtwJmd0O1JlcXVpcmVtZW50IHVua25vd24uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7VW5kaXNjb3ZlcmVkJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L3NlY3Rpb24mZ3Q7CgogICAgJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jZXJ0aWZpY2F0ZS1wcmV2aWV3JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O0NlcnRpZmljYXRlIENhYmluZXQgQ29taW5nIExhdGVyJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0O1lvdXIgZWFybmVkIGJhZGdlIElEcyBhcmUgbm93IHN0b3JlZCBhbmQgY2FuIGJlIHBsYWNlZCBvbiBhIHByaW50YWJsZSBjZXJ0aWZpY2F0ZSBpbiBhIGZ1dHVyZSB1cGRhdGUuJmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1yZXR1cm4mcXVvdDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgU3RvcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkYm1SZXR1cm5QYXNzYWdlJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICBbW1JldHVybiB0byB0aGUgVGl0bGUgU2NyZWVuLSZndDtTdGFydF1dCiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODgiIG5hbWU9IlBhc3NhZ2VGb290ZXIiIHRhZ3M9IiIgcG9zaXRpb249IjEzMDAsNDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCBkZWYgJGVhcm5lZEJhZGdlSWRzJmd0OyZndDsmbHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHMgPSBbXSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5iYWRnZVZpZXdlZElkcyA9IHNldHVwLmJhZGdlVmlld2VkSWRzIHx8IFtdJmd0OyZndDsKJmx0OyZsdDtpZiBzZXR1cC5hY3RpdmVCYWRnZU5vdGljZUlkIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCA9ICZxdW90OyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3Qgc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50IGFuZCAkcGF0dGVybkNvdW50ICZndDs9IDUgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7cGF0dGVybi1zZWVrZXImcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwgYW5kICRmb3VuZEJhbmlzdGVySGV4YWZvaWwgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtzaXgtcGV0YWxlZC1zZWNyZXQmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiAoKGRlZiAkbm90aWNlZFJvbWFuWEkgYW5kICRub3RpY2VkUm9tYW5YSSkgb3IgKGRlZiAkbm90aWNlZFJvbWFuSUkgYW5kICRub3RpY2VkUm9tYW5JSSkpIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O251bWJlci1yZXR1cm5zJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkcnlhblJ1bGVzIGFuZCAkcnlhblJ1bGVzLmxlbmd0aCAmZ3Q7PSAzIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRraW1teUZhY3RzIGFuZCAka2ltbXlGYWN0cy5sZW5ndGggJmd0Oz0gMyBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtjaGVjay1mYWN0cyZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJHNjb290Tm90ZWJvb2tFbnRyaWVzIGFuZCAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoICZndDs9IDMgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDt3cml0ZS1pdC1kb3duJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDt3cml0ZS1pdC1kb3duJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkZ3JvdXBVbml0ZWQgYW5kICRncm91cFVuaXRlZCBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O2V2ZXJ5b25lLXBpZWNlJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGNoYXB0ZXI2Q29tcGxldGUgYW5kICRjaGFwdGVyNkNvbXBsZXRlIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FzZS1vbmUmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2Nhc2Utb25lJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkcGxheWVyQ2x1ZXMgYW5kICRwbGF5ZXJDbHVlcy5sZW5ndGggJmd0Oz0gOCBhbmQgbm90ICRncm91cFVuaXRlZCBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtjYXJlZnVsLWludmVzdGlnYXRvciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGdyb3VwU2hhcmVkRXZpZGVuY2UgYW5kICRncm91cFNoYXJlZEV2aWRlbmNlLmxlbmd0aCAmZ3Q7PSA4IGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7Y2x1ZS1rZWVwZXImcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2NsdWUta2VlcGVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkcGF0dGVybkNvdW50IGFuZCAkcGF0dGVybkNvdW50ICZndDs9IDEwIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7cGF0dGVybi1tYXN0ZXImcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O3BhdHRlcm4tbWFzdGVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OykgYW5kICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtzaXgtcGV0YWxlZC1zZWNyZXQmcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7KSBhbmQgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7KSBhbmQgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FzZS1vbmUmcXVvdDspIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7Y29tcGxldGUtZmlsZSZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7Y29tcGxldGUtZmlsZSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGdyb3VwQ29ubmVjdGVkV2luY2hlc3RlckhvdXNlIGFuZCAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtob3VzZS1yZW1lbWJlcnMmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGdyb3VwQ29ubmVjdGVkTHVjaWxsZSBhbmQgJGdyb3VwQ29ubmVjdGVkTHVjaWxsZSBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O3RocmVlLWtub2NrcyZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAka2V2aW5TYXdUcmVlRmlndXJlIGFuZCAka2V2aW5TYXdUcmVlRmlndXJlIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7d2F0Y2hlZC13b29kcyZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7d2F0Y2hlZC13b29kcyZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuIGFuZCAkY2hhcHRlcjZDbGlmZmhhbmdlclNlZW4gYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAmbHQ7Jmx0O2lmIF9uZXdCYWRnZUlkJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3J1biBzZXR1cC5hY3RpdmVCYWRnZU5vdGljZUlkID0gX25ld0JhZGdlSWQmZ3Q7Jmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VJZCA9IHNldHVwLmFjdGl2ZUJhZGdlTm90aWNlSWQmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7c3dpdGNoIF9hY3RpdmVCYWRnZUlkJmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1BhdHRlcm4gU2Vla2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7Rml2ZSB1bmV4cGxhaW5lZCBldmVudHMgaGF2ZSBiZWVuIG5vdGljZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LWJsdWUmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1NpeC1QZXRhbGVkIFNlY3JldCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0EgaGlkZGVuIGhleGFmb2lsIG1hcmtpbmcgaGFzIGJlZW4gZGlzY292ZXJlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtZ29sZCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtUaGUgTnVtYmVyIFJldHVybnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtBIFJvbWFuIG51bWVyYWwgaGFzIGFwcGVhcmVkIGluc2lkZSB0aGUgbXlzdGVyeS4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtcHVycGxlJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtSdWxlcyBNYXR0ZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtSeWFuIGhhcyBpZGVudGlmaWVkIHRocmVlIGltcG9ydGFudCBydWxlcy4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtZ3JlZW4mcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7Q2hlY2sgdGhlIEZhY3RzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7S2ltbXkgaGFzIGNvbmZpcm1lZCB0aHJlZSBmYWN0cy4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtcm9zZSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1dyaXRlIEl0IERvd24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtTY29vdCBoYXMgcHJlc2VydmVkIHRocmVlIG5vdGVib29rIGVudHJpZXMuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LW9yYW5nZSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtFdmVyeW9uZSBIYXMgYSBQaWVjZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0FsbCBmb3VyIGludmVzdGlnYXRvcnMgYXJlIHdvcmtpbmcgdG9nZXRoZXIuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXRlYWwmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O2Nhc2Utb25lJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7Q2FzZSBPbmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtUaGUgRXBpc29kZSBPbmUgaW52ZXN0aWdhdGlvbiBpcyBjb21wbGV0ZS4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtYnVyZ3VuZHkmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7Q2FyZWZ1bCBJbnZlc3RpZ2F0b3ImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtBIGxhcmdlIGNsdWUgY29sbGVjdGlvbiB3YXMgYnVpbHQgYmVmb3JlIHRoZSBncm91cCB1bml0ZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNpbHZlciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Y2x1ZS1rZWVwZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtDbHVlIEtlZXBlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0VpZ2h0IGRpc2NvdmVyaWVzIGhhdmUgZW50ZXJlZCB0aGUgc2hhcmVkIGV2aWRlbmNlIGZpbGUuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNpbHZlciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7cGF0dGVybi1tYXN0ZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtQYXR0ZXJuIE1hc3RlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O1RlbiB1bmV4cGxhaW5lZCBldmVudHMgaGF2ZSBiZWVuIG5vdGljZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNpbHZlciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Y29tcGxldGUtZmlsZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O0NvbXBsZXRlIENhc2UgRmlsZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0FsbCBlaWdodCBTdGFuZGFyZCBiYWRnZXMgaGF2ZSBiZWVuIGVhcm5lZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2lsdmVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtob3VzZS1yZW1lbWJlcnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtUaGUgSG91c2UgUmVtZW1iZXJzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QSBzZWNyZXQgY29ubmVjdGlvbiB0byB0aGUgV2luY2hlc3RlciBob3VzZSBoYXMgYmVlbiB1bmNvdmVyZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNlY3JldCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7VGhyZWUgS25vY2tzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QSByZXBlYXRlZCBzaWduYWwgaGFzIGJlZW4gY29ubmVjdGVkIHRvIEx1Y2lsbGUuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNlY3JldCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7d2F0Y2hlZC13b29kcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1dhdGNoZWQgZnJvbSB0aGUgV29vZHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtBIGhpZGRlbiB3YXRjaGVyIG5lYXIgdGhlIHRyZWVzIGhhcyBiZWVuIG5vdGljZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNlY3JldCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7bmV2ZXItbGVmdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1RoZXkgTmV2ZXIgTGVmdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0Egc2VjcmV0IHdhcm5pbmcgZnJvbSBCcmVja2VucmlkZ2UmIzM5O3MgcGFzdCBoYXMgYmVlbiB1bmNvdmVyZWQuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VDbGFzcyA9ICZxdW90O2JtLXRvYXN0LXNlY3JldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7L3N3aXRjaCZndDsmZ3Q7CgombHQ7Jmx0O2lmIF9hY3RpdmVCYWRnZUlkIGFuZCBfYWN0aXZlQmFkZ2VOYW1lJmd0OyZndDsKICAgICZsdDsmbHQ7aWYgbm90ICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcyhfYWN0aXZlQmFkZ2VJZCkmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0ICRlYXJuZWRCYWRnZUlkcyA9ICRlYXJuZWRCYWRnZUlkcy5jb25jYXQoW19hY3RpdmVCYWRnZUlkXSkmZ3Q7Jmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0OyZsdDtzZXQgJGxhdGVzdEJhZGdlSWQgPSBfYWN0aXZlQmFkZ2VJZCZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3NldCAkbGF0ZXN0QmFkZ2VOYW1lID0gX2FjdGl2ZUJhZGdlTmFtZSZndDsmZ3Q7CgogICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0O2FzaWRlIGNsYXNzPSZxdW90O2JtLWJhZGdlLXRvYXN0ICZsdDsmbHQ7PV9hY3RpdmVCYWRnZUNsYXNzJmd0OyZndDsmcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsgYXJpYS1saXZlPSZxdW90O3BvbGl0ZSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS10b2FzdC1hcnQmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtpbWcgQHNyYz0mcXVvdDsmIzM5O2ltYWdlcy9iYWRnZXMvJiMzOTsgKyBfYWN0aXZlQmFkZ2VJZCArICYjMzk7LnBuZyYjMzk7JnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXRvYXN0LWNvcHkmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXRvYXN0LWtpY2tlciZxdW90OyZndDtCYWRnZSBFYXJuZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9X2FjdGl2ZUJhZGdlTmFtZSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz1fYWN0aXZlQmFkZ2VIaW50Jmd0OyZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2lmIFN0b3J5LmhhcygmcXVvdDtNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtdG9hc3QtYWN0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7bGluayAmcXVvdDtPcGVuIENhYmluZXQmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIG5vdCBTdGF0ZS5wYXNzYWdlLnN0YXJ0c1dpdGgoJnF1b3Q7TXlzdGVyeSBLaXQgLSAmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2dvdG8gJnF1b3Q7TXlzdGVyeSBLaXQgLSBCYWRnZSBDYWJpbmV0JnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgJmx0Oy9hc2lkZSZndDsKICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODkiIG5hbWU9IlNjb290IFVzZXMgdGhlIE5vdGVib29rIEhleGFmb2lsIiB0YWdzPSIiIHBvc2l0aW9uPSIxNDc1LDU3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1VzZSB0aGUgbm90ZWJvb2smIzM5O3MgaGV4YWZvaWwgdG8ga2VlcCB0aGUgZmlmdGggZmlndXJlIGZyb20gY3Jvc3NpbmcmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2sgdG8gdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgc2l4LXBldGFsZWQgc3ltYm9sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRyYXdpbmcgaGFkIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGV0YWxzIHdlcmUgZGFya2VyIHRoYW4gdGhlIHBlbmNpbCBtYXJrcyBhcm91bmQgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3byB0aGluIGxpbmVzIGNyb3NzZWQgdGhlIGxvd2VyIHBldGFsLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CklJLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBtYXJraW5nIFNjb290IGhhZCBzZWVuIG5lYXIgdGhlIGhpZGRlbiBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlYW0gaW4gdGhlIHdhbGwgd2lkZW5lZCBhbm90aGVyIGluY2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpDb2xkIGFpciBwdXNoZWQgdGhlIG5vdGVib29rIHBhZ2VzIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSBtb3ZlZCBjbG9zZXIgaW4gdGhlIHBvc3RlciBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzeW1ib2wsJnF1b3Q7IFNjb290IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGtlcHQgYm90aCBoYW5kcyBhZ2FpbnN0IHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBhYm91dCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGtlZXBzIHNob3dpbmcgdXAgbmVhciBkb29ycy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IGEgY29tcGxldGUgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIHRoZSBjb21wbGV0ZSBydWxlIEkgaGF2ZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHByZXNzZWQgdGhlIG9wZW4gbm90ZWJvb2sgYWdhaW5zdCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIHB1bGxlZCBmbGF0IGFnYWluc3QgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3Igb25lIHNlY29uZCwgbm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIGhleGFmb2lsIGRpc2FwcGVhcmVkIGZyb20gdGhlIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGRhcmsgb3V0bGluZSBvZiB0aGUgc3ltYm9sIGFwcGVhcmVkIGJlbmVhdGggdGhlIHBhaW50IGluc3RlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaXggY3VydmVkIHBldGFscyBzcHJlYWQgYWNyb3NzIHRoZSBvcGVuaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRvb3J3YXkgc3RvcHBlZCB3aWRlbmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWZ0aCBmaWd1cmUgc3RvcHBlZCB3aXRoIG9uZSBmb290IG5lYXIgdGhlIHJlZmxlY3RlZCB0aHJlc2hvbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBoZWxkIHRoZSBub3RlYm9vayBpbiBwbGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3ZlciB2aWJyYXRlZCBiZW5lYXRoIGhpcyBoYW5kcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc2VudGVuY2UgYXBwZWFyZWQgYWNyb3NzIHRoZSBleHBvc2VkIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQSBDT1BZIENBTiBIT0xEIElULiZsdDticiZndDsKT05MWSBUSEUgRklSU1QgTUFSSyBDQU4gQ0xPU0UgSVQuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O0EgY29weSBjYW4gaG9sZCBpdC4gT25seSB0aGUgZmlyc3QgbWFyayBjYW4gY2xvc2UgaXQuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIG5vdGVib29rJiMzOTtzIGhleGFmb2lsIHN0b3BwZWQgdGhlIGhpZGRlbiBkb29yd2F5IGZyb20gd2lkZW5pbmcgYnV0IGNvdWxkIG5vdCBjbG9zZSBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2Nvb3QmIzM5O3MgY29waWVkIGhleGFmb2lsIGNvdWxkIGhvbGQgdGhlIGhpZGRlbiBkb29yd2F5IG9wZW4gb3IgY2xvc2VkLCBidXQgY291bGQgbm90IHNlYWwgaXQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwombHQ7c3Ryb25nJmd0O0JvdW5kYXJ5IHRlc3Q6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBub3RlYm9vayYjMzk7cyBjb3BpZWQgaGV4YWZvaWwgc3RvcHBlZCB0aGUgZG9vcndheSBmcm9tIG9wZW5pbmcgZmFydGhlciwgYnV0IHRoZSBub3RlYm9vayB3YXJuZWQgdGhhdCBvbmx5IHRoZSBmaXJzdCBtYXJrIGNvdWxkIGNsb3NlIGl0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggZmlndXJlIHByZXNzZWQgb25lIGhhbmQgYWdhaW5zdCB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgc3ltYm9sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIGJlbnQgaW53YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHBldGFsIGZhZGVkIGZyb20gdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVtcG9yYXJ5IHJ1bGUsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgbm90aWNlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvb3RzdGVwcyBhcHByb2FjaGVkIGZyb20gdGhlIGZhciBlbmQgb2YgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21lb25lIHR1cm5lZCB0aGUgY29ybmVyIGNhcnJ5aW5nIGEgd29ybiBsZWF0aGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGZhZGVkIHllbGxvdyByaWJib24gdHJhaWxlZCBmcm9tIGJlbmVhdGggaXRzIGNsYXNwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUgcGVyc29uIGFwcGVhcmVkIGluIHRoZSBwb3N0ZXIgZ2xhc3MgYmVzaWRlIFNjb290IGFuZCBSeWFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXdjb21lciBzdG9wcGVkIGluIGZyb250IG9mIHRoZSBleHBvc2VkIHN5bWJvbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RvbiYjMzk7dCBtb3ZlIHRoZSBub3RlYm9vaywmcXVvdDsgdGhlIG5ld2NvbWVyIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBvcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNoZWV0IG9mIGFyY2hpdmUgcGFwZXIgc2xpZCBmcmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzZWNvbmQgaGV4YWZvaWwgY292ZXJlZCB0aGUgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoaXMgb25lIGxvb2tlZCBvbGRlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBjb3BpZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSZW1lbWJlcmVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwpbW0tlZXAgdGhlIG5vdGVib29rIGFnYWluc3QgdGhlIHdhbGwtJmd0O0tpbW15IFJlYWNoZXMgU2Nvb3QgYW5kIFJ5YW5dXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48L3R3LXN0b3J5ZGF0YT4=