Search
Start typing to see products you are looking for.
Menu
Menu
Categories
Categories
Editors' favorites
Editors' favorites
Trending
Trending
Home stuff
Home stuff
Tools & home improvements
Tools & home improvements
Anti stress toys
Anti stress toys
Gift ideas
Gift ideas
Travelers
Travelers
Pet accessories
Pet accessories
Car accessories
Car accessories
Fun kitchen finds
Fun kitchen finds
All products
All products
Home
Home
Shop all
Shop all
Our favorites
Our favorites
Tools & home improvements
Tools & home improvements
Kitchen tools
Kitchen tools
Car accessories
Car accessories
Anti stress toys
Anti stress toys
Gadgets
Gadgets
Outdoor tools
Outdoor tools
Contact us
Contact us
0
Wishlist
Login / Register
Cart
0
Your cart is empty
Add something you didn’t know you needed.
Continue shopping
English
French
English
French
Free shipping,
no minimum
30-day money-back guarantee
10K+ hand-picked finds
Free shipping,
no minimum
30-day money-back guarantee
10K+ hand-picked finds
Facebook
Email
Instagram
YouTube
Facebook
Email
Instagram
YouTube
📱 Mobile APP
📱 Mobile APP
Menu
Select category
Select category
Anti Stress Toys & Fun Stuff
Anti Stress Toys & Fun Stuff
Anti Stress Toys & Fun Stuff
Anti Stress Toys & Fun Stuff
Car Accessories
Car Accessories
Car Accessories
Car Accessories
EDITORS' FAVORITES
EDITORS' FAVORITES
EDITORS' FAVORITES
EDITORS' FAVORITES
Fun Kitchen Finds
Fun Kitchen Finds
Fun Kitchen Finds
Fun Kitchen Finds
Gift Idea
Gift Idea
Gift Idea
Gift Idea
Home page
Home page
Home Stuff
Home Stuff
Home Stuff
Home Stuff
Laptop & MacBook Accessories
Laptop & MacBook Accessories
Pet Accessories
Pet Accessories
Pet Accessories
Pet Accessories
Tools & Home Improvements
Tools & Home Improvements
Tools & Home Improvements
Tools & Home Improvements
Travelers
Travelers
Travelers
Travelers
Trending
Trending
Trending
Trending
Search
Start typing to see products you are looking for.
Sign in / Register
0
item(s)
/
$0
Search
Browse Categories
Browse Categories
HOME
HOME
CATALOG
CATALOG
DISCOVER
DISCOVER
OUR FAVORITES
OUR FAVORITES
GIFT IDEAS
GIFT IDEAS
CONTACT
CONTACT
0
item(s)
/
$0
eyUgbGF5b3V0IG5vbmUgJX0KPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICA8dGl0bGU+Um9ib290ZXIgWDQwIC0gU21hcnQgQXV0b25vbW91cyBFbGVjdHJpYyBXaGVlbGNoYWlyIHwgU292b3JzPC90aXRsZT4KICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iRXhwbG9yZSB0aGUgUm9ib290ZXIgWDQwLCB0aGUgdWx0aW1hdGUgZWxlY3RyaWMgd2hlZWxjaGFpciBmb3IgaW5kb29yIGFuZCBvdXRkb29yIG1vYmlsaXR5IGZlYXR1cmluZyBhdXRvbWF0aWMgZm9sZGluZyBhbmQgYXBwIGNvbnRyb2wuIEdldCB5b3VycyB0b2RheSEiPgogIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMDs4MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogIDxzdHlsZT4KICAgIC8qIFJlc2V0ICYgQmFzZSBTdHlsZXMgKi8KICAgICosCiAgICAqOjpiZWZvcmUsCiAgICAqOjphZnRlciB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgIH0KCiAgICA6cm9vdCB7CiAgICAgIC0tcHJpbWFyeS1jb2xvcjogIzA1MkY4MzsKICAgICAgLS1wcmltYXJ5LWRhcms6ICMwNDFkNTI7CiAgICAgIC0tcHJpbWFyeS1saWdodDogIzBhNGFiODsKICAgICAgLS1ibGFjazogIzAwMDAwMDsKICAgICAgLS13aGl0ZTogI2ZmZmZmZjsKICAgICAgLS1ncmF5LTEwMDogI2Y4ZjlmYTsKICAgICAgLS1ncmF5LTIwMDogI2U5ZWNlZjsKICAgICAgLS1ncmF5LTMwMDogI2RlZTJlNjsKICAgICAgLS1ncmF5LTQwMDogI2NlZDRkYTsKICAgICAgLS1ncmF5LTUwMDogI2FkYjViZDsKICAgICAgLS1ncmF5LTYwMDogIzZjNzU3ZDsKICAgICAgLS1ncmF5LTcwMDogIzQ5NTA1NzsKICAgICAgLS1ncmF5LTgwMDogIzM0M2E0MDsKICAgICAgLS1ncmF5LTkwMDogIzIxMjUyOTsKICAgICAgLS1nb2xkOiAjZmJiZjI0OwogICAgICAtLWZvbnQtZmFtaWx5OiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgLS10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgfQoKICAgIGh0bWwgewogICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgIH0KCiAgICBib2R5IHsKICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgY29sb3I6IHZhcigtLWdyYXktODAwKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICB9CgogICAgaW1nIHsKICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IGF1dG87CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKICAgIGEgewogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTsKICAgIH0KCiAgICB1bCB7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICB9CgogICAgLmNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgcGFkZGluZzogMCAyMHB4OwogICAgfQoKICAgIC8qIEhlYWRlciBTdHlsZXMgKi8KICAgIC5oZWFkZXIgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7CiAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgIHRvcDogMDsKICAgICAgei1pbmRleDogMTAwMDsKICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICB9CgogICAgLmhlYWRlci1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBoZWlnaHQ6IDcwcHg7CiAgICB9CgogICAgLmxvZ28gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQoKICAgIC5sb2dvLXRleHQgewogICAgICBmb250LXNpemU6IDMycHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4OwogICAgfQoKICAgIC5uYXYtbWVudSB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogNDBweDsKICAgIH0KCiAgICAubmF2LW1lbnUgYSB7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLm5hdi1tZW51IGE6aG92ZXIgewogICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICB9CgogICAgLm5hdi1tZW51IGE6OmFmdGVyIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYm90dG9tOiAtNXB4OwogICAgICBsZWZ0OiAwOwogICAgICB3aWR0aDogMDsKICAgICAgaGVpZ2h0OiAycHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7CiAgICB9CgogICAgLm5hdi1tZW51IGE6aG92ZXI6OmFmdGVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmhlYWRlci1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAyMHB4OwogICAgfQoKICAgIC5jYXJ0LWxpbmsgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CgogICAgLmNhcnQtbGluazpob3ZlciB7CiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgIH0KCiAgICAuY2FydC1jb3VudCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAtOHB4OwogICAgICByaWdodDogLThweDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgd2lkdGg6IDE4cHg7CiAgICAgIGhlaWdodDogMThweDsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIH0KCiAgICAubW9iaWxlLW1lbnUtYnRuIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHBhZGRpbmc6IDVweDsKICAgIH0KCiAgICAubW9iaWxlLW1lbnUgewogICAgICBkaXNwbGF5OiBub25lOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTgwMCk7CiAgICB9CgogICAgLm1vYmlsZS1tZW51IGEgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS04MDApOwogICAgfQoKICAgIC5tb2JpbGUtbWVudSBhOmhvdmVyIHsKICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC8qIEhlcm8gU2VjdGlvbiAqLwogICAgLmhlcm8gewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDYwcHggMDsKICAgIH0KCiAgICAuaGVyby1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICBnYXA6IDYwcHg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CgogICAgLmhlcm8tdGl0bGUgewogICAgICBmb250LXNpemU6IDQycHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KCiAgICAuaGVyby1zdWJ0aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIH0KCiAgICAuaGVyby1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTsKICAgICAgbGluZS1oZWlnaHQ6IDEuODsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAuYnRuLXByaW1hcnkgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiAxNnB4IDQwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9CgogICAgLmJ0bi1wcmltYXJ5OmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1kYXJrKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoNSwgNDcsIDEzMSwgMC40KTsKICAgIH0KCiAgICAuYnRuLWxhcmdlIHsKICAgICAgcGFkZGluZzogMjBweCA1MHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLmhlcm8taW1hZ2UgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KCiAgICAuaGVyby1pbWFnZSBpbWcgewogICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogYXV0bzsKICAgIH0KCiAgICAvKiBTZWN0aW9uIFRpdGxlcyAqLwogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDM2cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTsKICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSAuYWNjZW50IHsKICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlLWxpZ2h0IHsKICAgICAgZm9udC1zaXplOiAzNnB4OwogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICB9CgogICAgLnNlY3Rpb24tc3VidGl0bGUtYWNjZW50IHsKICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICB9CgogICAgLyogRmVhdHVyZXMgU2VjdGlvbiAqLwogICAgLmZlYXR1cmVzLXNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDgwcHggMDsKICAgIH0KCiAgICAuZmVhdHVyZXMtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgIGdhcDogMzBweDsKICAgIH0KCiAgICAuZmVhdHVyZS1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0xMDApOwogICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTsKICAgIH0KCiAgICAuZmVhdHVyZS1jYXJkOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICB9CgogICAgLmZlYXR1cmUtY2FyZCBpbWcgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICB9CgogICAgLmZlYXR1cmUtdGl0bGUgewogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAuZmVhdHVyZS1kZXNjIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApOwogICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBsaW5lLWhlaWdodDogMS43OwogICAgfQoKICAgIC8qIER1YWwgRmVhdHVyZXMgU2VjdGlvbiAqLwogICAgLmR1YWwtZmVhdHVyZXMgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDYwcHggMCA4MHB4OwogICAgfQoKICAgIC5kdWFsLWZlYXR1cmVzLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICBnYXA6IDQwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICB9CgogICAgLmR1YWwtZmVhdHVyZS1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0xMDApOwogICAgICBib3JkZXItcmFkaXVzOiAxNnB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgLmR1YWwtZmVhdHVyZS1jYXJkIGltZyB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDI1MHB4OwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAuZHVhbC1mZWF0dXJlLWNhcmQgLmZlYXR1cmUtdGl0bGUgewogICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgIHBhZGRpbmc6IDI1cHggMjVweCAxNXB4OwogICAgfQoKICAgIC5kdWFsLWZlYXR1cmUtY2FyZCAuZmVhdHVyZS1kZXNjIHsKICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICBwYWRkaW5nOiAwIDI1cHggMjVweDsKICAgIH0KCiAgICAuY3RhLWNlbnRlciB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAvKiBWaWRlbyBTZWN0aW9uICovCiAgICAudmlkZW8tc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTsKICAgICAgcGFkZGluZzogODBweCAwOwogICAgfQoKICAgIC52aWRlby13cmFwcGVyIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgIH0KCiAgICAudmlkZW8td3JhcHBlciBpZnJhbWUgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgIH0KCiAgICAvKiBTdGF0cyBTZWN0aW9uICovCiAgICAuc3RhdHMtc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogODBweCAwOwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApOwogICAgfQoKICAgIC5zdGF0cy1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgZ2FwOiA0MHB4OwogICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OwogICAgfQoKICAgIC5zdGF0cy1jb2x1bW4gewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDMwcHg7CiAgICB9CgogICAgLnN0YXRzLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBjb2xvcjogdmFyKC0tYmxhY2spOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgfQoKICAgIC5zdGF0cy1saXN0IHsKICAgICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIH0KCiAgICAuc3RhdHMtbGlzdCBsaSB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTsKICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogMTBweDsKICAgIH0KCiAgICAuc3RhdHMtbGlzdCBsaTo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHdpZHRoOiA2cHg7CiAgICAgIGhlaWdodDogNnB4OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgfQoKICAgIC8qIFNwZWNzIFNlY3Rpb24gKi8KICAgIC5zcGVjcy1zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiA4MHB4IDA7CiAgICB9CgogICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgewogICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgIH0KCiAgICAuc3BlY3MtdGFibGUgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIH0KCiAgICAuc3BlY3MtdGFibGUgdGggewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgIH0KCiAgICAuc3BlY3MtdGFibGUgdGQgewogICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTsKICAgIH0KCiAgICAuc3BlY3MtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0xMDApOwogICAgfQoKICAgIC5zcGVjcy10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7CiAgICB9CgogICAgLyogR2FsbGVyeSBTZWN0aW9uICovCiAgICAuZ2FsbGVyeS1zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiA2MHB4IDA7CiAgICB9CgogICAgLmdhbGxlcnktZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7CiAgICAgIGdhcDogMTVweDsKICAgIH0KCiAgICAuZ2FsbGVyeS1pdGVtIHsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBhc3BlY3QtcmF0aW86IDE7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7CiAgICB9CgogICAgLmdhbGxlcnktaXRlbTpob3ZlciB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICAgIHotaW5kZXg6IDEwOwogICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICB9CgogICAgLmdhbGxlcnktaXRlbSBpbWcgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAvKiBDVEEgU2VjdGlvbiAqLwogICAgLmN0YS1zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spOwogICAgICBwYWRkaW5nOiA4MHB4IDIwcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAuY3RhLXRleHQgewogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICB9CgogICAgLyogVGVzdGltb25pYWxzIFNlY3Rpb24gKi8KICAgIC50ZXN0aW1vbmlhbHMtc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogODBweCAwOwogICAgfQoKICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWluLWhlaWdodDogMzUwcHg7CiAgICB9CgogICAgLnRlc3RpbW9uaWFsLWNhcmQgewogICAgICBkaXNwbGF5OiBub25lOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTEwMCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGdhcDogNDBweDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KCiAgICAudGVzdGltb25pYWwtY2FyZC5hY3RpdmUgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZTsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7CiAgICAgIGZyb20gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CiAgICAgIHRvIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgfQogICAgfQoKICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB9CgogICAgLnRlc3RpbW9uaWFsLXRleHQgewogICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTcwMCk7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgIH0KCiAgICAudGVzdGltb25pYWwtYXV0aG9yIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiA1cHg7CiAgICB9CgogICAgLmF1dGhvci1uYW1lIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICB9CgogICAgLmF1dGhvci10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNTAwKTsKICAgIH0KCiAgICAudGVzdGltb25pYWwtaW1hZ2UgewogICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC50ZXN0aW1vbmlhbC1pbWFnZSBpbWcgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAzMDBweDsKICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICB9CgogICAgLnRlc3RpbW9uaWFsLWRvdHMgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiAxMHB4OwogICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC5kb3QgewogICAgICB3aWR0aDogMTJweDsKICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMzAwKTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pOwogICAgfQoKICAgIC5kb3Q6aG92ZXIsCiAgICAuZG90LmFjdGl2ZSB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC8qIENlcnRpZmljYXRpb25zIFNlY3Rpb24gKi8KICAgIC5jZXJ0aWZpY2F0aW9ucy1zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiA2MHB4IDA7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7CiAgICB9CgogICAgLmNlcnRpZmljYXRpb25zLWdyaWQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA2MHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICB9CgogICAgLmNlcnQtaXRlbSB7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMTAwKTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgfQoKICAgIC5jZXJ0LWl0ZW0gaW1nIHsKICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICB3aWR0aDogYXV0bzsKICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIH0KCiAgICAuY2VydC1wbGFjZWhvbGRlciB7CiAgICAgIGhlaWdodDogNjBweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIH0KCiAgICAvKiBUcnVzdCBTZWN0aW9uICovCiAgICAudHJ1c3Qtc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktOTAwKTsKICAgICAgcGFkZGluZzogNDBweCAwOwogICAgfQoKICAgIC50cnVzdC1iYWRnZSB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDQwcHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAudHJ1c3QtcmF0aW5nIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxMHB4OwogICAgfQoKICAgIC50cnVzdC1sYWJlbCB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgIH0KCiAgICAuc3RhcnMgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDRweDsKICAgIH0KCiAgICAuc3RhcnMgc3ZnIHsKICAgICAgd2lkdGg6IDI0cHg7CiAgICAgIGhlaWdodDogMjRweDsKICAgIH0KCiAgICAucmV2aWV3LWNvdW50IHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogdmFyKC0tZ3JheS00MDApOwogICAgfQoKICAgIC5yZXZpZXctY291bnQgc3Ryb25nIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmdvb2dsZS1sb2dvIHsKICAgICAgd2lkdGg6IDUwcHg7CiAgICAgIGhlaWdodDogYXV0bzsKICAgIH0KCiAgICAvKiBGb290ZXIgKi8KICAgIC5mb290ZXIgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTQwMCk7CiAgICAgIHBhZGRpbmc6IDYwcHggMCAzMHB4OwogICAgfQoKICAgIC5mb290ZXItY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICBwYWRkaW5nOiAwIDIwcHg7CiAgICB9CgogICAgLmZvb3Rlci1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAxZnIgMWZyIDFmcjsKICAgICAgZ2FwOiA0MHB4OwogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIC5mb290ZXItbG9nbyB7CiAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgfQoKICAgIC5mb290ZXItdGFnbGluZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIH0KCiAgICAuc29jaWFsLWxpbmtzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAxNXB4OwogICAgfQoKICAgIC5zb2NpYWwtbGlua3MgYSB7CiAgICAgIHdpZHRoOiAzNnB4OwogICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktODAwKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7CiAgICB9CgogICAgLnNvY2lhbC1saW5rcyBhOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgIH0KCiAgICAuZm9vdGVyLWNvbCBoNCB7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIH0KCiAgICAuZm9vdGVyLWNvbCB1bCBsaSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICB9CgogICAgLmZvb3Rlci1jb2wgdWwgbGkgYSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6IHZhcigtLWdyYXktNDAwKTsKICAgIH0KCiAgICAuZm9vdGVyLWNvbCB1bCBsaSBhOmhvdmVyIHsKICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC5mb290ZXItYm90dG9tIHsKICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyYXktODAwKTsKICAgICAgcGFkZGluZy10b3A6IDMwcHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBnYXA6IDIwcHg7CiAgICB9CgogICAgLmZvb3Rlci1ib3R0b20gcCB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIH0KCiAgICAucGF5bWVudC1tZXRob2RzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxNXB4OwogICAgfQoKICAgIC5wYXltZW50LW1ldGhvZHMgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KCiAgICAucGF5bWVudC1pY29ucyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMTBweDsKICAgIH0KCiAgICAucGF5bWVudC1pY29ucyBzcGFuIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS04MDApOwogICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDExcHg7CiAgICB9CgogICAgLyogUmVzcG9uc2l2ZSBTdHlsZXMgKi8KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgICAgLmZlYXR1cmVzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgIH0KCiAgICAgIC5oZXJvLWNvbnRhaW5lciB7CiAgICAgICAgZ2FwOiA0MHB4OwogICAgICB9CgogICAgICAuaGVyby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAzNnB4OwogICAgICB9CgogICAgICAuZ2FsbGVyeS1ncmlkIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgICB9CgogICAgICAuZm9vdGVyLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgIH0KICAgIH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgLm5hdi1tZW51IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAubW9iaWxlLW1lbnUtYnRuIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLm1vYmlsZS1tZW51LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZXJvLWNvbnRhaW5lciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuaGVyby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICB9CgogICAgICAuaGVyby1pbWFnZSB7CiAgICAgICAgb3JkZXI6IC0xOwogICAgICB9CgogICAgICAuaGVyby1pbWFnZSBpbWcgewogICAgICAgIG1heC13aWR0aDogODAlOwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CgogICAgICAuZmVhdHVyZXMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIH0KCiAgICAgIC5kdWFsLWZlYXR1cmVzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAuc3RhdHMtY29sdW1uIHsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1jb2x1bW46bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmdhbGxlcnktZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgfQoKICAgICAgLnRlc3RpbW9uaWFsLWNhcmQuYWN0aXZlIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBwYWRkaW5nOiAzMHB4OwogICAgICB9CgogICAgICAudGVzdGltb25pYWwtaW1hZ2UgewogICAgICAgIG9yZGVyOiAtMTsKICAgICAgfQoKICAgICAgLnRlc3RpbW9uaWFsLWltYWdlIGltZyB7CiAgICAgICAgaGVpZ2h0OiAyNTBweDsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgaWZyYW1lIHsKICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSwKICAgICAgLnNlY3Rpb24tdGl0bGUtbGlnaHQgewogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgfQoKICAgICAgLmN0YS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0aWZpY2F0aW9ucy1ncmlkIHsKICAgICAgICBnYXA6IDMwcHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWl0ZW0gaW1nIHsKICAgICAgICBoZWlnaHQ6IDQ1cHg7CiAgICAgIH0KCiAgICAgIC5mb290ZXItZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuc29jaWFsLWxpbmtzIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmZvb3Rlci1ib3R0b20gewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAucGF5bWVudC1tZXRob2RzIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CiAgICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIC5oZXJvLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI2cHg7CiAgICAgIH0KCiAgICAgIC5oZXJvLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIH0KCiAgICAgIC5idG4tcHJpbWFyeSB7CiAgICAgICAgcGFkZGluZzogMTRweCAzMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJ0bi1sYXJnZSB7CiAgICAgICAgcGFkZGluZzogMTZweCAzNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgfQoKICAgICAgLmdhbGxlcnktZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWNhcmQgaW1nIHsKICAgICAgICBoZWlnaHQ6IDE4MHB4OwogICAgICB9CgogICAgICAuc3BlY3MtdGFibGUgdGgsCiAgICAgIC5zcGVjcy10YWJsZSB0ZCB7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnRydXN0LWJhZGdlIHsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC50ZXN0aW1vbmlhbC1jYXJkLmFjdGl2ZSB7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgfQoKICAgICAgLnRlc3RpbW9uaWFsLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgPCEtLSBIZWFkZXIgLS0+CiAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIj4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1jb250YWluZXIiPgogICAgICA8YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20iIGNsYXNzPSJsb2dvIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibG9nby10ZXh0Ij5zb3ZvcnM8L3NwYW4+CiAgICAgIDwvYT4KICAgICAgPG5hdiBjbGFzcz0ibmF2LW1lbnUiPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbS8iPkhvbWU8L2E+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL2NvbGxlY3Rpb25zL2FsbCI+U2hvcCBBbGw8L2E+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL2NvbGxlY3Rpb25zL2VkaXRvcnMtZmF2b3JpdGVzIj5PdXIgRmF2b3JpdGVzPC9hPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbS9wYWdlcy9jb250YWN0LXVzIj5Db250YWN0PC9hPgogICAgICA8L25hdj4KICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgIDxhIGhyZWY9Ii9jYXJ0IiBjbGFzcz0iY2FydC1saW5rIj4KICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iOSIgY3k9IjIxIiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIyMSIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDFoNGwyLjY4IDEzLjM5YTIgMiAwIDAgMCAyIDEuNjFoOS43MmEyIDIgMCAwIDAgMi0xLjYxTDIzIDZINiI+PC9wYXRoPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FydC1jb3VudCI+e3sgY2FydC5pdGVtX2NvdW50IH19PC9zcGFuPgogICAgICAgIDwvYT4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb2JpbGUtbWVudS1idG4iIGlkPSJtb2JpbGVNZW51QnRuIj4KICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjMiIHkxPSIxMiIgeDI9IjIxIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjMiIHkxPSI2IiB4Mj0iMjEiIHkyPSI2Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIzIiB5MT0iMTgiIHgyPSIyMSIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS0gTW9iaWxlIE1lbnUgLS0+CiAgICA8ZGl2IGNsYXNzPSJtb2JpbGUtbWVudSIgaWQ9Im1vYmlsZU1lbnUiPgogICAgICA8YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vIj5Ib21lPC9hPgogICAgICA8YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vY29sbGVjdGlvbnMvYWxsIj5TaG9wIEFsbDwvYT4KICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL2NvbGxlY3Rpb25zL2VkaXRvcnMtZmF2b3JpdGVzIj5PdXIgRmF2b3JpdGVzPC9hPgogICAgICA8YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcGFnZXMvY29udGFjdC11cyI+Q29udGFjdDwvYT4KICAgIDwvZGl2PgogIDwvaGVhZGVyPgoKICA8IS0tIEhlcm8gU2VjdGlvbiAtLT4KICA8c2VjdGlvbiBjbGFzcz0iaGVybyI+CiAgICA8ZGl2IGNsYXNzPSJoZXJvLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudCI+CiAgICAgICAgPGgxIGNsYXNzPSJoZXJvLXRpdGxlIj5Sb2Jvb3RlciBYNDAgSW5kb29yLyBPdXRkb29yIFBvd2VyIENoYWlyPC9oMT4KICAgICAgICA8cCBjbGFzcz0iaGVyby1zdWJ0aXRsZSI+U21hcnQgQXV0b25vbW91cyBFbGVjdHJpYyBXaGVlbGNoYWlyIHdpdGggQXBwIENvbnRyb2wuPC9wPgogICAgICAgIDxwIGNsYXNzPSJoZXJvLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRoZSBSb2Jvb3RlciBYNDAgUG93ZXIgV2hlZWxjaGFpciBpcyBkZXNpZ25lZCBmb3IgdGhvc2Ugc2Vla2luZyBhIHZlcnNhdGlsZSBhbmQgcm9idXN0IG1vYmlsaXR5IHNvbHV0aW9uLiBGZWF0dXJpbmcgYXV0b21hdGljIGZvbGRpbmcgYW5kIHBvd2VyZnVsIGFsbC10ZXJyYWluIGNhcGFiaWxpdGllcywgdGhpcyBhZHZhbmNlZCB3aGVlbGNoYWlyIGlzIHBlcmZlY3QgZm9yIGJvdGggaW5kb29yIGFuZCBvdXRkb29yIHVzZS4gVGhlIG9tbmktZGlyZWN0aW9uYWwgZnJvbnQgd2hlZWxzIGFsbG93IGZvciBhIDMwIiB0dXJuaW5nIHJhZGl1cyB3aGljaCBwcm92aWRlcyBleGNlcHRpb25hbCBtYW5ldXZlcmFiaWxpdHksIG1ha2luZyBpdCBpZGVhbCBmb3IgbmF2aWdhdGluZyB0aWdodCBzcGFjZXMuCiAgICAgICAgPC9wPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbS9wcm9kdWN0cy9wcm9kdWN0LTExOC1zbWFydC1hdXRvbm9tb3VzLWVsZWN0cmljLXdoZWVsY2hhaXItYXBwLWNvbnRyb2wiIGNsYXNzPSJidG4tcHJpbWFyeSI+U2hvcCBOb3c8L2E+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJoZXJvLWltYWdlIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NzY3NjU2MDg1MzUtNWYwNGQxZTNmMjg5P3c9NjAwJmg9NTAwJmZpdD1jcm9wIiBhbHQ9IlJvYm9vdGVyIFg0MCBFbGVjdHJpYyBXaGVlbGNoYWlyIiBsb2FkaW5nPSJlYWdlciI+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEtleSBGZWF0dXJlcyBTZWN0aW9uIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJmZWF0dXJlcy1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Um9ib290ZXIgWDQwIDxzcGFuIGNsYXNzPSJhY2NlbnQiPktleSBGZWF0dXJlczwvc3Bhbj48L2gyPgogICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjMxMDQ5MzA3MjY0LWRhMGVjOWQ3MDMwND93PTQwMCZoPTIwMCZmaXQ9Y3JvcCIgYWx0PSJBdXRvbWF0aWMgRm9sZGluZyBTeXN0ZW0iIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLXRpdGxlIj5BdXRvbWF0aWMgRm9sZGluZyBTeXN0ZW08L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtZGVzYyI+T25lLWNsaWNrIGZvbGRpbmcgYW5kIHVuZm9sZGluZyBmb3IgY29udmVuaWVudCBzdG9yYWdlIGFuZCB0cmFuc3BvcnRhdGlvbi48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1jYXJkIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU1ODYxODY2Ni1mY2QyNWM4NWNkNjQ/dz00MDAmaD0yMDAmZml0PWNyb3AiIGFsdD0iQWxsLVRlcnJhaW4gQ2FwYWJpbGl0aWVzIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iZmVhdHVyZS10aXRsZSI+QWxsLVRlcnJhaW4gQ2FwYWJpbGl0aWVzPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWRlc2MiPkVxdWlwcGVkIHdpdGggZnJvbnQgb21uaSB3aGVlbHMgYW5kIGFsbC10ZXJyYWluIHJlYXIgd2hlZWxzLCBpdCBlYXNpbHkgbmF2aWdhdGVzIGdyYXNzLCBjb2JibGVzdG9uZXMsIHNhbmQsIGFuZCBncmF2ZWwuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtY2FyZCI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MTg3NzA2NjA0MzktNDYzNjE5MGFmNDc1P3c9NDAwJmg9MjAwJmZpdD1jcm9wIiBhbHQ9IkludGVsbGlnZW50IFNvZnR3YXJlIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iZmVhdHVyZS10aXRsZSI+SW50ZWxsaWdlbnQgU29mdHdhcmU8L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtZGVzYyI+SW5jbHVkZXMgY3J1aXNlIGNvbnRyb2wsIGJlZ2lubmVyIG1vZGUsIGFuZCBpbnRlbGxpZ2VudCBzcGVlZCBsaW1pdCBmb3Igc2FmZSBhbmQgc2VhbWxlc3MgbmF2aWdhdGlvbi48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1jYXJkIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTYxMTUzMjczNjU5Ny1kZTJkNDI2NWZiYTM/dz00MDAmaD0yMDAmZml0PWNyb3AiIGFsdD0iQmx1ZXRvb3RoIENhcGFiaWxpdHkiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLXRpdGxlIj5CbHVldG9vdGggQ2FwYWJpbGl0eTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0iZmVhdHVyZS1kZXNjIj5Db250cm9sIHRoZSB3aGVlbGNoYWlyIHJlbW90ZWx5IHdpdGggeW91ciBzbWFydHBob25lIG9yIGJsdWV0b290aCBjb250cm9sbGVyIGZvciBhZGRlZCBjb252ZW5pZW5jZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1jYXJkIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU0MDU1MzAxNjcyMi05ODNlNDhhMmNkMTA/dz00MDAmaD0yMDAmZml0PWNyb3AiIGFsdD0iU3VwZXJpb3IgQ29tZm9ydCIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtdGl0bGUiPlN1cGVyaW9yIENvbWZvcnQ8L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtZGVzYyI+RmVhdHVyZXMgYSAyLjc1IiBicmVhdGhhYmxlIG1lbW9yeSBmb2FtIGN1c2hpb24sIGVyZ29ub21pYyAxNS1kZWdyZWUgYmFja3Jlc3QgdGlsdCwgYW5kIGFkanVzdGFibGUgY29udHJvbGxlciBmb3IgbWF4aW11bSBjb21mb3J0LjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjE5NjQxODA1NjM0LTk4ZTVjNDBhZTBlNz93PTQwMCZoPTIwMCZmaXQ9Y3JvcCIgYWx0PSJMb25nLUxhc3RpbmcgQmF0dGVyeSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtdGl0bGUiPkxvbmctTGFzdGluZyBCYXR0ZXJ5PC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWRlc2MiPlRoZSAyMEFoIGxpdGhpdW0taW9uIGJhdHRlcnkgcHJvdmlkZXMgYSByYW5nZSBvZiB1cCB0byAyNSBrbSBvbiBhIHNpbmdsZSBjaGFyZ2UsIGlkZWFsIGZvciBkYWlseSB1c2UgYW5kIHRyYXZlbC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEVuaGFuY2VkIFNhZmV0eSAmIFBvd2VyZnVsIFBlcmZvcm1hbmNlIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJkdWFsLWZlYXR1cmVzIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImR1YWwtZmVhdHVyZXMtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZHVhbC1mZWF0dXJlLWNhcmQiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTUxODM2MDIyLWQ1ZDg4ZTkyMThkZj93PTUwMCZoPTI1MCZmaXQ9Y3JvcCIgYWx0PSJFbmhhbmNlZCBTYWZldHkiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLXRpdGxlIj5FbmhhbmNlZCBTYWZldHk8L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtZGVzYyI+RXF1aXBwZWQgd2l0aCBhbiBlbGVjdHJvbmljIGNvbnRyb2wgc3lzdGVtLCBhdXRvbWF0aWMgZWxlY3Ryb21hZ25ldGljIGJyYWtlcywgcmVhciBhbnRpLXNraWQgd2hlZWxzLCBhbmQgYSBidWlsdC1pbiBneXJvc2NvcGUgZm9yIGVuaGFuY2VkIHNhZmV0eS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZHVhbC1mZWF0dXJlLWNhcmQiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTU4NjE4NjY2LWZjZDI1Yzg1Y2Q2ND93PTUwMCZoPTI1MCZmaXQ9Y3JvcCIgYWx0PSJQb3dlcmZ1bCBQZXJmb3JtYW5jZSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtdGl0bGUiPlBvd2VyZnVsIFBlcmZvcm1hbmNlPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWRlc2MiPkR1YWwgYnJ1c2hsZXNzIERDIG1vdG9ycyBlbnN1cmUgc3Ryb25nIGFjY2VsZXJhdGlvbiBhbmQgY2xpbWJpbmcgYWJpbGl0eSwgZGVsaXZlcmluZyBzbW9vdGggYW5kIGVmZmljaWVudCBtb2JpbGl0eSBhY3Jvc3MgdmFyaW91cyB0ZXJyYWlucy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjdGEtY2VudGVyIj4KICAgICAgICA8YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcHJvZHVjdHMvcHJvZHVjdC0xMTgtc21hcnQtYXV0b25vbW91cy1lbGVjdHJpYy13aGVlbGNoYWlyLWFwcC1jb250cm9sIiBjbGFzcz0iYnRuLXByaW1hcnkiPlNob3AgTm93PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBWaWRlbyBTZWN0aW9uIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJ2aWRlby1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZS1saWdodCI+VW5sZWFzaCBZb3VyIEZyZWVkb20gd2l0aCB0aGUgUm9ib290ZXIgWDQwPC9oMj4KICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUtYWNjZW50Ij5UaGUgVWx0aW1hdGUgTW9iaWxpdHkgU29sdXRpb24uPC9wPgogICAgICA8ZGl2IGNsYXNzPSJ2aWRlby13cmFwcGVyIj4KICAgICAgICA8aWZyYW1lCiAgICAgICAgICB3aWR0aD0iMTAwJSIKICAgICAgICAgIGhlaWdodD0iNTAwIgogICAgICAgICAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9zLXZjclhJbVE4MCIKICAgICAgICAgIHRpdGxlPSJSb2Jvb3RlciBYNDAgRWxlY3RyaWMgV2hlZWxjaGFpciIKICAgICAgICAgIGZyYW1lYm9yZGVyPSIwIgogICAgICAgICAgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZSIKICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbj4KICAgICAgICA8L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gUGVyZm9ybWFuY2UgU3RhdHMgU2VjdGlvbiAtLT4KICA8c2VjdGlvbiBjbGFzcz0ic3RhdHMtc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1jb2x1bW4iPgogICAgICAgICAgPGgzIGNsYXNzPSJzdGF0cy10aXRsZSI+UGVyZm9ybWFuY2UuPC9oMz4KICAgICAgICAgIDx1bCBjbGFzcz0ic3RhdHMtbGlzdCI+CiAgICAgICAgICAgIDxsaT5NYXhpbXVtIFNwZWVkOiA2IGttL2g8L2xpPgogICAgICAgICAgICA8bGk+QmF0dGVyeSBDYXBhY2l0eTogMjBBaDwvbGk+CiAgICAgICAgICAgIDxsaT5NYXhpbXVtIExvYWQ6IDI2NSBsYnM8L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1jb2x1bW4iPgogICAgICAgICAgPGgzIGNsYXNzPSJzdGF0cy10aXRsZSI+Q29tZm9ydC48L2gzPgogICAgICAgICAgPHVsIGNsYXNzPSJzdGF0cy1saXN0Ij4KICAgICAgICAgICAgPGxpPkVyZ29ub21pYyBzZWF0IHdpdGggbWVtb3J5IGZvYW08L2xpPgogICAgICAgICAgICA8bGk+QWRqdXN0YWJsZSBhcm1yZXN0czwvbGk+CiAgICAgICAgICAgIDxsaT5JbnR1aXRpdmUgY29udHJvbCBwYW5lbDwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLWNvbHVtbiI+CiAgICAgICAgICA8aDMgY2xhc3M9InN0YXRzLXRpdGxlIj5TYWZldHkuPC9oMz4KICAgICAgICAgIDx1bCBjbGFzcz0ic3RhdHMtbGlzdCI+CiAgICAgICAgICAgIDxsaT5BdXRvbWF0aWMgYnJha2luZyBzeXN0ZW08L2xpPgogICAgICAgICAgICA8bGk+Q3J1aXNlIGNvbnRyb2w8L2xpPgogICAgICAgICAgICA8bGk+Qmx1ZXRvb3RoIGFwcCBjb250cm9sczwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY3RhLWNlbnRlciI+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL3Byb2R1Y3RzL3Byb2R1Y3QtMTE4LXNtYXJ0LWF1dG9ub21vdXMtZWxlY3RyaWMtd2hlZWxjaGFpci1hcHAtY29udHJvbCIgY2xhc3M9ImJ0bi1wcmltYXJ5Ij5TaG9wIE5vdzwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gVGVjaG5pY2FsIFNwZWNpZmljYXRpb25zIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJzcGVjcy1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Um9ib290ZXIgWDQwIDxzcGFuIGNsYXNzPSJhY2NlbnQiPlRlY2huaWNhbCBTcGVjaWZpY2F0aW9uczwvc3Bhbj48L2gyPgogICAgICA8ZGl2IGNsYXNzPSJzcGVjcy10YWJsZS13cmFwcGVyIj4KICAgICAgICA8dGFibGUgY2xhc3M9InNwZWNzLXRhYmxlIj4KICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0aD5TcGVjaWZpY2F0aW9uPC90aD4KICAgICAgICAgICAgICA8dGg+RGV0YWlsczwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgPHRib2R5PgogICAgICAgICAgICA8dHI+PHRkPlVzZXIgV2VpZ2h0IENhcGFjaXR5PC90ZD48dGQ+MjY1IGxicyAoMTIwIGtnKTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD5NYXhpbXVtIFJhbmdlPC90ZD48dGQ+MjUga20gKDE1LjUgbWlsZXMpPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPlRvcCBTcGVlZDwvdGQ+PHRkPjYga20vaCAoMy43IG1waCk8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+VHVybmluZyBSYWRpdXM8L3RkPjx0ZD4zMCI8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+R3JvdW5kIENsZWFyYW5jZTwvdGQ+PHRkPjIuOCI8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+T3ZlcmFsbCBEaW1lbnNpb25zIChPcGVuKTwvdGQ+PHRkPjM5IiAoTCkgeCAyMy4yIiAoVykgeCAzNi42IiAoSCk8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+T3ZlcmFsbCBEaW1lbnNpb25zIChGb2xkZWQpPC90ZD48dGQ+MzIuNiIgKEwpIHggMjMuMiIgKFcpIHggMTQuNSIgKEgpPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPlNlYXQgRGltZW5zaW9uczwvdGQ+PHRkPjE2LjUiIHggMTYuNSI8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+RnJvbnQgV2hlZWxzPC90ZD48dGQ+MTAtaW5jaCBvbW5pZGlyZWN0aW9uYWwgd2hlZWw8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+UmVhciBXaGVlbHM8L3RkPjx0ZD4xMC1pbmNoIGFsbC10ZXJyYWluIHBuZXVtYXRpYyB0aXJlPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPkdyYWRlYWJpbGl0eTwvdGQ+PHRkPjE1IGRlZ3JlZXM8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+TW90b3I8L3RkPjx0ZD5EdWFsIGJydXNobGVzcyBEQyBtb3RvcjwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD5CYXR0ZXJpZXM8L3RkPjx0ZD4yMEFoIExpdGhpdW0taW9uIChhaXJsaW5lIGNvbXBsaWFudCAxMEFoIGF2YWlsYWJsZSk8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+QmF0dGVyeSBXZWlnaHQ8L3RkPjx0ZD43LjUgbGJzPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPkNoYWlyIFdlaWdodDwvdGQ+PHRkPjg0LjUgbGJzICh3aXRob3V0IGJhdHRlcmllcyk8L3RkPjwvdHI+CiAgICAgICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIFByb2R1Y3QgR2FsbGVyeSAtLT4KICA8c2VjdGlvbiBjbGFzcz0iZ2FsbGVyeS1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU3Njc2NTYwODUzNS01ZjA0ZDFlM2YyODk/dz0zMDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iUm9ib290ZXIgWDQwIE9tbmkgV2hlZWwiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NTg2MTg2NjYtZmNkMjVjODVjZDY0P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IlNpemUgUGFyYW1ldGVycyIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU0MDU1MzAxNjcyMi05ODNlNDhhMmNkMTA/dz0zMDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iRXJnb25vbWljIERlc2lnbiIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUxODc3MDY2MDQzOS00NjM2MTkwYWY0NzU/dz0zMDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iQ29udHJvbGxlciBBZGp1c3RhYmxlIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjExNTMyNzM2NTk3LWRlMmQ0MjY1ZmJhMz93PTMwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJCcmlsbGlhbnQgQmFja2xpZ2h0IiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjE5NjQxODA1NjM0LTk4ZTVjNDBhZTBlNz93PTMwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJEdXJhYmxlIEJhdHRlcnkiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE2MzEwNDkzMDcyNjQtZGEwZWM5ZDcwMzA0P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IlNwYWNlIE1lbW9yeSBGb2FtIEN1c2hpb24iIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NTE4MzYwMjItZDVkODhlOTIxOGRmP3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9Ikd5cm9zY29wZSBTZW5zb3IiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NzY3NjU2MDg1MzUtNWYwNGQxZTNmMjg5P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IkF1dG9tb3RpdmUgR3JhZGUgRnJhbWUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NTg2MTg2NjYtZmNkMjVjODVjZDY0P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IlN0b3AgV2hlbiBZb3UgTGV0IEdvIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTE4NzcwNjYwNDM5LTQ2MzYxOTBhZjQ3NT93PTMwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJTbWFydCBDb250cm9sbGVyIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTQwNTUzMDE2NzIyLTk4M2U0OGEyY2QxMD93PTMwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJGcmVlIERyaXZpbmcgQWxsIFJvYWQgQ29uZGl0aW9ucyIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTYxMTUzMjczNjU5Ny1kZTJkNDI2NWZiYTM/dz0zMDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iRG91YmxlIFNob2NrIEFic29yYmVyIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjE5NjQxODA1NjM0LTk4ZTVjNDBhZTBlNz93PTMwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJBY2NlbGVyYXRpb24gQ3VydmUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE2MzEwNDkzMDcyNjQtZGEwZWM5ZDcwMzA0P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9Ik9tbmkgV2hlZWwiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NTE4MzYwMjItZDVkODhlOTIxOGRmP3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IkNvbXByZWhlbnNpdmUgU2VjdXJpdHkiIGxvYWRpbmc9ImxhenkiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NzY3NjU2MDg1MzUtNWYwNGQxZTNmMjg5P3c9MzAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IlJvYWQgT2JzdGFjbGVzIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gQ1RBIFNlY3Rpb24gLS0+CiAgPHNlY3Rpb24gY2xhc3M9ImN0YS1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxwIGNsYXNzPSJjdGEtdGV4dCI+CiAgICAgICAgVGhlIFJvYm9vdGVyIFg0MCBQb3dlciBXaGVlbGNoYWlyIGlzIHlvdXIgcGVyZmVjdCBjb21wYW5pb24gZm9yIGRhaWx5IHVzZSBhbmQgYWR2ZW50dXJvdXMgdHJhdmVscywgY29tYmluaW5nIGFkdmFuY2VkIHRlY2hub2xvZ3ksIHJvYnVzdCBkZXNpZ24sIGFuZCBpbnRlbGxpZ2VudCBmZWF0dXJlcyB0byBlbnN1cmUgY29tZm9ydCwgc2FmZXR5LCBhbmQgbW9iaWxpdHkgaW4gYW55IGVudmlyb25tZW50LgogICAgICA8L3A+CiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbS9wcm9kdWN0cy9wcm9kdWN0LTExOC1zbWFydC1hdXRvbm9tb3VzLWVsZWN0cmljLXdoZWVsY2hhaXItYXBwLWNvbnRyb2wiIGNsYXNzPSJidG4tcHJpbWFyeSBidG4tbGFyZ2UiPlNob3AgTm93PC9hPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIFRlc3RpbW9uaWFscyBTZWN0aW9uIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJ0ZXN0aW1vbmlhbHMtc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPldoYXQgT3VyIDxzcGFuIGNsYXNzPSJhY2NlbnQiPkN1c3RvbWVycyBBcmUgU2F5aW5nPC9zcGFuPjwvaDI+CiAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWRlc2MiPkRpc2NvdmVyIGhvdyBvdXIgZWxlY3RyaWMgd2hlZWxjaGFpcnMgaGF2ZSB0cmFuc2Zvcm1lZCBsaXZlcy4gRnJvbSBzZWFtbGVzcyB0cmF2ZWwgdG8gYWxsLXRlcnJhaW4gYWR2ZW50dXJlcywgaGVhciBkaXJlY3RseSBmcm9tIG91ciBzYXRpc2ZpZWQgY3VzdG9tZXJzIGFib3V0IHRoZWlyIGV4cGVyaWVuY2UuPC9wPgoKICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWxzLXNsaWRlciIgaWQ9InRlc3RpbW9uaWFsc1NsaWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY2FyZCBhY3RpdmUiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXN0aW1vbmlhbC10ZXh0Ij4iSSBhbSBsb3ZpbmcgZXZlcnl0aGluZyBhYm91dCBteSBSb2Jvb3RlciBFLTQwIGVsZWN0cmljIHNjb290ZXIhIEl0IHByb3ZpZGVzIG1lIHdpdGggdGhlIG5lZWRlZCBhYmlsaXR5IHRvIGdvIGdyb2Nlcnkgc2hvcHBpbmcsIHRha2UgbXkgZG9nIGZvciB3YWxrcyBhbmQgdG8gcGFydGljaXBhdGUgaW4gZmFtaWx5IGV2ZW50cy4gVGhpcyBsaXR0bGUgY2hhaXIgaXMgZ3JlYXQgb24gYW55IHN1cmZhY2UsIGdyYXZlbCwgZ3Jhc3MgYW5kIGNvbmNyZXRlLCBpdCBldmVuIGdvZXMgb3ZlciB0aGUgY3VyYnMgaW4gbXkgY29tbXVuaXR5LiBJdCBoYXMgZ2l2ZW4gbWUgYSBwYXJ0IG9mIG15IGxpZmUgYmFjayEiPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1hdXRob3IiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbmFtZSI+S2F0aHkgSi48L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci10aXRsZSI+RXhpc3RpbmcgQ3VzdG9tZXIgfCBSb2Jvb3RlciBFNDA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1pbWFnZSI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU1OTgzOTczNC0yYjcxZWExOTdlYzI/dz00MDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iS2F0aHkgSi4gLSBIYXBweSBDdXN0b21lciIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InRlc3RpbW9uaWFsLXRleHQiPiJJIGFic29sdXRlbHkgbG92ZSBteSBSb2Jvb3RlciBYNDAuIEl0J3MgY29tZnkgYW5kIHNvIGVhc3kgdG8gbWFuZXV2ZXIuIEFsc28gd2l0aCBiZWluZyBpbiBhIHNtYWxsIGFwYXJ0bWVudCB0aGUgZm9sZGluZyB1cCBpcyBhbWF6aW5nLiBXaXNoIEknZCBoYWQgdGhpcyB5ZWFycyBhZ28uIjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtYXV0aG9yIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLW5hbWUiPkphbmV0IFcuPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItdGl0bGUiPkV4aXN0aW5nIEN1c3RvbWVyIHwgUm9ib290ZXIgWDQwPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtaW1hZ2UiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1OTQ3NDQ4MDMzMjktZTU4YjMxZGU4YmY1P3c9NDAwJmg9MzAwJmZpdD1jcm9wIiBhbHQ9IkphbmV0IFcuIC0gSGFwcHkgQ3VzdG9tZXIiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXN0aW1vbmlhbC10ZXh0Ij4iSSB3ZW50IHRvIGEgZmV3IHBsYWNlcyBsb29raW5nIGZvciBpbXByb3ZlbWVudCB0byBteSBtb2JpbGl0eS4gSSBkaXNjb3ZlcmVkIGFuZCBjaG9zZSB0aGUgWDQwIGFzIGJlc3QgZm9yIG15IG5lZWRzLiAxMC8xMCBpbiBteSBib29rcy4gSGFwcHkgdG8gcmVjb21tZW5kIHRoZW0uIjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtYXV0aG9yIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLW5hbWUiPkdlb3JnZSBQLjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLXRpdGxlIj5FeGlzdGluZyBDdXN0b21lciB8IFJvYm9vdGVyIFg0MDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWltYWdlIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTA3MDAzMjExMTY5LTBhMWRkNzIyOGYyZD93PTQwMCZoPTMwMCZmaXQ9Y3JvcCIgYWx0PSJHZW9yZ2UgUC4gLSBIYXBweSBDdXN0b21lciIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InRlc3RpbW9uaWFsLXRleHQiPiJHcmVhdCBwcm9kdWN0cyBhbmQgZ3JlYXQgY3VzdG9tZXIgc2VydmljZSEiPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1hdXRob3IiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbmFtZSI+RGF2aWQgVC48L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci10aXRsZSI+VmVyaWZpZWQgQ3VzdG9tZXI8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1pbWFnZSI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU3Njc2NTYwODUzNS01ZjA0ZDFlM2YyODk/dz00MDAmaD0zMDAmZml0PWNyb3AiIGFsdD0iUm9ib290ZXIgWDQwIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWRvdHMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRvdCBhY3RpdmUiIGRhdGEtaW5kZXg9IjAiPjwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRvdCIgZGF0YS1pbmRleD0iMSI+PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZG90IiBkYXRhLWluZGV4PSIyIj48L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkb3QiIGRhdGEtaW5kZXg9IjMiPjwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBDZXJ0aWZpY2F0aW9ucyBTZWN0aW9uIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJjZXJ0aWZpY2F0aW9ucy1zZWN0aW9uIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNlcnRpZmljYXRpb25zLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaXRlbSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LXBsYWNlaG9sZGVyIj5SZWRkb3QgQXdhcmQ8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWl0ZW0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1wbGFjZWhvbGRlciI+RkRBIENFPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1pdGVtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtcGxhY2Vob2xkZXIiPklTTzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaXRlbSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LXBsYWNlaG9sZGVyIj5ESUEgQXdhcmQ8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gVHJ1c3QgU2VjdGlvbiAtLT4KICA8c2VjdGlvbiBjbGFzcz0idHJ1c3Qtc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJ0cnVzdC1iYWRnZSI+CiAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtcmF0aW5nIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cnVzdC1sYWJlbCI+RVhDRUxMRU5UPC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhcnMiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmJiZjI0Ij48cGF0aCBkPSJNMTIgMmwzLjA5IDYuMjZMMjIgOS4yN2wtNSA0Ljg3IDEuMTggNi44OEwxMiAxNy43N2wtNi4xOCAzLjI1TDcgMTQuMTQgMiA5LjI3bDYuOTEtMS4wMUwxMiAyeiIvPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmJiZjI0Ij48cGF0aCBkPSJNMTIgMmwzLjA5IDYuMjZMMjIgOS4yN2wtNSA0Ljg3IDEuMTggNi44OEwxMiAxNy43N2wtNi4xOCAzLjI1TDcgMTQuMTQgMiA5LjI3bDYuOTEtMS4wMUwxMiAyeiIvPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmJiZjI0Ij48cGF0aCBkPSJNMTIgMmwzLjA5IDYuMjZMMjIgOS4yN2wtNSA0Ljg3IDEuMTggNi44OEwxMiAxNy43N2wtNi4xOCAzLjI1TDcgMTQuMTQgMiA5LjI3bDYuOTEtMS4wMUwxMiAyeiIvPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmJiZjI0Ij48cGF0aCBkPSJNMTIgMmwzLjA5IDYuMjZMMjIgOS4yN2wtNSA0Ljg3IDEuMTggNi44OEwxMiAxNy43N2wtNi4xOCAzLjI1TDcgMTQuMTQgMiA5LjI3bDYuOTEtMS4wMUwxMiAyeiIvPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjZmJiZjI0Ij48cGF0aCBkPSJNMTIgMmwzLjA5IDYuMjZMMjIgOS4yN2wtNSA0Ljg3IDEuMTggNi44OEwxMiAxNy43N2wtNi4xOCAzLjI1TDcgMTQuMTQgMiA5LjI3bDYuOTEtMS4wMUwxMiAyeiIvPjwvc3ZnPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icmV2aWV3LWNvdW50Ij5CYXNlZCBvbiA8c3Ryb25nPjgzIHJldmlld3M8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ29vZ2xlLWJhZGdlIj4KICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNGRkMxMDciIGQ9Ik00My42MTEsMjAuMDgzSDQyVjIwSDI0djhoMTEuMzAzYy0xLjY0OSw0LjY1Ny02LjA4LDgtMTEuMzAzLDhjLTYuNjI3LDAtMTItNS4zNzMtMTItMTJjMC02LjYyNyw1LjM3My0xMiwxMi0xMmMzLjA1OSwwLDUuODQyLDEuMTU0LDcuOTYxLDMuMDM5bDUuNjU3LTUuNjU3QzM0LjA0Niw2LjA1MywyOS4yNjgsNCwyNCw0QzEyLjk1NSw0LDQsMTIuOTU1LDQsMjRjMCwxMS4wNDUsOC45NTUsMjAsMjAsMjBjMTEuMDQ1LDAsMjAtOC45NTUsMjAtMjBDNDQsMjIuNjU5LDQzLjg2MiwyMS4zNSw0My42MTEsMjAuMDgzeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjRkYzRDAwIiBkPSJNNi4zMDYsMTQuNjkxbDYuNTcxLDQuODE5QzE0LjY1NSwxNS4xMDgsMTguOTYxLDEyLDI0LDEyYzMuMDU5LDAsNS44NDIsMS4xNTQsNy45NjEsMy4wMzlsNS42NTctNS42NTdDMzQuMDQ2LDYuMDUzLDI5LjI2OCw0LDI0LDRDMTYuMzE4LDQsOS42NTYsOC4zMzcsNi4zMDYsMTQuNjkxeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjNENBRjUwIiBkPSJNMjQsNDRjNS4xNjYsMCw5Ljg2LTEuOTc3LDEzLjQwOS01LjE5MmwtNi4xOS01LjIzOEMyOS4yMTEsMzUuMDkxLDI2LjcxNSwzNiwyNCwzNmMtNS4yMDIsMC05LjYxOS0zLjMxNy0xMS4yODMtNy45NDZsLTYuNTIyLDUuMDI1QzkuNTA1LDM5LjU1NiwxNi4yMjcsNDQsMjQsNDR6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMxOTc2RDIiIGQ9Ik00My42MTEsMjAuMDgzSDQyVjIwSDI0djhoMTEuMzAzYy0wLjc5MiwyLjIzNy0yLjIzMSw0LjE2Ni00LjA4Nyw1LjU3MWMwLjAwMS0wLjAwMSwwLjAwMi0wLjAwMSwwLjAwMy0wLjAwMmw2LjE5LDUuMjM4QzM2Ljk3MSwzOS4yMDUsNDQsMzQsNDQsMjRDNDQsMjIuNjU5LDQzLjg2MiwyMS4zNSw0My42MTEsMjAuMDgzeiIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEZvb3RlciAtLT4KICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbSIgY2xhc3M9ImZvb3Rlci1sb2dvIj5zb3ZvcnM8L2E+CiAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLXRhZ2xpbmUiPkdhZGdldHMgdGhhdCB3aWxsIG1ha2UgeW91ciBsaWZlIGVhc2llci48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtbGlua3MiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc292b3JzY29tIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iRmFjZWJvb2siPgogICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTggMmgtM2E1IDUgMCAwIDAtNSA1djNIN3Y0aDN2OGg0di04aDNsMS00aC00VjdhMSAxIDAgMCAxIDEtMWgzeiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNuOWN1Z2VfMmxTdWE3S0lnZ0QxcTlBLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IllvdVR1YmUiPgogICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMjIuNTQgNi40MmEyLjc4IDIuNzggMCAwIDAtMS45NC0yQzE4Ljg4IDQgMTIgNCAxMiA0cy02Ljg4IDAtOC42LjQ2YTIuNzggMi43OCAwIDAgMC0xLjk0IDJBMjkgMjkgMCAwIDAgMSAxMS43NWEyOSAyOSAwIDAgMCAuNDYgNS4zM0EyLjc4IDIuNzggMCAwIDAgMy40IDE5YzEuNzIuNDYgOC42LjQ2IDguNi40NnM2Ljg4IDAgOC42LS40NmEyLjc4IDIuNzggMCAwIDAgMS45NC0yIDI5IDI5IDAgMCAwIC40Ni01LjI1IDI5IDI5IDAgMCAwLS40Ni01LjMzeiI+PC9wYXRoPjxwb2x5Z29uIHBvaW50cz0iOS43NSAxNS4wMiAxNS41IDExLjc1IDkuNzUgOC40OCA5Ljc1IDE1LjAyIiBmaWxsPSIjMDAwIj48L3BvbHlnb24+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9zb3ZvcnMuZ2FkZ2V0LyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9Ikluc3RhZ3JhbSI+CiAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgcng9IjUiIHJ5PSI1Ij48L3JlY3Q+PHBhdGggZD0iTTE2IDExLjM3QTQgNCAwIDEgMSAxMi42MyA4IDQgNCAwIDAgMSAxNiAxMS4zN3oiPjwvcGF0aD48bGluZSB4MT0iMTcuNSIgeTE9IjYuNSIgeDI9IjE3LjUxIiB5Mj0iNi41Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sIj4KICAgICAgICAgIDxoND5JbmZvcm1hdGlvbjwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcGFnZXMvYWJvdXQtdXMiPkFib3V0IHVzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcG9saWNpZXMvdGVybXMtb2Ytc2VydmljZSI+VGVybXMgT2YgU2VydmljZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL3BvbGljaWVzL3NoaXBwaW5nLXBvbGljeSI+U2hpcHBpbmcgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcG9saWNpZXMvcmVmdW5kLXBvbGljeSI+UmV0dXJuIGFuZCBSZWZ1bmQgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcG9saWNpZXMvcHJpdmFjeS1wb2xpY3kiPlByaXZhY3kgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sIj4KICAgICAgICAgIDxoND5NeSBBY2NvdW50PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc292b3JzLmNvbS9wYWdlcy9jb250YWN0LXVzIj5Db250YWN0IHVzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vYWNjb3VudCI+T3JkZXIgSGlzdG9yeTwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbCI+CiAgICAgICAgICA8aDQ+TWFrZSBNb25leTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3Nvdm9ycy5jb20vcGFnZXMvYmVjb21lLWFuLWFmZmlsaWF0ZSI+QmVjb21lIGFuIEFmZmlsaWF0ZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL3BhZ2VzL3NlbGwtb24tc292b3JzIj5TZWxsIG9uIFNvdm9yczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL3BhZ2VzL2FkdmVydGlzZSI+QWR2ZXJ0aXNlIG9uIFNvdm9yczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb3ZvcnMuY29tL3BhZ2VzL3dob2xlc2FsZSI+V2hvbGVzYWxlPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20iPgogICAgICAgIDxwPlNPVk9SUy4gQUxMIFJJR0hUUyBSRVNFUlZFRC48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0icGF5bWVudC1tZXRob2RzIj4KICAgICAgICAgIDxzcGFuPlBheW1lbnQgTWV0aG9kczo8L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXltZW50LWljb25zIj4KICAgICAgICAgICAgPHNwYW4+VmlzYTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+TWFzdGVyY2FyZDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+UGF5UGFsPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5BcHBsZSBQYXk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkdvb2dsZSBQYXk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Zvb3Rlcj4KCiAgPHNjcmlwdD4KICAgIChmdW5jdGlvbigpIHsKICAgICAgLy8gTW9iaWxlIE1lbnUgVG9nZ2xlCiAgICAgIHZhciBtb2JpbGVNZW51QnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vYmlsZU1lbnVCdG4nKTsKICAgICAgdmFyIG1vYmlsZU1lbnUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9iaWxlTWVudScpOwoKICAgICAgaWYgKG1vYmlsZU1lbnVCdG4gJiYgbW9iaWxlTWVudSkgewogICAgICAgIG1vYmlsZU1lbnVCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgIG1vYmlsZU1lbnUuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJyk7CiAgICAgICAgfSk7CgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgaWYgKCFtb2JpbGVNZW51LmNvbnRhaW5zKGUudGFyZ2V0KSAmJiAhbW9iaWxlTWVudUJ0bi5jb250YWlucyhlLnRhcmdldCkpIHsKICAgICAgICAgICAgbW9iaWxlTWVudS5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQoKICAgICAgLy8gVGVzdGltb25pYWxzIFNsaWRlcgogICAgICB2YXIgdGVzdGltb25pYWxDYXJkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50ZXN0aW1vbmlhbC1jYXJkJyk7CiAgICAgIHZhciBkb3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmRvdCcpOwogICAgICB2YXIgY3VycmVudEluZGV4ID0gMDsKICAgICAgdmFyIGF1dG9TbGlkZUludGVydmFsOwoKICAgICAgZnVuY3Rpb24gc2hvd1Rlc3RpbW9uaWFsKGluZGV4KSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0aW1vbmlhbENhcmRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB0ZXN0aW1vbmlhbENhcmRzW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpOwogICAgICAgICAgaWYgKGkgPT09IGluZGV4KSB7CiAgICAgICAgICAgIHRlc3RpbW9uaWFsQ2FyZHNbaV0uY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRvdHMubGVuZ3RoOyBqKyspIHsKICAgICAgICAgIGRvdHNbal0uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7CiAgICAgICAgICBpZiAoaiA9PT0gaW5kZXgpIHsKICAgICAgICAgICAgZG90c1tqXS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGN1cnJlbnRJbmRleCA9IGluZGV4OwogICAgICB9CgogICAgICBmdW5jdGlvbiBuZXh0VGVzdGltb25pYWwoKSB7CiAgICAgICAgdmFyIG5leHRJbmRleCA9IChjdXJyZW50SW5kZXggKyAxKSAlIHRlc3RpbW9uaWFsQ2FyZHMubGVuZ3RoOwogICAgICAgIHNob3dUZXN0aW1vbmlhbChuZXh0SW5kZXgpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzdGFydEF1dG9TbGlkZSgpIHsKICAgICAgICBhdXRvU2xpZGVJbnRlcnZhbCA9IHNldEludGVydmFsKG5leHRUZXN0aW1vbmlhbCwgNTAwMCk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHN0b3BBdXRvU2xpZGUoKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChhdXRvU2xpZGVJbnRlcnZhbCk7CiAgICAgIH0KCiAgICAgIC8vIEluaXRpYWxpemUgZG90cyBjbGljayBoYW5kbGVycwogICAgICBmb3IgKHZhciBrID0gMDsgayA8IGRvdHMubGVuZ3RoOyBrKyspIHsKICAgICAgICAoZnVuY3Rpb24oZG90SW5kZXgpIHsKICAgICAgICAgIGRvdHNbZG90SW5kZXhdLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHN0b3BBdXRvU2xpZGUoKTsKICAgICAgICAgICAgc2hvd1Rlc3RpbW9uaWFsKGRvdEluZGV4KTsKICAgICAgICAgICAgc3RhcnRBdXRvU2xpZGUoKTsKICAgICAgICAgIH0pOwogICAgICAgIH0pKGspOwogICAgICB9CgogICAgICAvLyBTdGFydCBhdXRvLXNsaWRlCiAgICAgIGlmICh0ZXN0aW1vbmlhbENhcmRzLmxlbmd0aCA+IDApIHsKICAgICAgICBzdGFydEF1dG9TbGlkZSgpOwogICAgICB9CgogICAgICAvLyBQYXVzZSBhdXRvLXNsaWRlIG9uIGhvdmVyCiAgICAgIHZhciB0ZXN0aW1vbmlhbHNTbGlkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdGltb25pYWxzU2xpZGVyJyk7CiAgICAgIGlmICh0ZXN0aW1vbmlhbHNTbGlkZXIpIHsKICAgICAgICB0ZXN0aW1vbmlhbHNTbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHN0b3BBdXRvU2xpZGUpOwogICAgICAgIHRlc3RpbW9uaWFsc1NsaWRlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgc3RhcnRBdXRvU2xpZGUpOwogICAgICB9CgogICAgICAvLyBTbW9vdGggc2Nyb2xsIGZvciBhbmNob3IgbGlua3MKICAgICAgdmFyIGFuY2hvcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZePSIjIl0nKTsKICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCBhbmNob3JzLmxlbmd0aDsgbSsrKSB7CiAgICAgICAgYW5jaG9yc1ttXS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIHZhciBocmVmID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTsKICAgICAgICAgIGlmIChocmVmKSB7CiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGhyZWYpOwogICAgICAgICAgICBpZiAodGFyZ2V0KSB7CiAgICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbEludG9WaWV3KHsKICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEFkZCBzY3JvbGwgZWZmZWN0IHRvIGhlYWRlcgogICAgICB2YXIgaGVhZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhlYWRlcicpOwogICAgICBpZiAoaGVhZGVyKSB7CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gMTAwKSB7CiAgICAgICAgICAgIGhlYWRlci5zdHlsZS5ib3hTaGFkb3cgPSAnMCA0cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpJzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGhlYWRlci5zdHlsZS5ib3hTaGFkb3cgPSAnMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSknOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CgogICAgICAvLyBHYWxsZXJ5IGxpZ2h0Ym94IGVmZmVjdAogICAgICB2YXIgZ2FsbGVyeUl0ZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdhbGxlcnktaXRlbScpOwogICAgICBmb3IgKHZhciBuID0gMDsgbiA8IGdhbGxlcnlJdGVtcy5sZW5ndGg7IG4rKykgewogICAgICAgIGdhbGxlcnlJdGVtc1tuXS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGltZyA9IHRoaXMucXVlcnlTZWxlY3RvcignaW1nJyk7CiAgICAgICAgICBpZiAoaW1nKSB7CiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGltZy5zcmMsICdfYmxhbmsnKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQoKICAgICAgY29uc29sZS5sb2coJ1JvYm9vdGVyIFg0MCBwYWdlIGxvYWRlZCBzdWNjZXNzZnVsbHknKTsKICAgIH0pKCk7CiAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
×
Wishlist
Product
Price
Quantity
Options
#title#
#price#
×
×
Comparing box
Features
Availability:
Price
Options
Actions
Recent
Trending
lighter
pet water fountain
kitchen tools
phone case
night light
massage gun
Popular
gifts for him
gifts for her
car accessories
anti stress toys
travel essentials
home gadgets
Search by photo
×
10k+
happy customers
4.8/5
average rating
1,500+
gadgets picked
Get my 5% off
No spam. Unsubscribe anytime.
No thanks
You're in
Here's your 5% off.
Use this code at checkout. It's valid on your first order.
WELCOME5
Copy
Keep shopping