North-Brothers-Logo

Get Big Savings On Water Softeners in Wasilla, Willow, Palmer, Big Lake, and Eagle River!

  1. Removal of chlorine taste and odor, hardness minerals, and sediment.
  2. A layer of coconut-shell carbon that filters the water throughout the home without compromising water flow.
  3. Provides great tasting, healthier water in every outlet.
  4. Prevents scale build-up on pipes, faucets and water using appliances.
  5. According to the University of New Mexico, softened water can reduce hot water heating costs nearly 30%.
  6. Soft water also requires up to 75% less soaps, cleaners, and shampoos according to the Battelle Institute.
  7. Eliminates spots on silverware, glasses and dishes.
  8. Tested and certified by NSF International and WQA against NSF/ANSI Standard 44 for the reduction of Barium and Radium 226/228.

All-In-One Technology

Better Water Alaska systems use proprietary technology to combine all your whole home water treatment into one. Reduce chlorine, soften water, and remove sediment in one system. Makes for simple maintenance and a lot less cost!

Softer Skin & Hair

Hard water minerals bonds with skin and hair leaving a nasty film. Kind of like that limescale on your faucet! A Water Softener removes hardness minerals naturally so you can stop spending money on lotions & skin care products as your body becomes free of buildup!

Clean Less, Live More

While saving up to 75% on cleaning products can be enough to pay for a water softener, what’s even more valuable is your time. Stop scrubbing, folks, there’s a better way! Hard water minerals buildup on faucets, fixtures, dishes, glassware, & stemware and leave you using chemicals to clean up the mess. A Water Softener saves you time & money so you can clean less and live more ❤

Extend Appliance Life

Dishwashers, washing machines, water heaters (tankless, electric, & gas), ice maker, boiler systems, & humidifiers all suffer when your water contains hardness minerals. Do them a favor (and your pocketbook) and give them soft water. Plus you can save up to 40% on energy costs related to your water-using appliances – that’s pretty awesome!

How do you know if you have hard water?

Here are some telltale signs…

  1. Your water takes forever to heat up or you’ve prematurely had to replace water-using appliances.
  2. Your faucets and fixtures have a white residue that’s hard to remove. That’s limescale buildup and it’s accumulating in your pipes and water using appliances too!
  3. Your skin and hair is dry and dull
  4. Your whites are more like 50 shades of gray
  5. Your brights have lost their luster
  6. Your drinking glasses & stemware has spots on it – unless you use a ton of chemical spot remover in the dishwasher
washing machine element damaged by hard water

This is a washing machine heating element that’s been exposed to hard water

Fill out the form below or call 907-306-2210 for more information & a free quote!

  • This field is for validation purposes and should be left unchanged.

 class="wp-image-48588 alignnone size-full bv-tag-attr-replace bv-lazyload-tag-img"  ></a> 

<a href onclick= class="wp-image-48588 alignnone size-full bv-tag-attr-replace bv-lazyload-tag-img"  ></a> 

</p>
</div></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_3 et_pb_column_13  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_10  et_pb_text_align_center et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Local Matsu-Valley & Anchorage Reviews</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_11  et_pb_text_align_center et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><em>"<span>Chris is fantastic to work with! He is honest and transparent and local! Additionally, his water softener systems are actually made in the USA, one main driving factor for going with his company among the many offered in Alaska. He is extremely customer focus and I am more than happy with both the water softener and reverse osmosis system! Would recommend to my friends and family!"</span></em><strong> - Lico Contreras</strong></p>
<p><em>"Chris was great to work with. Our water problem was solved. Everything was straight forward. The quality of work was excellent. I would highly recommend using Better Water Alaska."</em> <strong> - John Houghton</strong></p>
<p><em>"Great service and very thorough"</em><strong> - Maina Adams</strong></p>
<p><em>"We love our RO system and scheduling was easy. Work was well done and left spotless. Great value!"</em> <strong>- Solvejg Rogers</strong></p>
<p><em>"It has been several months since Better Water has installed the new system. The water quality hasn't changed and is still very much improved from what it was. Unfortunately, we had been dealing with very bad water for 22 + years before Better Water became available. We strongly recommend Better Water after having tried several other systems over the years and none had come close to improving our water quality as this system Better Water has installed. If you need to improve the quality of your water don't waste time trying other systems just get Better Water. PS. Our water comes out of our well with a very high level of iron."</em><strong> - John Zylstra</strong></p>
</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_10 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_14  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_12  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Copyright 2024 Better Water Alaska</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_15  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_13  et_pb_text_align_right et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><a href="https://betterwateralaska.com/privacy-policy/">Privacy Policy</a></p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>		</div>
	</div>
						</div>

				
				</article>

			

</div>


	</div>

	<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Divi/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>


<script src="data:text/javascript;base64,alF1ZXJ5KGZ1bmN0aW9uKCl7b21TaG9ydGNvZGVzLmluaXQoWyJidXR0b25zIiwidG9vbHRpcHMiLCJ0b2dnbGUiLCJ0YWJzIiwicmVzcG9uc2l2ZWJveCIsImNvdW50ZXIiXSk7fSk7" type="text/javascript" defer="defer" data-cfasync="false" defer></script>

<script defer="defer" data-cfasync="false" defer src="https://backend.leadconnectorhq.com/appengine/loc/9bhUOdugtAJPgcmOrZuZ/pool/33xbLL4WmZuZ3t89ef5b/number_pool.js"></script>
<script defer="defer" data-cfasync="false" defer src="https://backend.leadconnectorhq.com/appengine/js/user_session.js"></script>
<script src="data:text/javascript;base64,KGZ1bmN0aW9uICgpIHsKICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgLy8gTVhTV0FQIHY1LjgKICAvLyAtIFNpbmdsZXRvbiBndWFyZAogIC8vIC0gU2tpcCBpZiBubyB0ZWw6CiAgLy8gLSBTa2lwIGRpcmVjdCBGSVJTVCBUT1VDSCAobXhfdHApCiAgLy8gLSBUaHJvdHRsZSArIGRlYm91bmNlZCBvYnNlcnZlcgogIC8vIC0gU3RhYmxlIHRlbCByZXF1aXJlbWVudCAoZmxpY2tlciBwcm90ZWN0aW9uKQogIC8vIC0gQ29va2llIGxvY2sgT3B0aW9uIEE6IHBlciAobG9jYXRpb25faWQgKyB0cmFja2luZ19udW1iZXIpIGZvciAyNGgKICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogIC8vIOKchSBTSU5HTEVUT04gR1VBUkQgKHBlciBwYWdlKQogIGlmICh3aW5kb3cuX19NWFNXQVBfTE9BREVEX18pIHJldHVybjsKICB3aW5kb3cuX19NWFNXQVBfTE9BREVEX18gPSB0cnVlOwoKICBjb25zdCBERUJVRyA9IHRydWU7CgogIC8vIENvb2xkb3duIGJldHdlZW4gYXR0ZW1wdFNlbmQgY2FsbHMKICBjb25zdCBNSU5fR0FQX01TID0gMjAwMDA7IC8vIDIwcwoKICAvLyBNdXRhdGlvbiBkZWJvdW5jZQogIGNvbnN0IE1VVEFUSU9OX0RFQk9VTkNFX01TID0gNTAwOwoKICAvLyBSZXF1aXJlIHRlbCBudW1iZXIgdG8gYmUgc3RhYmxlIHRoaXMgbG9uZyBiZWZvcmUgUE9TVGluZyAoZmxpY2tlciBjb250cm9sKQogIGNvbnN0IFNUQUJMRV9NUyA9IDIwMDA7CgogIC8vIE9wdGlvbiBBIGNvb2tpZSBsb2NrOiBzYW1lIGxvY2F0aW9uK3RyYWNraW5nIGdldHMgMjRoIGxvY2sKICBjb25zdCBMT0NLX1RUTF9IT1VSUyA9IDI0OwogIGNvbnN0IENPT0tJRV9MT0NLX1NFTlQgPSAibXhzd2FwX2xvY2tfc2VudF92MSI7IC8vIHN0b3JlcyAibG9jYXRpb25JZDpsYXN0MTAiCiAgY29uc3QgQ09PS0lFX0xPQ0tfVFMgICA9ICJteHN3YXBfbG9ja190c192MSI7ICAgLy8gbXMgZXBvY2gKCiAgLy8gU3RvcCBvYnNlcnZpbmcgYWZ0ZXIgZmlyc3Qgc3VjY2Vzc2Z1bCBQT1NUICh1c3VhbGx5IHNhZmUpCiAgY29uc3QgRElTQ09OTkVDVF9PQlNFUlZFUl9BRlRFUl9TVUNDRVNTID0gdHJ1ZTsKCiAgLy8gU2tpcCBwYWdlcyB0aGF0IGhhdmUgbm8gdGVsIGxpbmtzIGF0IGJvb3QgdGltZQogIGNvbnN0IFNLSVBfSUZfTk9fVEVMX0xJTktTID0gdHJ1ZTsKCiAgZnVuY3Rpb24gbG9nKCkgewogICAgaWYgKCFERUJVRykgcmV0dXJuOwogICAgdHJ5IHsgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgYXJndW1lbnRzKTsgfSBjYXRjaCAoZSkge30KICB9CgogIGZ1bmN0aW9uIGdldENvbmZpZygpIHsKICAgIGNvbnN0IGxvY2F0aW9uSWQgPSBTdHJpbmcod2luZG93Lk1BVFlYX01YX0xPQ0FUSU9OX0lEIHx8IHdpbmRvdy5fX01BVFlYX18/LmxvY2F0aW9uSWQgfHwgIiIpLnRyaW0oKTsKICAgIGNvbnN0IHN3YXBVcmwgPSBTdHJpbmcod2luZG93Lk1BVFlYX1NXQVBfVVJMIHx8IHdpbmRvdy5fX01BVFlYX18/LnN3YXBVcmwgfHwgIiIpLnRyaW0oKTsKICAgIHJldHVybiB7IGxvY2F0aW9uSWQsIHN3YXBVcmwgfTsKICB9CgogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBDb29raWUgaGVscGVycwogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogICAgdHJ5IHsKICAgICAgY29uc3QgbSA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaCgKICAgICAgICBuZXcgUmVnRXhwKCIoPzpefDsgKSIgKyBuYW1lLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCAiXFwkJiIpICsgIj0oW147XSopIikKICAgICAgKTsKICAgICAgcmV0dXJuIG0gPyBkZWNvZGVVUklDb21wb25lbnQobVsxXSkgOiAiIjsKICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJuICIiOyB9CiAgfQoKICBmdW5jdGlvbiBzZXRDb29raWVIb3VycyhuYW1lLCB2YWx1ZSwgaG91cnMpIHsKICAgIHRyeSB7CiAgICAgIGNvbnN0IHBhcnRzID0gW107CiAgICAgIHBhcnRzLnB1c2gobmFtZSArICI9IiArIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUgfHwgIiIpKSk7CiAgICAgIHBhcnRzLnB1c2goInBhdGg9LyIpOwogICAgICBwYXJ0cy5wdXNoKCJTYW1lU2l0ZT1MYXgiKTsKICAgICAgaWYgKHR5cGVvZiBob3VycyA9PT0gIm51bWJlciIpIHsKICAgICAgICBjb25zdCBkID0gbmV3IERhdGUoKTsKICAgICAgICBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyBob3VycyAqIDYwICogNjAgKiAxMDAwKTsKICAgICAgICBwYXJ0cy5wdXNoKCJleHBpcmVzPSIgKyBkLnRvVVRDU3RyaW5nKCkpOwogICAgICB9CiAgICAgIGlmIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gImh0dHBzOiIpIHBhcnRzLnB1c2goIlNlY3VyZSIpOwogICAgICBkb2N1bWVudC5jb29raWUgPSBwYXJ0cy5qb2luKCI7ICIpOwogICAgfSBjYXRjaCAoZSkge30KICB9CgogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBPcHRpb24gQSBsb2NrIGhlbHBlcnMKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZnVuY3Rpb24gZ2V0TG9jaygpIHsKICAgIGNvbnN0IHNlbnQgPSBTdHJpbmcoZ2V0Q29va2llKENPT0tJRV9MT0NLX1NFTlQpIHx8ICIiKS50cmltKCk7IC8vICJsb2M6bGFzdDEwIgogICAgY29uc3QgdHNTdHIgPSBTdHJpbmcoZ2V0Q29va2llKENPT0tJRV9MT0NLX1RTKSB8fCAiIikudHJpbSgpOwogICAgY29uc3QgdHMgPSB0c1N0ciA/IE51bWJlcih0c1N0cikgOiAwOwogICAgcmV0dXJuIHsgc2VudCwgdHM6IE51bWJlci5pc0Zpbml0ZSh0cykgPyB0cyA6IDAgfTsKICB9CgogIGZ1bmN0aW9uIGxvY2tJc0ZyZXNoKHRzKSB7CiAgICBpZiAoIXRzKSByZXR1cm4gZmFsc2U7CiAgICBjb25zdCBhZ2VNcyA9IERhdGUubm93KCkgLSB0czsKICAgIHJldHVybiBhZ2VNcyA+PSAwICYmIGFnZU1zIDw9IChMT0NLX1RUTF9IT1VSUyAqIDYwICogNjAgKiAxMDAwKTsKICB9CgogIGZ1bmN0aW9uIGlzTG9ja2VkKGxvY2F0aW9uSWQsIGxhc3QxMCkgewogICAgY29uc3Qga2V5ID0gYCR7bG9jYXRpb25JZH06JHtsYXN0MTB9YDsKICAgIGNvbnN0IHsgc2VudCwgdHMgfSA9IGdldExvY2soKTsKICAgIHJldHVybiAhIShzZW50ICYmIHRzICYmIGxvY2tJc0ZyZXNoKHRzKSAmJiBzZW50ID09PSBrZXkpOwogIH0KCiAgZnVuY3Rpb24gc2V0TG9jayhsb2NhdGlvbklkLCBsYXN0MTApIHsKICAgIGNvbnN0IGtleSA9IGAke2xvY2F0aW9uSWR9OiR7bGFzdDEwfWA7CiAgICBzZXRDb29raWVIb3VycyhDT09LSUVfTE9DS19TRU5ULCBrZXksIExPQ0tfVFRMX0hPVVJTKTsKICAgIHNldENvb2tpZUhvdXJzKENPT0tJRV9MT0NLX1RTLCBTdHJpbmcoRGF0ZS5ub3coKSksIExPQ0tfVFRMX0hPVVJTKTsKICB9CgogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBMYW5kaW5nICsgY2xpY2sgSURzICsgVVRNcyBzdG9yYWdlICh1bmNoYW5nZWQgbG9naWMpCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIGNvbnN0IEtFWV9MQU5ESU5HX1VSTCAgPSAibXhfbGFuZGluZ191cmxfdjEiOwogIGNvbnN0IEtFWV9VVE1fU09VUkNFICAgPSAibXhfdXRtX3NvdXJjZV92MSI7CiAgY29uc3QgS0VZX1VUTV9NRURJVU0gICA9ICJteF91dG1fbWVkaXVtX3YxIjsKICBjb25zdCBLRVlfVVRNX0NBTVBBSUdOID0gIm14X3V0bV9jYW1wYWlnbl92MSI7CgogIGNvbnN0IENPT0tJRV9MQU5ESU5HX1VSTCA9ICJteF9sYW5kaW5nX3VybF92MSI7CiAgY29uc3QgREFZU19UT19LRUVQID0gMjsKCiAgZnVuY3Rpb24gc2V0Q29va2llRGF5cyhuYW1lLCB2YWx1ZSwgZGF5cykgewogICAgdHJ5IHsKICAgICAgY29uc3QgcGFydHMgPSBbXTsKICAgICAgcGFydHMucHVzaChuYW1lICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2YWx1ZSB8fCAiIikpKTsKICAgICAgcGFydHMucHVzaCgicGF0aD0vIik7CiAgICAgIHBhcnRzLnB1c2goIlNhbWVTaXRlPUxheCIpOwogICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgZC5zZXRUaW1lKGQuZ2V0VGltZSgpICsgZGF5cyAqIDI0ICogNjAgKiA2MCAqIDEwMDApOwogICAgICAgIHBhcnRzLnB1c2goImV4cGlyZXM9IiArIGQudG9VVENTdHJpbmcoKSk7CiAgICAgIH0KICAgICAgaWYgKGxvY2F0aW9uLnByb3RvY29sID09PSAiaHR0cHM6IikgcGFydHMucHVzaCgiU2VjdXJlIik7CiAgICAgIGRvY3VtZW50LmNvb2tpZSA9IHBhcnRzLmpvaW4oIjsgIik7CiAgICB9IGNhdGNoIChlKSB7fQogIH0KCiAgZnVuY3Rpb24gc2FmZVVybChzdHIpIHsKICAgIHRyeSB7IHJldHVybiBuZXcgVVJMKFN0cmluZyhzdHIgfHwgIiIpKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gbnVsbDsgfQogIH0KCiAgZnVuY3Rpb24gc3BIYXNBbnkoc3AsIGtleXMpIHsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoc3AuaGFzKGtleXNbaV0pKSByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGdldFBhcmFtKHUsIGtleSkgewogICAgdHJ5IHsgcmV0dXJuICh1ICYmIHUuc2VhcmNoUGFyYW1zLmdldChrZXkpKSA/IFN0cmluZyh1LnNlYXJjaFBhcmFtcy5nZXQoa2V5KSkgOiAiIjsgfQogICAgY2F0Y2ggKGUpIHsgcmV0dXJuICIiOyB9CiAgfQoKICBmdW5jdGlvbiBzdG9yZUxhbmRpbmdBbmRVdG1zT25jZSgpIHsKICAgIHRyeSB7CiAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKEtFWV9MQU5ESU5HX1VSTCkpIHJldHVybjsKCiAgICAgIGNvbnN0IGhyZWYgPSBTdHJpbmcobG9jYXRpb24uaHJlZiB8fCAiIik7CiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oS0VZX0xBTkRJTkdfVVJMLCBocmVmKTsKCiAgICAgIGlmICghZ2V0Q29va2llKENPT0tJRV9MQU5ESU5HX1VSTCkpIHNldENvb2tpZURheXMoQ09PS0lFX0xBTkRJTkdfVVJMLCBocmVmLCBEQVlTX1RPX0tFRVApOwoKICAgICAgY29uc3QgdSA9IHNhZmVVcmwoaHJlZik7CiAgICAgIGlmICghdSkgcmV0dXJuOwoKICAgICAgY29uc3Qgc3AgPSB1LnNlYXJjaFBhcmFtczsKICAgICAgY29uc3Qgc3JjID0gKHNwLmdldCgidXRtX3NvdXJjZSIpIHx8ICIiKS50cmltKCk7CiAgICAgIGNvbnN0IG1lZCA9IChzcC5nZXQoInV0bV9tZWRpdW0iKSB8fCAiIikudHJpbSgpOwogICAgICBjb25zdCBjYW0gPSAoc3AuZ2V0KCJ1dG1fY2FtcGFpZ24iKSB8fCAiIikudHJpbSgpOwoKICAgICAgaWYgKHNyYykgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShLRVlfVVRNX1NPVVJDRSwgc3JjKTsKICAgICAgaWYgKG1lZCkgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShLRVlfVVRNX01FRElVTSwgbWVkKTsKICAgICAgaWYgKGNhbSkgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShLRVlfVVRNX0NBTVBBSUdOLCBjYW0pOwogICAgfSBjYXRjaCAoZSkge30KICB9CgogIGZ1bmN0aW9uIGdldExhbmRpbmdVcmwoKSB7CiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShLRVlfTEFORElOR19VUkwpIHx8IGdldENvb2tpZShDT09LSUVfTEFORElOR19VUkwpIHx8ICIiOwogIH0KCiAgZnVuY3Rpb24gZ2V0QmVzdEF0dHJpYnV0aW9uVXJsKGxhbmRpbmdTdHIsIGN1cnJlbnRTdHIpIHsKICAgIGNvbnN0IENMSUNLX0tFWVMgPSBbImdjbGlkIiwiZ2JyYWlkIiwid2JyYWlkIiwibXNjbGtpZCIsImZiY2xpZCIsInR0Y2xpZCIsInR3Y2xpZCJdOwogICAgY29uc3QgVVRNX0tFWVMgICA9IFsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iLCJ1dG1fY29udGVudCIsInV0bV90ZXJtIl07CgogICAgY29uc3QgbGFuZGluZyA9IHNhZmVVcmwobGFuZGluZ1N0cik7CiAgICBpZiAobGFuZGluZykgewogICAgICBjb25zdCBzcCA9IGxhbmRpbmcuc2VhcmNoUGFyYW1zOwogICAgICBpZiAoc3BIYXNBbnkoc3AsIENMSUNLX0tFWVMpIHx8IHNwSGFzQW55KHNwLCBVVE1fS0VZUykpIHJldHVybiBsYW5kaW5nU3RyOwogICAgfQogICAgcmV0dXJuIGN1cnJlbnRTdHI7CiAgfQoKICBmdW5jdGlvbiBleHRyYWN0Q2xpY2tJZHMocHJpbWFyeVVybFN0ciwgZmFsbGJhY2tVcmxTdHIpIHsKICAgIGNvbnN0IHAgPSBzYWZlVXJsKHByaW1hcnlVcmxTdHIpOwogICAgY29uc3QgZiA9IHNhZmVVcmwoZmFsbGJhY2tVcmxTdHIpOwoKICAgIHJldHVybiB7CiAgICAgIGdjbGlkOiAgIChnZXRQYXJhbShwLCAiZ2NsaWQiKSAgIHx8IGdldFBhcmFtKGYsICJnY2xpZCIpICAgfHwgIiIpLnRyaW0oKSwKICAgICAgZ2JyYWlkOiAgKGdldFBhcmFtKHAsICJnYnJhaWQiKSAgfHwgZ2V0UGFyYW0oZiwgImdicmFpZCIpICB8fCAiIikudHJpbSgpLAogICAgICB3YnJhaWQ6ICAoZ2V0UGFyYW0ocCwgIndicmFpZCIpICB8fCBnZXRQYXJhbShmLCAid2JyYWlkIikgIHx8ICIiKS50cmltKCksCiAgICAgIG1zY2xraWQ6IChnZXRQYXJhbShwLCAibXNjbGtpZCIpIHx8IGdldFBhcmFtKGYsICJtc2Nsa2lkIikgfHwgIiIpLnRyaW0oKSwKICAgICAgZmJjbGlkOiAgKGdldFBhcmFtKHAsICJmYmNsaWQiKSAgfHwgZ2V0UGFyYW0oZiwgImZiY2xpZCIpICB8fCAiIikudHJpbSgpCiAgICB9OwogIH0KCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIC8vIFRlbCBleHRyYWN0aW9uCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIGZ1bmN0aW9uIGxhc3QxMEZyb21UZWxIcmVmKGhyZWYpIHsKICAgIGxldCBoID0gU3RyaW5nKGhyZWYgfHwgIiIpOwogICAgdHJ5IHsgaCA9IGRlY29kZVVSSUNvbXBvbmVudChoKTsgfSBjYXRjaCAoZSkge30KICAgIGggPSBoLnJlcGxhY2UoL150ZWw6L2ksICIiKTsKICAgIGNvbnN0IGQgPSBoLnJlcGxhY2UoL1xEL2csICIiKTsKICAgIHJldHVybiBkLmxlbmd0aCA+PSAxMCA/IGQuc2xpY2UoLTEwKSA6ICIiOwogIH0KCiAgZnVuY3Rpb24gZ2V0QWxsVGVsTGFzdDEwKCkgewogICAgY29uc3Qgb3V0ID0gW107CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZePSJ0ZWw6Il0nKS5mb3JFYWNoKGEgPT4gewogICAgICBjb25zdCBsMTAgPSBsYXN0MTBGcm9tVGVsSHJlZihhLmdldEF0dHJpYnV0ZSgiaHJlZiIpKTsKICAgICAgaWYgKGwxMCkgb3V0LnB1c2gobDEwKTsKICAgIH0pOwogICAgcmV0dXJuIG91dDsKICB9CgogIGZ1bmN0aW9uIHBpY2tNb3N0RnJlcXVlbnQoYXJyKSB7CiAgICBjb25zdCBjb3VudHMgPSBuZXcgTWFwKCk7CiAgICBmb3IgKGNvbnN0IG4gb2YgYXJyKSBjb3VudHMuc2V0KG4sIChjb3VudHMuZ2V0KG4pIHx8IDApICsgMSk7CiAgICBsZXQgYmVzdCA9IG51bGwsIGJlc3RDb3VudCA9IDA7CiAgICBmb3IgKGNvbnN0IFtuLCBjXSBvZiBjb3VudHMuZW50cmllcygpKSB7CiAgICAgIGlmIChjID4gYmVzdENvdW50KSB7IGJlc3QgPSBuOyBiZXN0Q291bnQgPSBjOyB9CiAgICB9CiAgICByZXR1cm4gYmVzdDsKICB9CgogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBTdGFibGUtbnVtYmVyIChmbGlja2VyKSBndWFyZAogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBjb25zdCBTU19DQU5ESURBVEUgPSAibXhzd2FwX2NhbmRpZGF0ZV92MSI7CiAgY29uc3QgU1NfQ0FORElEQVRFX1RTID0gIm14c3dhcF9jYW5kaWRhdGVfdHNfdjEiOwoKICBmdW5jdGlvbiBzc0dldChrKSB7IHRyeSB7IHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGspIHx8ICIiOyB9IGNhdGNoIChlKSB7IHJldHVybiAiIjsgfSB9CiAgZnVuY3Rpb24gc3NTZXQoaywgdikgeyB0cnkgeyBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGssIFN0cmluZyh2IHx8ICIiKSk7IH0gY2F0Y2ggKGUpIHt9IH0KCiAgZnVuY3Rpb24gaXNTdGFibGUoYmVzdCkgewogICAgY29uc3QgcHJldiA9IHNzR2V0KFNTX0NBTkRJREFURSk7CiAgICBjb25zdCB0cyA9IE51bWJlcihzc0dldChTU19DQU5ESURBVEVfVFMpIHx8IDApOwogICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTsKCiAgICBpZiAocHJldiAhPT0gYmVzdCkgewogICAgICBzc1NldChTU19DQU5ESURBVEUsIGJlc3QpOwogICAgICBzc1NldChTU19DQU5ESURBVEVfVFMsIFN0cmluZyhub3cpKTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIChub3cgLSB0cykgPj0gU1RBQkxFX01TOwogIH0KCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIC8vIFBPU1QKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgbGV0IGluRmxpZ2h0ID0gZmFsc2U7CiAgbGV0IG9icyA9IG51bGw7CiAgbGV0IGxhc3RBdHRlbXB0QXQgPSAwOwoKICBhc3luYyBmdW5jdGlvbiBwb3N0U3dhcChsb2NhdGlvbklkLCBzd2FwVXJsLCB0cmFja2luZ0xhc3QxMCwgcmVhc29uKSB7CiAgICBjb25zdCBteFRwID0gKGdldENvb2tpZSgibXhfdHAiKSB8fCAiZGlyZWN0IikudG9Mb3dlckNhc2UoKS50cmltKCk7CiAgICBjb25zdCBteExhc3QgPSAoZ2V0Q29va2llKCJteF9sYXN0IikgfHwgbXhUcCkudG9Mb3dlckNhc2UoKS50cmltKCk7CiAgICBjb25zdCBteExwVXJsID0gKGdldENvb2tpZSgibXhfbHBfdXJsIikgfHwgIiIpLnRyaW0oKTsKCiAgICBjb25zdCBsYW5kaW5nX3VybCA9IGdldExhbmRpbmdVcmwoKSB8fCAiIjsKICAgIGNvbnN0IGN1cnJlbnRfdXJsID0gU3RyaW5nKGxvY2F0aW9uLmhyZWYgfHwgIiIpOwogICAgY29uc3QgYmVzdF91cmwgPSBnZXRCZXN0QXR0cmlidXRpb25VcmwobGFuZGluZ191cmwsIGN1cnJlbnRfdXJsKTsKCiAgICBjb25zdCBpZHMgPSBleHRyYWN0Q2xpY2tJZHMobGFuZGluZ191cmwsIGN1cnJlbnRfdXJsKTsKCiAgICBjb25zdCBwYXlsb2FkID0gewogICAgICBsb2NhdGlvbl9pZDogbG9jYXRpb25JZCwKICAgICAgdHJhY2tpbmdfbnVtYmVyOiB0cmFja2luZ0xhc3QxMCwKCiAgICAgIG14X3RwOiBteFRwLAogICAgICBteF9sYXN0OiBteExhc3QsCiAgICAgIG14X2xwX3VybDogbXhMcFVybCwKCiAgICAgIGxhbmRpbmdfdXJsLAogICAgICBjdXJyZW50X3VybCwKICAgICAgcGFnZV91cmw6IGJlc3RfdXJsLAoKICAgICAgZ2NsaWQ6IGlkcy5nY2xpZCwKICAgICAgZ2JyYWlkOiBpZHMuZ2JyYWlkLAogICAgICB3YnJhaWQ6IGlkcy53YnJhaWQsCiAgICAgIG1zY2xraWQ6IGlkcy5tc2Nsa2lkLAogICAgICBmYmNsaWQ6IGlkcy5mYmNsaWQsCgogICAgICB1dG1fc291cmNlOiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKEtFWV9VVE1fU09VUkNFKSB8fCAiIiwKICAgICAgdXRtX21lZGl1bTogc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShLRVlfVVRNX01FRElVTSkgfHwgIiIsCiAgICAgIHV0bV9jYW1wYWlnbjogc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShLRVlfVVRNX0NBTVBBSUdOKSB8fCAiIiwKCiAgICAgIHRzOiBEYXRlLm5vdygpLAogICAgICBzY3JpcHRfaWQ6ICJteHN3YXBfdjVfOF9za2lwX2RpcmVjdF9zdGFibGVfbG9ja0Ffc2luZ2xldG9uIiwKICAgICAgcmVhc29uOiBTdHJpbmcocmVhc29uIHx8ICIiKQogICAgfTsKCiAgICBsb2coIltteHN3YXBdIHBvc3RpbmciLCB7IHN3YXBVcmwsIHRyYWNraW5nTGFzdDEwLCByZWFzb24sIG14X3RwOiBwYXlsb2FkLm14X3RwIH0pOwoKICAgIHRyeSB7CiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHN3YXBVcmwsIHsKICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICBoZWFkZXJzOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIgfSwKICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKQogICAgICB9KTsKICAgICAgY29uc3Qgb2sgPSAhIShyZXMgJiYgcmVzLm9rKTsKICAgICAgbG9nKCJbbXhzd2FwXSBwb3N0IHJlc3VsdCIsIG9rLCByZXMgJiYgcmVzLnN0YXR1cyk7CiAgICAgIHJldHVybiBvazsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgbG9nKCJbbXhzd2FwXSBwb3N0IGZhaWxlZCIsIGUpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQoKICBhc3luYyBmdW5jdGlvbiBhdHRlbXB0U2VuZChyZWFzb24pIHsKICAgIGNvbnN0IHsgbG9jYXRpb25JZCwgc3dhcFVybCB9ID0gZ2V0Q29uZmlnKCk7CiAgICBpZiAoIWxvY2F0aW9uSWQgfHwgIXN3YXBVcmwpIHsKICAgICAgbG9nKCJbbXhzd2FwXSBibG9ja2VkOiBtaXNzaW5nIGNvbmZpZyIsIHsgcmVhc29uLCBsb2NhdGlvbklkLCBzd2FwVXJsIH0pOwogICAgICByZXR1cm47CiAgICB9CgogICAgLy8g4pyFIFNraXAgaWYgRklSU1QgVE9VQ0ggaXMgZGlyZWN0CiAgICBjb25zdCBteFRwR2F0ZSA9IChnZXRDb29raWUoIm14X3RwIikgfHwgImRpcmVjdCIpLnRvTG93ZXJDYXNlKCkudHJpbSgpOwogICAgaWYgKG14VHBHYXRlID09PSAiZGlyZWN0IikgewogICAgICBsb2coIltteHN3YXBdIHNraXBwZWQ6IG14X3RwIGlzIGRpcmVjdCIsIHsgcmVhc29uIH0pOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTsKICAgIGlmIChub3cgLSBsYXN0QXR0ZW1wdEF0IDwgTUlOX0dBUF9NUykgcmV0dXJuOwogICAgbGFzdEF0dGVtcHRBdCA9IG5vdzsKCiAgICBpZiAoaW5GbGlnaHQpIHJldHVybjsKCiAgICBjb25zdCB0ZWxOdW1zID0gZ2V0QWxsVGVsTGFzdDEwKCk7CiAgICBjb25zdCBiZXN0ID0gcGlja01vc3RGcmVxdWVudCh0ZWxOdW1zKTsKCiAgICBpZiAoIWJlc3QpIHJldHVybjsKCiAgICAvLyDinIUgZmxpY2tlciBwcm90ZWN0aW9uOiByZXF1aXJlIHN0YWJsZSBiZXN0IG51bWJlcgogICAgaWYgKCFpc1N0YWJsZShiZXN0KSkgewogICAgICBsb2coIltteHN3YXBdIHdhaXRpbmcgZm9yIHN0YWJsZSB0ZWwgbnVtYmVyIiwgeyBiZXN0LCByZWFzb24gfSk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyDinIUgT3B0aW9uIEEgbG9jazogc2FtZSBsb2NhdGlvbitudW1iZXIgd2l0aGluIDI0aAogICAgaWYgKGlzTG9ja2VkKGxvY2F0aW9uSWQsIGJlc3QpKSB7CiAgICAgIGxvZygiW214c3dhcF0gbG9ja2VkICgyNGgpIGZvciBzYW1lIGxvYytudW1iZXIiLCB7IGxvY2F0aW9uSWQsIGJlc3QsIHJlYXNvbiwgbG9jazogZ2V0TG9jaygpIH0pOwogICAgICByZXR1cm47CiAgICB9CgogICAgaW5GbGlnaHQgPSB0cnVlOwogICAgY29uc3Qgb2sgPSBhd2FpdCBwb3N0U3dhcChsb2NhdGlvbklkLCBzd2FwVXJsLCBiZXN0LCByZWFzb24pOwogICAgaW5GbGlnaHQgPSBmYWxzZTsKCiAgICBpZiAob2spIHsKICAgICAgc2V0TG9jayhsb2NhdGlvbklkLCBiZXN0KTsKCiAgICAgIGlmIChESVNDT05ORUNUX09CU0VSVkVSX0FGVEVSX1NVQ0NFU1MgJiYgb2JzKSB7CiAgICAgICAgdHJ5IHsgb2JzLmRpc2Nvbm5lY3QoKTsgfSBjYXRjaCAoZSkge30KICAgICAgICBvYnMgPSBudWxsOwogICAgICAgIGxvZygiW214c3dhcF0gb2JzZXJ2ZXIgZGlzY29ubmVjdGVkIGFmdGVyIHN1Y2Nlc3MiKTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gaW5zdGFsbE9ic2VydmVyKCkgewogICAgaWYgKG9icykgcmV0dXJuOwoKICAgIGxldCBtdXRUaW1lciA9IG51bGw7CiAgICBvYnMgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7CiAgICAgIHRyeSB7IGlmIChtdXRUaW1lcikgY2xlYXJUaW1lb3V0KG11dFRpbWVyKTsgfSBjYXRjaCAoZSkge30KICAgICAgbXV0VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IGF0dGVtcHRTZW5kKCJtdXRhdGlvbl9kZWJvdW5jZWQiKSwgTVVUQVRJT05fREVCT1VOQ0VfTVMpOwogICAgfSk7CgogICAgb2JzLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7CiAgICAgIHN1YnRyZWU6IHRydWUsCiAgICAgIGNoaWxkTGlzdDogdHJ1ZSwKICAgICAgYXR0cmlidXRlczogdHJ1ZSwKICAgICAgYXR0cmlidXRlRmlsdGVyOiBbImhyZWYiXQogICAgfSk7CiAgfQoKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgLy8gQm9vdAogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBzdG9yZUxhbmRpbmdBbmRVdG1zT25jZSgpOwoKICBmdW5jdGlvbiBib290V2hlblJlYWR5KCkgewogICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpOwogICAgY29uc3QgbWF4TXMgPSAxMDAwMDsKCiAgICBjb25zdCB0aWNrID0gKCkgPT4gewogICAgICBjb25zdCB7IGxvY2F0aW9uSWQsIHN3YXBVcmwgfSA9IGdldENvbmZpZygpOwogICAgICBpZiAobG9jYXRpb25JZCAmJiBzd2FwVXJsKSB7CiAgICAgICAgbG9nKCJbbXhzd2FwXSBib290IE9LIiwgeyBsb2NhdGlvbklkLCBzd2FwVXJsIH0pOwoKICAgICAgICBpZiAoU0tJUF9JRl9OT19URUxfTElOS1MgJiYgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FbaHJlZl49InRlbDoiXScpKSB7CiAgICAgICAgICBsb2coIltteHN3YXBdIHNraXBwZWQ6IG5vIHRlbCBsaW5rcyBvbiBwYWdlIik7CiAgICAgICAgICB3aW5kb3cuX19NWFNXQVBfVEVTVF9fID0gbWFrZVRlc3RIb29rKCk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBhdHRlbXB0U2VuZCgiaW5pdCIpOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCAoKSA9PiBhdHRlbXB0U2VuZCgiZG9tY29udGVudGxvYWRlZCIpKTsKICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IGF0dGVtcHRTZW5kKCJsb2FkIikpOwoKICAgICAgICAvLyBzaG9ydCByZXRyeSB3aW5kb3cgZm9yIGxhdGUgdGVsIHJlbmRlcmluZwogICAgICAgIGxldCB0cmllcyA9IDA7CiAgICAgICAgY29uc3QgbWF4VHJpZXMgPSAxMjsKICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHsKICAgICAgICAgIHRyaWVzKys7CiAgICAgICAgICBhdHRlbXB0U2VuZCgiaW50ZXJ2YWxfIiArIHRyaWVzKTsKICAgICAgICAgIGlmICh0cmllcyA+PSBtYXhUcmllcykgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7CiAgICAgICAgfSwgMTAwMCk7CgogICAgICAgIGluc3RhbGxPYnNlcnZlcigpOwoKICAgICAgICB3aW5kb3cuX19NWFNXQVBfVEVTVF9fID0gbWFrZVRlc3RIb29rKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoRGF0ZS5ub3coKSAtIHN0YXJ0ID4gbWF4TXMpIHsKICAgICAgICBsb2coIltteHN3YXBdIGJvb3QgRkFJTEVEOiBubyBjb25maWcgYWZ0ZXIgMTBzIiwgZ2V0Q29uZmlnKCkpOwogICAgICAgIHdpbmRvdy5fX01YU1dBUF9URVNUX18gPSBtYWtlVGVzdEhvb2soKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHNldFRpbWVvdXQodGljaywgMjUwKTsKICAgIH07CgogICAgdGljaygpOwogIH0KCiAgZnVuY3Rpb24gbWFrZVRlc3RIb29rKCkgewogICAgcmV0dXJuIHsKICAgICAgYXR0ZW1wdFNlbmQsCiAgICAgIGdldENvbmZpZywKICAgICAgZ2V0VGVsTnVtczogKCkgPT4gZ2V0QWxsVGVsTGFzdDEwKCksCiAgICAgIHNpbmdsZXRvbjogKCkgPT4gKHdpbmRvdy5fX01YU1dBUF9MT0FERURfXyA9PT0gdHJ1ZSksCiAgICAgIGdldE14VHA6ICgpID0+IChnZXRDb29raWUoIm14X3RwIikgfHwgImRpcmVjdCIpLnRvTG93ZXJDYXNlKCkudHJpbSgpLAogICAgICBnZXRMb2NrLAogICAgICBjbGVhckxvY2s6ICgpID0+IHsKICAgICAgICAvLyBiZXN0LWVmZm9ydCBjbGVhciAoc2V0IGV4cGlyZWQpCiAgICAgICAgc2V0Q29va2llSG91cnMoQ09PS0lFX0xPQ0tfU0VOVCwgIiIsIC0xKTsKICAgICAgICBzZXRDb29raWVIb3VycyhDT09LSUVfTE9DS19UUywgIiIsIC0xKTsKICAgICAgfQogICAgfTsKICB9CgogIGJvb3RXaGVuUmVhZHkoKTsKfSkoKTs=" defer="defer" data-cfasync="false" defer></script><script src="data:text/javascript;base64,KGZ1bmN0aW9uICgpIHsKICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAvLyBNYXR5eCBDb21iaW5lZCBBdHRyaWJ1dGlvbiAoQ29va2llICsgVVJMIFN0YW1wZXIpIOKAlCB2My4zCiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBDb25maWcKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdmFyIERBWVNfVE9fS0VFUCA9IDMwOwoKICB2YXIgQ09PS0lFX1RQICAgICAgID0gIm14X3RwIjsgICAgICAgLy8gZmlyc3QgdG91Y2ggKHN0aWNreSkKICB2YXIgQ09PS0lFX0xBU1QgICAgID0gIm14X2xhc3QiOyAgICAgLy8gbGFzdCB0b3VjaCAodXBkYXRlcykKICB2YXIgQ09PS0lFX0xQX1VSTCAgID0gIm14X2xwX3VybCI7ICAgLy8gZmlyc3QgbGFuZGluZyBmdWxsIFVSTAogIHZhciBDT09LSUVfVFNfRklSU1QgPSAibXhfdHNfZmlyc3QiOyAvLyB3aGVuIGZpcnN0IHRvdWNoIHdhcyBzZXQKICB2YXIgQ09PS0lFX1RTX0xBU1QgID0gIm14X3RzX2xhc3QiOyAgLy8gd2hlbiBsYXN0IHdhcyBzZXQKCiAgdmFyIFBBUkFNX1RQICAgPSAibXhfdHAiOyAgICAgICAgICAgIC8vIHNob3cgaW4gVVJMCiAgdmFyIFBBUkFNX0xBU1QgPSAibXhfbGFzdCI7ICAgICAgICAgIC8vIG9wdGlvbmFsIHNob3cgaW4gVVJMCiAgdmFyIFNUQU1QX0xBU1RfSU5fVVJMID0gZmFsc2U7ICAgICAgIC8vIGtlZXAgZmFsc2UgdW5sZXNzIHlvdSBleHBsaWNpdGx5IHdhbnQgaXQKCiAgLy8gT3B0aW9uYWw6IGV4Y2x1ZGUgYWRtaW4vbG9naW4gcGF0aHMKICB2YXIgRVhDTFVERV9QQVRIX1BSRUZJWEVTID0gWyIvd3AtYWRtaW4iLCAiL3dwLWxvZ2luLnBocCJdOwoKICAvLyBEZXRlY3Rpb24gaW5wdXRzCiAgdmFyIFBQQ19DTElDS19JRFMgICAgID0gWyJnY2xpZCIsImdicmFpZCIsIndicmFpZCIsIm1zY2xraWQiXTsKICB2YXIgU09DSUFMX0NMSUNLX0lEUyAgPSBbImZiY2xpZCIsInR0Y2xpZCIsInR3Y2xpZCJdOwoKICB2YXIgUFBDX1VUTV9NRURJVU1TICAgICA9IFsiY3BjIiwicHBjIiwicGFpZHNlYXJjaCIsInNlbSJdOwogIHZhciBTT0NJQUxfVVRNX01FRElVTVMgID0gWyJwYWlkX3NvY2lhbCIsInBhaWRzb2NpYWwiLCJzb2NpYWxfcGFpZCJdOwogIHZhciBFTUFJTF9VVE1fTUVESVVNUyAgID0gWyJlbWFpbCIsIm5ld3NsZXR0ZXIiXTsKCiAgdmFyIFNFQVJDSF9IT1NUX0hJTlRTID0gWyJnb29nbGUuIiwiYmluZy4iLCJ5YWhvby4iLCJkdWNrZHVja2dvLiJdOwoKICB2YXIgU09DSUFMX0hPU1RTID0gWwogICAgImZhY2Vib29rLmNvbSIsIm0uZmFjZWJvb2suY29tIiwibC5mYWNlYm9vay5jb20iLCJsbS5mYWNlYm9vay5jb20iLAogICAgImluc3RhZ3JhbS5jb20iLCJsLmluc3RhZ3JhbS5jb20iLAogICAgInQuY28iLCJ4LmNvbSIsInR3aXR0ZXIuY29tIiwKICAgICJsaW5rZWRpbi5jb20iLCJsbmtkLmluIiwKICAgICJwaW50ZXJlc3QuY29tIiwKICAgICJyZWRkaXQuY29tIgogIF07CgogIC8vIEJMT0c6IHBhdGggaGludHMKICB2YXIgQkxPR19QQVRIX0hJTlRTID0gWyIvYmxvZyIsICIvYmxvZ3MiLCAiL25ld3MiLCAiL3Jlc291cmNlcyJdOwoKICAvLyBBbGxvd2VkIGF0dHJpYnV0aW9uIHZhbHVlcyAoa2VlcCB0aWdodCkKICB2YXIgQUxMT1dFRCA9IFsicHBjIiwicGFpZF9zb2NpYWwiLCJlbWFpbCIsIm9yZ2FuaWMiLCJvcmdhbmljX3NvY2lhbCIsInJlZmVycmFsIiwiZGlyZWN0IiwiYmxvZyJdOwoKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgLy8gSGVscGVycwogIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBmdW5jdGlvbiB0b0xvd2VyKHYpIHsgcmV0dXJuICh2ID09IG51bGwgPyAiIiA6IFN0cmluZyh2KSkudG9Mb3dlckNhc2UoKS50cmltKCk7IH0KCiAgZnVuY3Rpb24gaXNFeGNsdWRlZFBhdGgoKSB7CiAgICB0cnkgewogICAgICB2YXIgcCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSB8fCAiLyI7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgRVhDTFVERV9QQVRIX1BSRUZJWEVTLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHAuaW5kZXhPZihFWENMVURFX1BBVEhfUFJFRklYRVNbaV0pID09PSAwKSByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfSBjYXRjaCAoZSkge30KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGlzQWxsb3dlZCh2KSB7CiAgICB2ID0gdG9Mb3dlcih2KTsKICAgIHJldHVybiBBTExPV0VELmluZGV4T2YodikgIT09IC0xOwogIH0KCiAgZnVuY3Rpb24gZ2V0Q29va2llKG5hbWUpIHsKICAgIHRyeSB7CiAgICAgIHZhciBtID0gZG9jdW1lbnQuY29va2llLm1hdGNoKAogICAgICAgIG5ldyBSZWdFeHAoIihefDsgKSIgKyBuYW1lLnJlcGxhY2UoL1stW1xde30oKSorPy4sXFxeJHwjXFxzXS9nLCAiXFwkJiIpICsgIj0oW147XSopIikKICAgICAgKTsKICAgICAgcmV0dXJuIG0gPyBkZWNvZGVVUklDb21wb25lbnQobVsyXSkgOiAiIjsKICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJuICIiOyB9CiAgfQoKICBmdW5jdGlvbiBzZXRDb29raWUobmFtZSwgdmFsdWUsIGRheXMpIHsKICAgIHRyeSB7CiAgICAgIHZhciBwYXJ0cyA9IFtdOwogICAgICBwYXJ0cy5wdXNoKG5hbWUgKyAiPSIgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKTsKICAgICAgcGFydHMucHVzaCgicGF0aD0vIik7CiAgICAgIHBhcnRzLnB1c2goIlNhbWVTaXRlPUxheCIpOwoKICAgICAgaWYgKHR5cGVvZiBkYXlzID09PSAibnVtYmVyIikgewogICAgICAgIHZhciBkID0gbmV3IERhdGUoKTsKICAgICAgICBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyBkYXlzICogMjQgKiA2MCAqIDYwICogMTAwMCk7CiAgICAgICAgcGFydHMucHVzaCgiZXhwaXJlcz0iICsgZC50b1VUQ1N0cmluZygpKTsKICAgICAgfQoKICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCA9PT0gImh0dHBzOiIpIHBhcnRzLnB1c2goIlNlY3VyZSIpOwogICAgICBkb2N1bWVudC5jb29raWUgPSBwYXJ0cy5qb2luKCI7ICIpOwogICAgfSBjYXRjaCAoZSkge30KICB9CgogIGZ1bmN0aW9uIHNhZmVVcmwoc3RyKSB7CiAgICB0cnkgeyByZXR1cm4gbmV3IFVSTChTdHJpbmcoc3RyIHx8ICIiKSk7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIG51bGw7IH0KICB9CgogIGZ1bmN0aW9uIHVybEhhc0FueVBhcmFtKHVybE9iaiwgbmFtZXMpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKyspIHsKICAgICAgaWYgKHVybE9iai5zZWFyY2hQYXJhbXMuaGFzKG5hbWVzW2ldKSkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBnZXRVdG1NZWRpdW0odXJsT2JqKSB7CiAgICB0cnkgeyByZXR1cm4gKHVybE9iai5zZWFyY2hQYXJhbXMuZ2V0KCJ1dG1fbWVkaXVtIikgfHwgIiIpLnRvTG93ZXJDYXNlKCk7IH0KICAgIGNhdGNoIChlKSB7IHJldHVybiAiIjsgfQogIH0KCiAgZnVuY3Rpb24gaG9zdE1hdGNoZXMoaG9zdCwgY2FuZGlkYXRlcykgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYW5kaWRhdGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBjID0gY2FuZGlkYXRlc1tpXTsKICAgICAgaWYgKGhvc3QgPT09IGMpIHJldHVybiB0cnVlOwogICAgICBpZiAoaG9zdC5lbmRzV2l0aCgiLiIgKyBjKSkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBpc0ludGVybmFsUmVmZXJyZXIocmVmVXJsU3RyKSB7CiAgICB0cnkgewogICAgICBpZiAoIXJlZlVybFN0cikgcmV0dXJuIGZhbHNlOwogICAgICB2YXIgcmVmID0gbmV3IFVSTChyZWZVcmxTdHIpOwogICAgICByZXR1cm4gcmVmLmhvc3RuYW1lID09PSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7CiAgICB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfQogIH0KCiAgZnVuY3Rpb24gc3RhbXBVcmxQYXJhbSh1LCBrZXksIHZhbCkgewogICAgdHJ5IHsKICAgICAgaWYgKCF2YWwpIHJldHVybiBmYWxzZTsKICAgICAgdS5zZWFyY2hQYXJhbXMuc2V0KGtleSwgdmFsKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfQogIH0KCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIC8vIEJMT0cgZGV0ZWN0b3JzCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIGZ1bmN0aW9uIGhhc0JvZHlDbGFzcyhjbHMpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0ICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGNscyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGlzV3BCbG9nUG9zdFBhZ2UoKSB7CiAgICB0cnkgewogICAgICBpZiAoaGFzQm9keUNsYXNzKCJzaW5nbGUtcG9zdCIpKSByZXR1cm4gdHJ1ZTsKICAgICAgaWYgKGhhc0JvZHlDbGFzcygicG9zdC10ZW1wbGF0ZS1kZWZhdWx0IikpIHJldHVybiB0cnVlOwogICAgICBpZiAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSAmJiBTdHJpbmcoZG9jdW1lbnQuYm9keS5jbGFzc05hbWUpLmluZGV4T2YoInBvc3RpZC0iKSAhPT0gLTEpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfSBjYXRjaCAoZSkge30KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGlzQmxvZ1VybCh1cmxTdHIpIHsKICAgIHRyeSB7CiAgICAgIHZhciB1ID0gc2FmZVVybCh1cmxTdHIpOwogICAgICBpZiAoIXUpIHJldHVybiBmYWxzZTsKICAgICAgdmFyIHAgPSAodS5wYXRobmFtZSB8fCAiLyIpLnRvTG93ZXJDYXNlKCk7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgQkxPR19QQVRIX0hJTlRTLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGhpbnQgPSBTdHJpbmcoQkxPR19QQVRIX0hJTlRTW2ldIHx8ICIiKS50b0xvd2VyQ2FzZSgpOwogICAgICAgIGlmICghaGludCkgY29udGludWU7CiAgICAgICAgaWYgKHAgPT09IGhpbnQgfHwgcC5pbmRleE9mKGhpbnQgKyAiLyIpID09PSAwIHx8IHAuaW5kZXhPZihoaW50KSA9PT0gMCkgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0gY2F0Y2ggKGUpIHt9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgLy8gRGV0ZWN0aW9uCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIGZ1bmN0aW9uIGRldGVjdFRwKGN1clVybCkgewogICAgdmFyIHV0bU1lZGl1bSA9IGdldFV0bU1lZGl1bShjdXJVcmwpOwoKICAgIC8vIFBhaWQgd2lucwogICAgaWYgKHVybEhhc0FueVBhcmFtKGN1clVybCwgUFBDX0NMSUNLX0lEUykgfHwgUFBDX1VUTV9NRURJVU1TLmluZGV4T2YodXRtTWVkaXVtKSAhPT0gLTEpIHJldHVybiAicHBjIjsKICAgIGlmICh1cmxIYXNBbnlQYXJhbShjdXJVcmwsIFNPQ0lBTF9DTElDS19JRFMpIHx8IFNPQ0lBTF9VVE1fTUVESVVNUy5pbmRleE9mKHV0bU1lZGl1bSkgIT09IC0xKSByZXR1cm4gInBhaWRfc29jaWFsIjsKICAgIGlmIChFTUFJTF9VVE1fTUVESVVNUy5pbmRleE9mKHV0bU1lZGl1bSkgIT09IC0xKSByZXR1cm4gImVtYWlsIjsKCiAgICAvLyBCbG9nIHBhZ2UgaXRzZWxmCiAgICBpZiAoaXNXcEJsb2dQb3N0UGFnZSgpIHx8IGlzQmxvZ1VybChjdXJVcmwudG9TdHJpbmcoKSkpIHJldHVybiAiYmxvZyI7CgogICAgLy8gUmVmZXJyZXIgZmFsbGJhY2sKICAgIHRyeSB7CiAgICAgIHZhciByZWYgPSBkb2N1bWVudC5yZWZlcnJlciB8fCAiIjsKICAgICAgaWYgKCFyZWYpIHJldHVybiAiZGlyZWN0IjsKCiAgICAgIC8vIEludGVybmFsIHJlZmVycmVyOiBkb24ndCBjYWxsIGl0IHJlZmVycmFsLgogICAgICBpZiAoaXNJbnRlcm5hbFJlZmVycmVyKHJlZikpIHsKICAgICAgICBpZiAoaXNCbG9nVXJsKHJlZikpIHJldHVybiAiYmxvZyI7CiAgICAgICAgcmV0dXJuIG51bGw7IC8vIG5vIGNoYW5nZQogICAgICB9CgogICAgICB2YXIgcmVmSG9zdCA9IG5ldyBVUkwocmVmKS5ob3N0bmFtZS5yZXBsYWNlKC9ed3d3XC4vaSwgIiIpLnRvTG93ZXJDYXNlKCk7CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IFNFQVJDSF9IT1NUX0hJTlRTLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHJlZkhvc3QuaW5kZXhPZihTRUFSQ0hfSE9TVF9ISU5UU1tpXSkgIT09IC0xKSByZXR1cm4gIm9yZ2FuaWMiOwogICAgICB9CgogICAgICBpZiAoaG9zdE1hdGNoZXMocmVmSG9zdCwgU09DSUFMX0hPU1RTKSkgcmV0dXJuICJvcmdhbmljX3NvY2lhbCI7CgogICAgICByZXR1cm4gInJlZmVycmFsIjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgcmV0dXJuICJkaXJlY3QiOwogICAgfQogIH0KCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIC8vIE1haW4KICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZnVuY3Rpb24gcnVuKCkgewogICAgaWYgKGlzRXhjbHVkZWRQYXRoKCkpIHJldHVybjsKCiAgICB2YXIgY3VyID0gc2FmZVVybCh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICBpZiAoIWN1cikgcmV0dXJuOwoKICAgIC8vIFN0b3JlIGZpcnN0IGxhbmRpbmcgZnVsbCBVUkwgb25jZQogICAgaWYgKCFnZXRDb29raWUoQ09PS0lFX0xQX1VSTCkpIHsKICAgICAgc2V0Q29va2llKENPT0tJRV9MUF9VUkwsIFN0cmluZyhjdXIudG9TdHJpbmcoKSksIERBWVNfVE9fS0VFUCk7CiAgICB9CgogICAgdmFyIGZpcnN0RXhpc3RpbmcgPSB0b0xvd2VyKGdldENvb2tpZShDT09LSUVfVFApIHx8ICIiKTsKICAgIHZhciBsYXN0RXhpc3RpbmcgID0gdG9Mb3dlcihnZXRDb29raWUoQ09PS0lFX0xBU1QpIHx8ICIiKTsKCiAgICAvLyAxKSBJZiBVUkwgaGFzIG14X3RwLCBPTkxZIHVzZSBpdCB0byBzZWVkIEZJUlNUIFRPVUNIIGlmIHdlIGRvbid0IGhhdmUgb25lIHlldAogICAgdmFyIHVybFRwID0gdG9Mb3dlcihjdXIuc2VhcmNoUGFyYW1zLmdldChQQVJBTV9UUCkgfHwgIiIpOwogICAgaWYgKHVybFRwICYmIGlzQWxsb3dlZCh1cmxUcCkgJiYgIWZpcnN0RXhpc3RpbmcpIHsKICAgICAgc2V0Q29va2llKENPT0tJRV9UUCwgdXJsVHAsIERBWVNfVE9fS0VFUCk7CiAgICAgIHNldENvb2tpZShDT09LSUVfVFNfRklSU1QsIFN0cmluZyhEYXRlLm5vdygpKSwgREFZU19UT19LRUVQKTsKCiAgICAgIHNldENvb2tpZShDT09LSUVfTEFTVCwgdXJsVHAsIERBWVNfVE9fS0VFUCk7CiAgICAgIHNldENvb2tpZShDT09LSUVfVFNfTEFTVCwgU3RyaW5nKERhdGUubm93KCkpLCBEQVlTX1RPX0tFRVApOwoKICAgICAgZmlyc3RFeGlzdGluZyA9IHVybFRwOwogICAgICBsYXN0RXhpc3RpbmcgPSB1cmxUcDsKICAgIH0KCiAgICAvLyAyKSBEZXRlY3Rpb24gdXBkYXRlcyBsYXN0IHRvdWNoIChhbmQgc2VlZHMgZmlyc3QgaWYgc3RpbGwgbWlzc2luZykKICAgIHZhciBkZXRlY3RlZCA9IGRldGVjdFRwKGN1cik7CgogICAgaWYgKGRldGVjdGVkKSB7CiAgICAgIGlmICghaXNBbGxvd2VkKGRldGVjdGVkKSkgZGV0ZWN0ZWQgPSAiZGlyZWN0IjsKCiAgICAgIC8vIEVuc3VyZSBmaXJzdCBleGlzdHMKICAgICAgaWYgKCFmaXJzdEV4aXN0aW5nKSB7CiAgICAgICAgc2V0Q29va2llKENPT0tJRV9UUCwgZGV0ZWN0ZWQsIERBWVNfVE9fS0VFUCk7CiAgICAgICAgc2V0Q29va2llKENPT0tJRV9UU19GSVJTVCwgU3RyaW5nKERhdGUubm93KCkpLCBEQVlTX1RPX0tFRVApOwogICAgICAgIGZpcnN0RXhpc3RpbmcgPSBkZXRlY3RlZDsKICAgICAgfQoKICAgICAgLy8gVXBkYXRlIGxhc3QgdG91Y2ggaWYgaXQgY2hhbmdlZAogICAgICBpZiAoZGV0ZWN0ZWQgIT09IGxhc3RFeGlzdGluZykgewogICAgICAgIHNldENvb2tpZShDT09LSUVfTEFTVCwgZGV0ZWN0ZWQsIERBWVNfVE9fS0VFUCk7CiAgICAgICAgc2V0Q29va2llKENPT0tJRV9UU19MQVNULCBTdHJpbmcoRGF0ZS5ub3coKSksIERBWVNfVE9fS0VFUCk7CiAgICAgICAgbGFzdEV4aXN0aW5nID0gZGV0ZWN0ZWQ7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIC8vIE5vIGNoYW5nZSBkZXRlY3RlZCAoaW50ZXJuYWwgcmVmZXJyZXIgY2FzZSkKICAgICAgLy8gRW5zdXJlIG14X2xhc3QgZXhpc3RzIGF0IGxlYXN0CiAgICAgIGlmIChmaXJzdEV4aXN0aW5nICYmICFsYXN0RXhpc3RpbmcpIHsKICAgICAgICBzZXRDb29raWUoQ09PS0lFX0xBU1QsIGZpcnN0RXhpc3RpbmcsIERBWVNfVE9fS0VFUCk7CiAgICAgICAgc2V0Q29va2llKENPT0tJRV9UU19MQVNULCBTdHJpbmcoRGF0ZS5ub3coKSksIERBWVNfVE9fS0VFUCk7CiAgICAgICAgbGFzdEV4aXN0aW5nID0gZmlyc3RFeGlzdGluZzsKICAgICAgfQogICAgfQoKICAgIC8vIFJlZnJlc2ggY29va2llIHZhbHVlcyAoYXV0aG9yaXRhdGl2ZSkKICAgIHZhciBjb29raWVUcE5vdyA9IHRvTG93ZXIoZ2V0Q29va2llKENPT0tJRV9UUCkgfHwgIiIpOwogICAgdmFyIGNvb2tpZUxhc3ROb3cgPSB0b0xvd2VyKGdldENvb2tpZShDT09LSUVfTEFTVCkgfHwgIiIpOwoKICAgIGlmICghY29va2llVHBOb3cpIGNvb2tpZVRwTm93ID0gImRpcmVjdCI7CgogICAgLy8gMykgQlJBTkRJTkcgUlVMRTogVVJMIG14X3RwIEFMV0FZUyBtaXJyb3JzIGNvb2tpZSBteF90cCAob25jZSBjb29raWUgZXhpc3RzKQogICAgLy8gICAgSWYgY29va2llIGV4aXN0cyBhbmQgVVJMIGRpZmZlcnMsIG92ZXJ3cml0ZSBVUkwuCiAgICB2YXIgY2hhbmdlZCA9IGZhbHNlOwogICAgdmFyIHVybFRwTm93ID0gdG9Mb3dlcihjdXIuc2VhcmNoUGFyYW1zLmdldChQQVJBTV9UUCkgfHwgIiIpOwoKICAgIGlmIChjb29raWVUcE5vdyAmJiBpc0FsbG93ZWQoY29va2llVHBOb3cpKSB7CiAgICAgIGlmICh1cmxUcE5vdyAhPT0gY29va2llVHBOb3cpIHsKICAgICAgICBjaGFuZ2VkID0gc3RhbXBVcmxQYXJhbShjdXIsIFBBUkFNX1RQLCBjb29raWVUcE5vdykgfHwgY2hhbmdlZDsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgLy8gSWYgY29va2llIHZhbHVlIGlzIHNvbWVob3cgaW52YWxpZCwgZmFsbCBiYWNrIHRvIHN0YW1waW5nIGNvbXB1dGVkIGZpcnN0RXhpc3RpbmcKICAgICAgdmFyIGZhbGxiYWNrVHAgPSAoZmlyc3RFeGlzdGluZyAmJiBpc0FsbG93ZWQoZmlyc3RFeGlzdGluZykpID8gZmlyc3RFeGlzdGluZyA6ICJkaXJlY3QiOwogICAgICBpZiAoIXVybFRwTm93IHx8ICFpc0FsbG93ZWQodXJsVHBOb3cpIHx8IHVybFRwTm93ICE9PSBmYWxsYmFja1RwKSB7CiAgICAgICAgY2hhbmdlZCA9IHN0YW1wVXJsUGFyYW0oY3VyLCBQQVJBTV9UUCwgZmFsbGJhY2tUcCkgfHwgY2hhbmdlZDsKICAgICAgfQogICAgfQoKICAgIC8vIE9wdGlvbmFsOiBzdGFtcCBteF9sYXN0IHRvbyAob2ZmIGJ5IGRlZmF1bHQpCiAgICBpZiAoU1RBTVBfTEFTVF9JTl9VUkwpIHsKICAgICAgaWYgKGNvb2tpZUxhc3ROb3cgJiYgaXNBbGxvd2VkKGNvb2tpZUxhc3ROb3cpKSB7CiAgICAgICAgY2hhbmdlZCA9IHN0YW1wVXJsUGFyYW0oY3VyLCBQQVJBTV9MQVNULCBjb29raWVMYXN0Tm93KSB8fCBjaGFuZ2VkOwogICAgICB9CiAgICB9CgogICAgaWYgKGNoYW5nZWQpIHsKICAgICAgdHJ5IHsgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAiIiwgY3VyLnRvU3RyaW5nKCkpOyB9IGNhdGNoIChlMikge30KICAgIH0KICB9CgogIHJ1bigpOwp9KSgpOw==" defer="defer" data-cfasync="false" defer></script><script src="data:text/javascript;base64,d2luZG93Ll9fTUFUWVhfXyA9IHdpbmRvdy5fX01BVFlYX18gfHwge307CiAgd2luZG93Ll9fTUFUWVhfXy5sb2NhdGlvbklkID0gIjliaFVPZHVndEFKUGdjbU9yWnVaIjsKICB3aW5kb3cuX19NQVRZWF9fLnN3YXBVcmwgPSAiaHR0cHM6Ly9lb3F4ZGllc2Y1cGJybXcubS5waXBlZHJlYW0ubmV0IjsKCiAgLy8gQmFja3dhcmRzLWNvbXBhdCBnbG9iYWxzIChzb21lIHNjcmlwdHMgcmVhZCB0aGVzZSkKICB3aW5kb3cuTUFUWVhfTVhfTE9DQVRJT05fSUQgPSB3aW5kb3cuX19NQVRZWF9fLmxvY2F0aW9uSWQ7CiAgd2luZG93Lk1BVFlYX1NXQVBfVVJMID0gd2luZG93Ll9fTUFUWVhfXy5zd2FwVXJsOw==" defer="defer" data-cfasync="false" defer></script><script src="data:text/javascript;base64,KGZ1bmN0aW9uKCQpIHsKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewoKICAgICAgICAkKCcuZXQtc29jaWFsLWljb25zIC5ldC1zb2NpYWwtaWNvbiBhJykuYXR0ciggJ3RhcmdldCcsICdfYmxhbmsnKTsKICAgICAgICAKICAgIH0pOwp9KShqUXVlcnkpOw==" defer="defer" data-cfasync="false" defer></script><script src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovCnZhciBzYU90dG9EYXRhID0geyJvdHRvX3V1aWQiOiI3OTdjN2U1OC04NjViLTRiYTEtOWRlZi0zYjEwNDIxMDQ2YzIiLCJwYWdlX3VybCI6Imh0dHBzOi8vYmV0dGVyd2F0ZXJhbGFza2EuY29tL3dhdGVyLXNvZnRlbmVyLXN5c3RlbXMtd2FzaWxsYS1hay1scC8iLCJjb250ZXh0IjpudWxsLCJlbmFibGVfbWV0YWRlc2MiOiIxIn07Ci8vIyBzb3VyY2VVUkw9bWV0YXN5bmMtdHJhY2tlci1qcy1leHRyYQovKiBdXT4gKi8=" type="text/javascript" id="metasync-tracker-js-extra" defer="defer" data-cfasync="false" defer></script>
<script type="text/javascript" defer="defer" id="metasync-tracker-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/metasync/public/js/69f0464d5612b747285af855/69f0464d5612b747285af855-8019b0b26eb11bcee60ccf5c364fbee4_otto-tracker.min.js?ver=2.6.4"></script>
<script type="text/javascript" defer="defer" id="metasync-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/metasync/public/js/69f0464d5612b747285af855/69f0464d5612b747285af855-e4e1b5cf8ee2637a1aa9761590f8800d_metasync-public.js?ver=2.6.4"></script>
<script src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovCnZhciBESVZJID0geyJpdGVtX2NvdW50IjoiJWQgSXRlbSIsIml0ZW1zX2NvdW50IjoiJWQgSXRlbXMifTsKdmFyIGV0X2J1aWxkZXJfdXRpbHNfcGFyYW1zID0geyJjb25kaXRpb24iOnsiZGl2aVRoZW1lIjp0cnVlLCJleHRyYVRoZW1lIjpmYWxzZX0sInNjcm9sbExvY2F0aW9ucyI6WyJhcHAiLCJ0b3AiXSwiYnVpbGRlclNjcm9sbExvY2F0aW9ucyI6eyJkZXNrdG9wIjoiYXBwIiwidGFibGV0IjoiYXBwIiwicGhvbmUiOiJhcHAifSwib25sb2FkU2Nyb2xsTG9jYXRpb24iOiJhcHAiLCJidWlsZGVyVHlwZSI6ImZlIn07CnZhciBldF9mcm9udGVuZF9zY3JpcHRzID0geyJidWlsZGVyQ3NzQ29udGFpbmVyUHJlZml4IjoiI2V0LWJvYyIsImJ1aWxkZXJDc3NMYXlvdXRQcmVmaXgiOiIjZXQtYm9jIC5ldC1sIn07CnZhciBldF9wYl9jdXN0b20gPSB7ImFqYXh1cmwiOiJodHRwczovL2JldHRlcndhdGVyYWxhc2thLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCIsImltYWdlc191cmkiOiJodHRwczovL2JldHRlcndhdGVyYWxhc2thLmNvbS93cC1jb250ZW50L3RoZW1lcy9EaXZpL2ltYWdlcyIsImJ1aWxkZXJfaW1hZ2VzX3VyaSI6Imh0dHBzOi8vYmV0dGVyd2F0ZXJhbGFza2EuY29tL3dwLWNvbnRlbnQvdGhlbWVzL0RpdmkvaW5jbHVkZXMvYnVpbGRlci9pbWFnZXMiLCJldF9mcm9udGVuZF9ub25jZSI6IjZjMmVmNzJiOTgiLCJzdWJzY3JpcHRpb25fZmFpbGVkIjoiUGxlYXNlLCBjaGVjayB0aGUgZmllbGRzIGJlbG93IHRvIG1ha2Ugc3VyZSB5b3UgZW50ZXJlZCB0aGUgY29ycmVjdCBpbmZvcm1hdGlvbi4iLCJldF9hYl9sb2dfbm9uY2UiOiI2Y2NjODc3ODY1IiwiZmlsbF9tZXNzYWdlIjoiUGxlYXNlLCBmaWxsIGluIHRoZSBmb2xsb3dpbmcgZmllbGRzOiIsImNvbnRhY3RfZXJyb3JfbWVzc2FnZSI6IlBsZWFzZSwgZml4IHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIsImludmFsaWQiOiJJbnZhbGlkIGVtYWlsIiwiY2FwdGNoYSI6IkNhcHRjaGEiLCJwcmV2IjoiUHJldiIsInByZXZpb3VzIjoiUHJldmlvdXMiLCJuZXh0IjoiTmV4dCIsIndyb25nX2NhcHRjaGEiOiJZb3UgZW50ZXJlZCB0aGUgd3JvbmcgbnVtYmVyIGluIGNhcHRjaGEuIiwid3JvbmdfY2hlY2tib3giOiJDaGVja2JveCIsImlnbm9yZV93YXlwb2ludHMiOiJubyIsImlzX2RpdmlfdGhlbWVfdXNlZCI6IjEiLCJ3aWRnZXRfc2VhcmNoX3NlbGVjdG9yIjoiLndpZGdldF9zZWFyY2giLCJhYl90ZXN0cyI6W10sImlzX2FiX3Rlc3RpbmdfYWN0aXZlIjoiIiwicGFnZV9pZCI6Ijk4NzUiLCJ1bmlxdWVfdGVzdF9pZCI6IiIsImFiX2JvdW5jZV9yYXRlIjoiNSIsImlzX2NhY2hlX3BsdWdpbl9hY3RpdmUiOiJ5ZXMiLCJpc19zaG9ydGNvZGVfdHJhY2tpbmciOiIiLCJ0aW55bWNlX3VyaSI6Imh0dHBzOi8vYmV0dGVyd2F0ZXJhbGFza2EuY29tL3dwLWNvbnRlbnQvdGhlbWVzL0RpdmkvaW5jbHVkZXMvYnVpbGRlci9mcm9udGVuZC1idWlsZGVyL2Fzc2V0cy92ZW5kb3JzIiwiYWNjZW50X2NvbG9yIjoiIzEzMjg0NyIsIndheXBvaW50c19vcHRpb25zIjpbXX07CnZhciBldF9wYl9ib3hfc2hhZG93X2VsZW1lbnRzID0gW107Ci8vIyBzb3VyY2VVUkw9ZGl2aS1jdXN0b20tc2NyaXB0LWpzLWV4dHJhCi8qIF1dPiAqLw==" type="text/javascript" id="divi-custom-script-js-extra" defer="defer" data-cfasync="false" defer></script>
<script type="text/javascript" id="divi-custom-script-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/themes/Divi/js/69f0464d5612b747285af855/69f0464d5612b747285af855-caa6467696abb78c17f9be6c8142c2bb_scripts.min.js?ver=4.27.6"></script>
<script type="text/javascript" id="et_pb_wpt_gravityform-frontend-bundle-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/wp-tools-gravity-forms-divi-module-premium/scripts/69f0464d5612b747285af855/69f0464d5612b747285af855-d923574752bb1f2c0a624db2bce8ee76_frontend-bundle.min.js?ver=8.5.0"></script>
<script type="text/javascript" id="et-core-common-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/themes/Divi/core/admin/js/69f0464d5612b747285af855/69f0464d5612b747285af855-d71b75b2327258b1d01d50590c1f67ca_common.js?ver=4.27.6"></script>
<script type="text/javascript" id="params-cookie-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/ldm-gf-analytics-tracking/js/69f0464d5612b747285af855/69f0464d5612b747285af855-9cc9ff7d9e9bbc292ce4d8f465984690_params-cookie.js"></script>
<script type="text/javascript" id="DiviBars-main-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/divi-bars/assets/js/69f0464d5612b747285af855/69f0464d5612b747285af855-5d07c51fd6eb4054cb7a26f7ce6f5439_main.js?ver=1.9.6"></script>
<script type="text/javascript" id="DiviBars-main-helper-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/divi-bars/assets/js/69f0464d5612b747285af855/69f0464d5612b747285af855-d41d8cd98f00b204e9800998ecf8427e_main.helper.js?ver=1.9.6"></script>
<script type="text/javascript" id="actual-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/divi-bars/assets/js/69f0464d5612b747285af855/69f0464d5612b747285af855-f88958c621f55d206f0321856d8dcea4_actual.min.js?ver=6.9.4"></script>
<script type="text/javascript" id="exit-intent-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/divi-bars/assets/js/69f0464d5612b747285af855/69f0464d5612b747285af855-926d4f7c4a9124ef9f2bb2c3f4dd8540_jquery.exitintent.min.js?ver=6.9.4"></script>
<script type="text/javascript" id="wp-dom-ready-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-includes/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-e4bc17cc45ca91ab0f09dea134975c51_dom-ready.min.js?ver=f77871ff7694fffea381"></script>
<script type="text/javascript" id="wp-hooks-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-includes/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-90e932bd9e62583fc494c00498cfe7f5_hooks.min.js?ver=dd5603f07f9220ed27f1"></script>
<script type="text/javascript" id="wp-i18n-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-includes/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-3a5838d1182eb0b11f5a58bfe26e2529_i18n.min.js?ver=c26c3dc7bed366793375"></script>
<script src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovCndwLmkxOG4uc2V0TG9jYWxlRGF0YSggeyAndGV4dCBkaXJlY3Rpb25cdTAwMDRsdHInOiBbICdsdHInIF0gfSApOwovLyMgc291cmNlVVJMPXdwLWkxOG4tanMtYWZ0ZXIKLyogXV0+ICov" type="text/javascript" id="wp-i18n-js-after" defer="defer" data-cfasync="false" defer></script>
<script type="text/javascript" id="wp-a11y-js" defer="defer" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-includes/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-fc6bf7359b5df821cb6e4f8038a53296_a11y.min.js?ver=cb460b4676c94bd228ed"></script>
<script type="text/javascript" defer="defer" id="gform_json-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/js/69f0464d5612b747285af855/69f0464d5612b747285af855-c58410747c21811997f56094a47b17dd_jquery.json.min.js?ver=2.10.0"></script>
<script src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovCnZhciBnZm9ybV9pMThuID0geyJkYXRlcGlja2VyIjp7ImRheXMiOnsibW9uZGF5IjoiTW8iLCJ0dWVzZGF5IjoiVHUiLCJ3ZWRuZXNkYXkiOiJXZSIsInRodXJzZGF5IjoiVGgiLCJmcmlkYXkiOiJGciIsInNhdHVyZGF5IjoiU2EiLCJzdW5kYXkiOiJTdSJ9LCJtb250aHMiOnsiamFudWFyeSI6IkphbnVhcnkiLCJmZWJydWFyeSI6IkZlYnJ1YXJ5IiwibWFyY2giOiJNYXJjaCIsImFwcmlsIjoiQXByaWwiLCJtYXkiOiJNYXkiLCJqdW5lIjoiSnVuZSIsImp1bHkiOiJKdWx5IiwiYXVndXN0IjoiQXVndXN0Iiwic2VwdGVtYmVyIjoiU2VwdGVtYmVyIiwib2N0b2JlciI6Ik9jdG9iZXIiLCJub3ZlbWJlciI6Ik5vdmVtYmVyIiwiZGVjZW1iZXIiOiJEZWNlbWJlciJ9LCJmaXJzdERheSI6MCwiaWNvblRleHQiOiJTZWxlY3QgZGF0ZSJ9fTsKdmFyIGdmX2xlZ2FjeV9tdWx0aSA9IFtdOwp2YXIgZ2Zvcm1fZ3Jhdml0eWZvcm1zID0geyJzdHJpbmdzIjp7ImludmFsaWRfZmlsZV9leHRlbnNpb24iOiJUaGlzIHR5cGUgb2YgZmlsZSBpcyBub3QgYWxsb3dlZC4gTXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzoiLCJkZWxldGVfZmlsZSI6IkRlbGV0ZSB0aGlzIGZpbGUiLCJpbl9wcm9ncmVzcyI6ImluIHByb2dyZXNzIiwiZmlsZV9leGNlZWRzX2xpbWl0IjoiRmlsZSBleGNlZWRzIHNpemUgbGltaXQiLCJpbGxlZ2FsX2V4dGVuc2lvbiI6IlRoaXMgdHlwZSBvZiBmaWxlIGlzIG5vdCBhbGxvd2VkLiIsIm1heF9yZWFjaGVkIjoiTWF4aW11bSBudW1iZXIgb2YgZmlsZXMgcmVhY2hlZCIsInVua25vd25fZXJyb3IiOiJUaGVyZSB3YXMgYSBwcm9ibGVtIHdoaWxlIHNhdmluZyB0aGUgZmlsZSBvbiB0aGUgc2VydmVyIiwiY3VycmVudGx5X3VwbG9hZGluZyI6IlBsZWFzZSB3YWl0IGZvciB0aGUgdXBsb2FkaW5nIHRvIGNvbXBsZXRlIiwiY2FuY2VsIjoiQ2FuY2VsIiwiY2FuY2VsX3VwbG9hZCI6IkNhbmNlbCB0aGlzIHVwbG9hZCIsImNhbmNlbGxlZCI6IkNhbmNlbGxlZCIsImVycm9yIjoiRXJyb3IiLCJtZXNzYWdlIjoiTWVzc2FnZSJ9LCJ2YXJzIjp7ImltYWdlc191cmwiOiJodHRwczovL2JldHRlcndhdGVyYWxhc2thLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcyJ9fTsKdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyLCJjb2RlIjoiVVNEIn0sImJhc2VfdXJsIjoiaHR0cHM6Ly9iZXR0ZXJ3YXRlcmFsYXNrYS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHBzOi8vYmV0dGVyd2F0ZXJhbGFza2EuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuc3ZnIiwidmVyc2lvbl9oYXNoIjoiZDA5MWQ2OWI0NjFmMzU4NDViMDkwNWM1OThjMGQ0MjEiLCJzdHJpbmdzIjp7Im5ld1Jvd0FkZGVkIjoiTmV3IHJvdyBhZGRlZC4iLCJyb3dSZW1vdmVkIjoiUm93IHJlbW92ZWQiLCJmb3JtU2F2ZWQiOiJUaGUgZm9ybSBoYXMgYmVlbiBzYXZlZC4gIFRoZSBjb250ZW50IGNvbnRhaW5zIHRoZSBsaW5rIHRvIHJldHVybiBhbmQgY29tcGxldGUgdGhlIGZvcm0uIn19OwovLyMgc291cmNlVVJMPWdmb3JtX2dyYXZpdHlmb3Jtcy1qcy1leHRyYQovKiBdXT4gKi8=" type="text/javascript" id="gform_gravityforms-js-extra" defer="defer" data-cfasync="false" defer></script>
<script type="text/javascript" defer="defer" id="gform_gravityforms-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/js/69f0464d5612b747285af855/69f0464d5612b747285af855-59f1aaf0a95a65c62e1d409c575c184f_gravityforms.min.js?ver=2.10.0"></script>
<script type="text/javascript" defer="defer" id="gform_recaptcha-js" data-cfasync="false" defer src="https://www.google.com/recaptcha/api.js?hl=en&ver=6.9.4#038;render=explicit"></script>
<script type="text/javascript" defer="defer" id="gform_masked_input-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/js/69f0464d5612b747285af855/69f0464d5612b747285af855-9f6e1d3ccb6335c760110e9cbd7c33cd_jquery.maskedinput.min.js?ver=2.10.0"></script>
<script type="text/javascript" defer="defer" id="gform_placeholder-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/js/69f0464d5612b747285af855/69f0464d5612b747285af855-a39e45502bab7e9e26723e6ab243e8f8_placeholders.jquery.min.js?ver=2.10.0"></script>
<script type="text/javascript" defer="defer" id="gform_gravityforms_utils-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/assets/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-3f278756f0a3032bed328ff6a9f6c01d_utils.min.js?ver=3f278756f0a3032bed328ff6a9f6c01d"></script>
<script type="text/javascript" defer="defer" id="gform_gravityforms_theme_vendors-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/assets/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-4f8b3915c1c1e1a6800825abd64b03cb_vendor-theme.min.js?ver=4f8b3915c1c1e1a6800825abd64b03cb"></script>
<script src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovCnZhciBnZm9ybV90aGVtZV9jb25maWcgPSB7ImNvbW1vbiI6eyJmb3JtIjp7ImhvbmV5cG90Ijp7InZlcnNpb25faGFzaCI6ImQwOTFkNjliNDYxZjM1ODQ1YjA5MDVjNTk4YzBkNDIxIn0sImFqYXgiOnsiYWpheHVybCI6Imh0dHBzOi8vYmV0dGVyd2F0ZXJhbGFza2EuY29tL3dwLWFkbWluL2FkbWluLWFqYXgucGhwIiwiYWpheF9zdWJtaXNzaW9uX25vbmNlIjoiZjM4YTA1M2Y3MCIsImkxOG4iOnsic3RlcF9hbm5vdW5jZW1lbnQiOiJTdGVwICUxJHMgb2YgJTIkcywgJTMkcyIsInVua25vd25fZXJyb3IiOiJUaGVyZSB3YXMgYW4gdW5rbm93biBlcnJvciBwcm9jZXNzaW5nIHlvdXIgcmVxdWVzdC4gUGxlYXNlIHRyeSBhZ2Fpbi4iLCJlcnJvcl80MDMiOiJUaGUgcmVxdWVzdCB3YXMgYmxvY2tlZCAoNDAzIGVycm9yKSBmb3IgdW5rbm93biBzZWN1cml0eSByZWFzb25zLiBSZW1vdmUgYW55IGNvZGUtbGlrZSB0ZXh0IChzY3JpcHRzIG9yIERCIHF1ZXJpZXMpIGFuZCB0cnkgYWdhaW4uIn19LCJsb2dnaW5nIjp7ImlzX2VuYWJsZWQiOmZhbHNlfX19LCJobXJfZGV2IjoiIiwicHVibGljX3BhdGgiOiJodHRwczovL2JldHRlcndhdGVyYWxhc2thLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2Fzc2V0cy9qcy9kaXN0LyIsImNvbmZpZ19ub25jZSI6IjNiMDI2ZWIyYTAifTsKLy8jIHNvdXJjZVVSTD1nZm9ybV9ncmF2aXR5Zm9ybXNfdGhlbWUtanMtZXh0cmEKLyogXV0+ICov" type="text/javascript" id="gform_gravityforms_theme-js-extra" defer="defer" data-cfasync="false" defer></script>
<script type="text/javascript" defer="defer" id="gform_gravityforms_theme-js" data-cfasync="false" defer src="https://betterwateralaska.com/wp-content/uploads/al_opt_content/SCRIPT/betterwateralaska.com/./wp-content/plugins/gravityforms/assets/js/dist/69f0464d5612b747285af855/69f0464d5612b747285af855-c6a2001023348ccf279dfc6bcec0a654_scripts-theme.min.js?ver=c6a2001023348ccf279dfc6bcec0a654"></script>
<style id="et-builder-module-design-deferred-9875-cached-inline-styles">.et_pb_section_0.et_pb_section,.et_pb_section_1.et_pb_section{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px}.et_pb_image_0{margin-bottom:20px!important;width:100%;max-width:225px;text-align:center}.et_pb_text_0{line-height:0.75em;font-size:24px;line-height:0.75em;padding-top:0px!important;padding-bottom:0px!important;margin-top:-10px!important;margin-bottom:0px!important}.et_pb_section_2.et_pb_section,.et_pb_section_3.et_pb_section{padding-top:21px;padding-right:0px;padding-bottom:16px;padding-left:0px}.et_pb_row_1.et_pb_row{padding-top:11px!important;padding-right:0px!important;padding-bottom:3px!important;padding-left:0px!important;padding-top:11px;padding-right:0px;padding-bottom:3px;padding-left:0px}.et_pb_text_1.et_pb_text,.et_pb_text_4.et_pb_text{color:#0E124B!important}.et_pb_text_1{line-height:1em;font-family: